Melampirkan block storage yang andal ke VM TPU

VM TPU mencakup boot disk 100 GiB. Untuk beberapa skenario, VM TPU Anda mungkin memerlukan penyimpanan tambahan untuk pelatihan atau praproses. Anda dapat menambahkan volume Google Cloud Hyperdisk atau Persistent Disk (PD) untuk memperluas kapasitas disk lokal Anda.

Untuk performa tertinggi dan fitur lanjutan, Google merekomendasikan penggunaan Hyperdisk jika tersedia untuk TPU Anda. Jika tidak, gunakan Persistent Disk. Untuk mengetahui informasi selengkapnya tentang opsi penyimpanan blok di Compute Engine, lihat Memilih jenis disk.

Dukungan TPU untuk Hyperdisk dan Persistent Disk

Tabel berikut menunjukkan jenis disk yang didukung untuk setiap versi TPU:

Versi TPU Jenis disk yang didukung PD maksimum per VM
(termasuk disk boot)
v6e Hyperdisk Balanced
Hyperdisk ML
PD tidak didukung oleh v6e
v5p Persistent Disk Seimbang 128
v5e Persistent Disk Seimbang 128
v4 Persistent Disk Seimbang 128
v3 Persistent Disk Seimbang 128
v2 Persistent Disk Seimbang 128

Mode akses

Anda dapat mengonfigurasi disk yang terpasang ke TPU dalam mode penulis tunggal atau hanya baca, seperti yang ditunjukkan dalam tabel berikut:

Mode akses Deskripsi Nilai di Compute Engine API Nilai dalam Cloud TPU API Jenis disk yang didukung
Mode penulis tunggal Ini adalah mode akses default. Memungkinkan disk dipasang ke paling banyak satu instance kapan saja. Instance memiliki akses baca-tulis ke disk. READ_WRITE_SINGLE read-write
  • Hyperdisk Balanced
  • Hyperdisk ML
  • Persistent Disk Seimbang
Mode hanya baca Memungkinkan pemasangan serentak ke beberapa instance dalam mode hanya baca. Instance tidak dapat menulis ke disk dalam mode ini. Diperlukan untuk berbagi hanya baca. READ_ONLY_MANY read-only
  • Hyperdisk Balanced
  • Persistent Disk Seimbang

Anda dapat mengonfigurasi disk yang terpasang ke TPU host tunggal (misalnya, v6e-8, v5p-8, atau v5litepod-8) dalam mode penulis tunggal atau hanya baca.

Saat Anda memasang disk ke TPU multi-host, disk tersebut akan dipasang ke setiap VM di TPU tersebut. Untuk mencegah dua atau beberapa VM TPU menulis ke disk secara bersamaan, Anda harus mengonfigurasi semua disk yang terpasang ke TPU multi-host sebagai hanya baca. Disk hanya baca berguna untuk menyimpan set data untuk diproses pada slice TPU.

Prasyarat

Anda harus menyiapkan akun dan project Google Cloud sebelum menggunakan prosedur berikut. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan lingkungan Cloud TPU.

Buat disk

Gunakan perintah berikut untuk membuat disk:

$ gcloud compute disks create DISK_NAME \
    --size DISK_SIZE  \
    --zone ZONE \
    --type DISK_TYPE

Deskripsi tanda perintah

DISK_NAME
Nama disk baru.
DISK_SIZE
Ukuran disk baru. Nilainya harus berupa bilangan bulat yang diikuti dengan unit ukuran GB untuk gibibyte, atau TB untuk tebibyte. Jika tidak ada unit ukuran yang ditentukan, GB akan digunakan.
ZONE
Nama zona tempat disk baru akan dibuat. Zona ini harus sama dengan zona yang digunakan untuk membuat TPU.
DISK_TYPE
Jenis disk. Gunakan salah satu nilai berikut: hyperdisk-balanced, hyperdisk-ml, atau pd-balanced.

Untuk Hyperdisk, Anda dapat secara opsional menentukan tanda --access-mode dengan salah satu nilai berikut:

  • READ_WRITE_SINGLE: Akses baca-tulis dari satu instance. Ini adalah defaultnya.
  • READ_ONLY_MANY: (Khusus Hyperdisk ML) Akses baca saja serentak dari beberapa instance.

Untuk mengetahui informasi selengkapnya tentang cara membuat disk, lihat Membuat volume Hyperdisk baru dan Membuat volume Persistent Disk baru.

Melampirkan disk

Anda dapat melampirkan volume disk ke VM TPU saat membuat VM TPU, atau Anda dapat melampirkannya setelah VM TPU dibuat.

Memasang disk saat Anda membuat VM TPU

Gunakan flag --data-disk untuk melampirkan volume disk saat Anda membuat VM TPU.

