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 |
|
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 |
|
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
, ataupd-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
atauread-write
. Jika tidak ditentukan, mode defaultnya adalahread-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
atauread-write
. Jika tidak ditentukan, mode defaultnya adalahread-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
atauread-write
. Jika tidak ditentukan, mode defaultnya adalahread-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.
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).
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 dansdb
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
menjadisdc
.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
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"
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"
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.
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.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