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 |
|
| 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 |
|
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, ataupd-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-onlyatauread-write. Jika tidak ditentukan, mode default-nya adalahread-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-onlyatauread-write. Jika tidak ditentukan, mode default-nya adalahread-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-onlyatauread-write. Jika tidak ditentukan, mode default-nya adalahread-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.
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).
Dari VM TPU, buat daftar disk yang terpasang ke VM TPU:
(vm)$ sudo lsblk
Output dari perintah
lsblkakan 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,
sdaadalah boot disk dansdbadalah 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
sdbmenjadisdc.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
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"
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"
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
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.
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.Hapus Cloud TPU Anda:
$ gcloud compute tpus tpu-vm delete TPU_NAME \ --zone=ZONE
Pastikan Cloud TPU telah dihapus. Penghapusan mungkin memerlukan waktu beberapa menit.
$ gcloud compute tpus tpu-vm list --zone=ZONE
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