Jika Anda membuat TPU multi-host, Anda harus menentukan mode=read-only (khusus Hyperdisk ML dan Persistent Disk Seimbang). Jika Anda membuat TPU host tunggal, Anda dapat menentukan mode=read-only (khusus Hyperdisk ML dan Persistent Disk Seimbang) atau mode=read-write. Untuk mengetahui informasi selengkapnya, lihat Mode akses.

Contoh berikut menunjukkan cara melampirkan volume disk saat membuat VM TPU menggunakan sumber daya dalam antrean:

$ gcloud compute tpus queued-resources create QR_NAME \
    --node-id=TPU_NAME
    --project PROJECT_ID \
    --zone=ZONE \
    --accelerator-type=ACCELERATOR_TYPE \
    --runtime-version=TPU_SOFTWARE_VERSION \
    --data-disk source=projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME,mode=MODE

Deskripsi tanda perintah

QR_NAME
Nama permintaan resource yang diantrekan.
TPU_NAME
Nama TPU baru.
PROJECT_ID
ID Google Cloud project tempat TPU akan dibuat.
ZONE
Nama zona tempat Cloud TPU akan dibuat.
ACCELERATOR_TYPE
Jenis akselerator menentukan versi dan ukuran Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat Versi TPU.
TPU_SOFTWARE_VERSION
Versi software TPU.
DISK_NAME
Nama disk yang akan dilampirkan ke VM TPU.
MODE
Mode disk. Mode harus salah satu dari: read-only atau read-write. Jika tidak ditentukan, mode defaultnya adalah read-write. Untuk mengetahui informasi selengkapnya, lihat Mode akses.

Anda juga dapat melampirkan disk saat membuat VM TPU menggunakan perintah gcloud compute tpus tpu-vm create:

$ gcloud compute tpus tpu-vm create TPU_NAME \
    --project PROJECT_ID \
    --zone=ZONE \
    --accelerator-type=ACCELERATOR_TYPE \
    --version=TPU_SOFTWARE_VERSION \
    --data-disk source=projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME,mode=MODE

Deskripsi tanda perintah

TPU_NAME
Nama TPU baru.
PROJECT_ID
ID Google Cloud project tempat TPU akan dibuat.
ZONE
Nama zona tempat Cloud TPU akan dibuat.
ACCELERATOR_TYPE
Jenis akselerator menentukan versi dan ukuran Cloud TPU yang ingin Anda buat. Untuk mengetahui informasi selengkapnya tentang jenis akselerator yang didukung untuk setiap versi TPU, lihat Versi TPU.
TPU_SOFTWARE_VERSION
Versi software TPU.
DISK_NAME
Nama disk yang akan dilampirkan ke VM TPU.
MODE
Mode disk. Mode harus salah satu dari: read-only atau read-write. Jika tidak ditentukan, mode defaultnya adalah read-write. Untuk mengetahui informasi selengkapnya, lihat Mode akses.

Memasang disk ke VM TPU yang ada

Gunakan perintah gcloud alpha compute tpus tpu-vm attach-disk untuk melampirkan disk ke VM TPU yang ada.

$ gcloud alpha compute tpus tpu-vm attach-disk TPU_NAME \
    --zone=ZONE \
    --disk=DISK_NAME \
    --mode=MODE

Deskripsi tanda perintah

TPU_NAME
Nama TPU.
ZONE
Zona tempat Cloud TPU berada.
DISK_NAME
Nama disk yang akan dilampirkan ke VM TPU.
MODE
Mode disk. Mode harus salah satu dari: read-only atau read-write. Jika tidak ditentukan, mode defaultnya adalah read-write. Ini harus sesuai dengan mode akses disk.

Jika VM Anda dimatikan karena alasan apa pun, Anda mungkin perlu memasang disk setelah Anda memulai ulang VM. Untuk mengetahui informasi tentang cara mengaktifkan disk agar dipasang secara otomatis saat VM dimulai ulang, lihat Mengonfigurasi pemasangan otomatis saat sistem dimulai ulang.

Untuk mengetahui informasi selengkapnya tentang cara menghapus disk secara otomatis, lihat Mengubah Hyperdisk dan Mengubah Persistent Disk.

Memformat dan memasang disk

Jika Anda memasang disk kosong baru ke VM TPU, Anda harus memformat dan memasang disk tersebut sebelum dapat menggunakannya. Jika Anda memasang disk yang sudah berisi data, Anda harus memasang disk sebelum dapat menggunakannya.

