Melampirkan block storage yang tahan lama ke VM TPU

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

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 block storage 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 Disk maksimum per VM
(termasuk boot disk)
TPU7x Hyperdisk Balanced
Hyperdisk ML
128
v6e Hyperdisk Balanced
Hyperdisk ML
32
v5p Hyperdisk ML
Persistent Disk Seimbang
128
v5e Hyperdisk ML
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 mode hanya baca, seperti yang ditunjukkan dalam tabel berikut:

Mode akses Deskripsi Nilai di Compute Engine API Nilai di Cloud TPU API Jenis disk yang didukung
Mode penulis tunggal Ini adalah mode akses default. Memungkinkan disk dilampirkan ke maksimal 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 lampiran simultan ke beberapa instance dalam mode hanya baca mode. Instance tidak dapat menulis ke disk dalam mode ini. Diperlukan untuk berbagi hanya baca. READ_ONLY_MANY read-only
  • Hyperdisk ML
  • 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 mode hanya baca.

Saat Anda melampirkan disk ke TPU multi-host, disk akan dilampirkan 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 di slice TPU.

Prasyarat

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

Membuat disk

Gunakan perintah berikut untuk membuat disk:

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

Deskripsi flag 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 flag --access-mode dengan salah satu nilai berikut:

  • READ_WRITE_SINGLE: Akses baca-tulis dari satu instance. Ini adalah nilai default.
  • READ_ONLY_MANY: (Hanya Hyperdisk ML) Akses hanya baca 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.

Melampirkan 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 (hanya Hyperdisk ML dan Persistent Disk Seimbang). Jika Anda membuat TPU host tunggal, Anda dapat menentukan mode=read-only (hanya 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 resource 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 flag perintah

  • QR_NAME: Nama permintaan resource dalam antrean.
  • 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 default-nya adalah read-write. Untuk mengetahui informasi selengkapnya, lihat Mode akses.

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

$ 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 flag 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 default-nya adalah read-write. Untuk mengetahui informasi selengkapnya, lihat Mode akses.

Melampirkan disk ke VM TPU yang ada

Gunakan gcloud alpha compute tpus tpu-vm attach-disk perintah 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 flag 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 default-nya adalah read-write. Mode ini harus sesuai dengan mode akses disk.

Jika VM Anda dimatikan karena alasan apa pun, Anda mungkin perlu memasang disk setelah memulai ulang VM. Untuk mengetahui informasi tentang cara mengaktifkan disk agar otomatis terpasang 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 melampirkan disk kosong baru ke VM TPU, Anda harus memformat dan memasang disk tersebut sebelum dapat menggunakannya. Jika Anda melampirkan disk yang sudah berisi data, Anda harus memasang disk sebelum dapat menggunakannya.

Untuk mengetahui informasi selengkapnya tentang cara 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 di 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 mirip dengan berikut ini:

    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 dilampirkan. Nama disk yang dilampirkan bergantung pada jumlah disk yang dilampirkan ke VM.

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

  3. Jika disk belum diformat, format disk yang dilampirkan 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 untuk membuat direktori tempat 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. 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 Anda 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. 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 melepaskan (melepas) disk dari VM TPU, jalankan perintah berikut:

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

Deskripsi flag perintah

Pembersihan

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

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

    (vm)$ exit

    Kini 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