Dokumen ini menjelaskan cara menggunakan penamaan perangkat tetap di VM Linux Anda.
Untuk VM yang menggunakan sistem operasi Linux, nama perangkat, misalnya /dev/sda
,
dapat berubah setelah Anda melakukan prosedur berikut:
- Memulai dan menghentikan VM
- Melepaskan dan memasang kembali disk
- Mengubah jenis mesin
Perubahan nama perangkat ini terjadi karena nama perangkat ditetapkan dari rentang yang tersedia setelah VM dimulai atau perangkat dipasang. Melepaskan perangkat atau menghentikan VM akan membebaskan nama perangkat. Saat perangkat dipasang ulang atau VM dimulai ulang, nama perangkat baru akan ditetapkan dari rentang yang tersedia. Kernel Linux tidak menjamin pengurutan perangkat saat mulai ulang.
Perubahan nama perangkat dapat menyebabkan aplikasi atau skrip yang bergantung pada nama perangkat asli tidak berfungsi dengan baik atau dapat menyebabkan VM tidak di-booting setelah dimulai ulang.
Sebaiknya gunakan penamaan perangkat persisten saat merujuk pada disk dan partisi pada VM Linux Anda untuk menghindari masalah ini. Anda juga dapat menggunakan symlink.
Sebelum memulai
- Tinjau pengelolaan perangkat untuk sistem operasi Linux Anda:
-
Siapkan autentikasi, jika Anda belum melakukannya.
Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud.
Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
Konsol
Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.
gcloud
-
Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:
gcloud init
- Menetapkan region dan zona default.
-
Menggunakan penamaan perangkat tetap
Untuk mengonfigurasi nama perangkat persisten, tetapkan nama direktori pemasangan untuk
perangkat disk dalam file fstab
. Ada tiga cara untuk mengonfigurasi nama
perangkat persisten.
- Dengan menggunakan label. Opsi ini mengharuskan sistem file mendukung label dan Anda menambahkan label ke partisi disk.
- Dengan menggunakan partisi atau UUID disk. UUID dihasilkan jika disk dibuat dengan tabel partisi, dan UUID bersifat unik untuk setiap partisi.
- Dengan menggunakan ID persistent disk (
/dev/disk/by-id
) untuk Persistent Disk atau Google Cloud Hyperdisk, atau symlink, yang didasarkan pada nama resource disk.
Sebaiknya gunakan UUID partisi atau symlink untuk VM Linux.
UUID partisi
Untuk menemukan UUID disk, lakukan langkah-langkah berikut:
- Hubungkan ke VM Anda.
Jika tidak tahu nama perangkat {i>disk<i}, Anda dapat menemukan nama perangkat {i>disk <i}menggunakan symlink.
ls -l /dev/disk/by-id/google-*
Outputnya mirip dengan hal berikut ini:
lrwxrwxrwx 1 root root 9 Oct 23 15:58 /dev/disk/by-id/google-my-vm -> ../../sda lrwxrwxrwx 1 root root 10 Oct 23 15:58 /dev/disk/by-id/google-my-vm-part1 -> ../../sda1 lrwxrwxrwx 1 root root 11 Oct 23 15:58 /dev/disk/by-id/google-my-vm-part15 -> ../../sda15 lrwxrwxrwx 1 root root 9 Oct 23 15:58 /dev/disk/by-id/google-my-vm-app-data -> ../../nvme0n1
Ambil UUID partisi untuk disk dengan menjalankan salah satu perintah berikut:
blkid
sudo blkid -s UUID
Outputnya mirip dengan hal berikut ini:
/dev/sda1: UUID="4f570f2d-fffe-4c7d-8d8f-af347af7612a" /dev/sda15: UUID="E0B2-DFAF" /dev/nvme0n1: UUID="9e617251-6a92-45ff-ba40-700a9bdeb03e"
ls -l
sudo ls -l /dev/disk/by-uuid/
Outputnya mirip dengan hal berikut ini:
lrwxrwxrwx 1 root root 10 Sep 22 18:12 4f570f2d-fffe-4c7d-8d8f-af347af7612a -> ../../sda1 lrwxrwxrwx 1 root root 13 Sep 22 18:15 9e617251-6a92-45ff-ba40-700a9bdeb03e -> ../../nvme0n1 lrwxrwxrwx 1 root root 11 Sep 22 18:12 E0B2-DFAF -> ../../sda15
Tambahkan entri untuk UUID perangkat Anda di file
/etc/fstab
.UUID=9e617251-6a92-45ff-ba40-700a9bdeb03e /data ext4 defaults 0 0
Dalam contoh ini,
/data
adalah direktori pemasangan danext4
adalah jenis sistem file.Pastikan perangkat telah terpasang dengan benar dengan menjalankan
mount -av
.sudo mount -av
Jika perangkat berhasil dipasang, outputnya akan mirip dengan berikut:
/ : ignored /boot/efi : already mounted mount: /data does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confine applications will generate AVC messages and not be allowed access to this filesystem. For more details see restorecon(8) and mount(8). /data : successfully mounted
ID persistent disk
Untuk menemukan nama perangkat disk menggunakan ID persistent disk, atau symlink, selesaikan langkah-langkah berikut:
- Hubungkan ke VM Anda.
Ambil ID pada disk dengan menjalankan perintah berikut:
sudo ls -lh /dev/disk/by-id/google-*
Outputnya mirip dengan hal berikut ini:
lrwxrwxrwx. 1 root root 9 May 16 17:34 google-disk-2 -> ../../sdb lrwxrwxrwx. 1 root root 9 May 16 09:09 google-persistent-disk-0 -> ../../sda lrwxrwxrwx. 1 root root 10 May 16 09:09 google-persistent-disk-0-part1 -> ../../sda1 lrwxrwxrwx. 1 root root 10 May 16 09:09 google-persistent-disk-0-part2 -> ../../sda2
Untuk disk
NVME
, outputnya mirip dengan berikut ini:lrwxrwxrwx 1 root root 13 Jun 1 10:27 google-disk-3 -> ../../nvme0n2 lrwxrwxrwx 1 root root 13 Jun 1 10:25 google-t2a -> ../../nvme0n1 lrwxrwxrwx 1 root root 15 Jun 1 10:25 google-t2a-part1 -> ../../nvme0n1p1 lrwxrwxrwx 1 root root 16 Jun 1 10:25 google-t2a-part15 -> ../../nvme0n1p15
Tambahkan symlink ke file
/etc/fstab
./dev/disk/by-id/google-disk-2 /data ext4 defaults 0 0
Pastikan perangkat telah terpasang dengan benar dengan menjalankan
mount -av
.sudo mount -av
Jika perangkat berhasil dipasang, outputnya akan mirip dengan berikut:
/ : ignored /boot/efi : already mounted mount: /data does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confine applications will generate AVC messages and not be allowed access to this file system. For more details see restorecon(8) and mount(8). /data : successfully mounted