Untuk mengetahui informasi selengkapnya tentang memformat dan memasang non-boot disk, lihat Memformat dan memasang non-boot disk di VM Linux.

  1. Hubungkan ke VM TPU Anda menggunakan SSH:

    $ gcloud compute tpus tpu-vm ssh TPU_NAME --zone ZONE

    Jika Anda menggunakan TPU multi-host, perintah ini akan menghubungkan Anda ke TPU pertama dalam slice TPU (juga disebut worker 0).

  2. Dari VM TPU, buat daftar disk yang terpasang ke VM TPU:

    (vm)$ sudo lsblk

    Output dari perintah lsblk akan terlihat seperti berikut:

    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    loop0     7:0    0  55.5M  1 loop /snap/core18/1997
    loop1     7:1    0  67.6M  1 loop /snap/lxd/20326
    loop2     7:2    0  32.3M  1 loop /snap/snapd/11588
    loop3     7:3    0  32.1M  1 loop /snap/snapd/11841
    loop4     7:4    0  55.4M  1 loop /snap/core18/2066
    sda       8:0    0   300G  0 disk
    ├─sda1    8:1    0 299.9G  0 part /
    ├─sda14   8:14   0     4M  0 part
    └─sda15   8:15   0   106M  0 part /boot/efi
    sdb       8:16   0    10G  0 disk
    

    Dalam contoh ini, sda adalah boot disk dan sdb adalah nama disk yang baru terpasang. Nama disk terpasang bergantung pada jumlah disk yang terpasang ke VM.

    Saat menggunakan TPU multi-host, Anda perlu memasang disk di semua VM TPU dalam slice TPU. Nama disk harus sama untuk semua VM TPU, tetapi tidak dijamin. Misalnya, jika Anda melepaskan lalu memasang kembali disk, nama perangkat akan bertambah, berubah dari sdb menjadi sdc.

  3. Jika disk belum diformat, format disk terlampir menggunakan alat mkfs. Ganti sdb jika disk Anda memiliki nama perangkat yang berbeda. Ganti ext4 jika Anda ingin menggunakan sistem file yang berbeda.

    (vm)$ sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
  4. Buat direktori untuk memasang disk di TPU.

    Jika Anda menggunakan TPU host tunggal, jalankan perintah berikut dari TPU Anda untuk membuat direktori guna memasang disk:

    (vm)$ sudo mkdir -p /mnt/disks/MOUNT_DIR

    Ganti MOUNT_DIR dengan direktori tempat memasang disk.

    Jika Anda menggunakan TPU multi-host, jalankan perintah berikut di luar VM TPU Anda. Perintah ini akan membuat direktori di semua VM TPU dalam slice TPU.

    (vm)$ gcloud compute tpus tpu-vm ssh TPU_NAME --worker=all --command="sudo mkdir -p /mnt/disks/MOUNT_DIR"
  5. Pasang disk ke TPU menggunakan alat mount.

    Jika Anda menggunakan TPU host tunggal, jalankan perintah berikut untuk memasang disk di VM TPU Anda:

    (vm)$ sudo mount -o discard,defaults /dev/sdb /mnt/disks/MOUNT_DIR

    Jika Anda menggunakan TPU multi-host, jalankan perintah berikut di luar VM TPU Anda. Perintah ini akan memasang disk di semua VM TPU dalam slice TPU Anda.

    (vm)$ gcloud compute tpus tpu-vm ssh TPU_NAME --worker=all --command="sudo mount -o discard,defaults /dev/sdb /mnt/disks/MOUNT_DIR"
  6. Konfigurasikan izin baca dan tulis pada disk. Misalnya, perintah berikut memberikan akses tulis ke disk untuk semua pengguna.

    (vm)$ sudo chmod a+w /mnt/disks/MOUNT_DIR

Melepaskan disk

Untuk melepas (melepaskan) disk dari VM TPU, jalankan perintah berikut:

$ gcloud alpha compute tpus tpu-vm detach-disk TPU_NAME \
    --zone=ZONE \
    --disk=DISK_NAME

Deskripsi tanda perintah

TPU_NAME
Nama TPU.
ZONE
Zona tempat Cloud TPU berada.
DISK_NAME
Nama disk yang akan dilepas dari VM TPU.

Pembersihan

Hapus resource Cloud TPU dan Compute Engine Anda setelah selesai menggunakannya.

  1. Putuskan koneksi dari Cloud TPU, jika Anda belum melakukannya:

    (vm)$ exit

    Sekarang perintah Anda akan menjadi username@projectname, yang menunjukkan Anda berada dalam Cloud Shell.

  2. Hapus Cloud TPU Anda:

    $ gcloud compute tpus tpu-vm delete TPU_NAME \
        --zone=ZONE
  3. Pastikan Cloud TPU telah dihapus. Penghapusan mungkin memerlukan waktu beberapa menit.

    $ gcloud compute tpus tpu-vm list --zone=ZONE
  4. Pastikan disk dihapus secara otomatis saat VM TPU dihapus dengan mencantumkan semua disk di zona tempat Anda membuat disk:

    $ gcloud compute disks list --filter="zone:( ZONE )"

    Jika disk tidak dihapus saat VM TPU dihapus, gunakan perintah berikut untuk menghapusnya:

    $ gcloud compute disks delete DISK_NAME \
        --zone ZONE