Jika VM Linux Anda tidak dapat diakses karena alasan apa pun, Anda dapat mencoba menyelamatkan VM menggunakan langkah-langkah berikut.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan demi menyelamatkan VM, minta administrator untuk memberi Anda peran IAM berikut pada project:
-
Admin Instance Compute (v1) (
roles/compute.instanceAdmin.v1
) -
VM yang menggunakan akun layanan:
Pengguna akun layanan (
roles/iam.serviceAccountUser
)
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menyelamatkan VM. Untuk melihat izin pasti yang diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menyelamatkan VM:
-
compute.instances.create
di project -
compute.disks.create
di project -
compute.instances.get
di project -
compute.disks.createSnapshot
pada disk -
compute.instances.attachDisk
pada VM baru -
compute.disks.use
pada disk -
compute.instances.start
pada VM baru dan yang tidak dapat diakses -
compute.instances.stop
pada VM baru dan yang tidak dapat diakses
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran yang telah ditetapkan lainnya.
Menyelamatkan VM
Jika tidak dapat terhubung ke VM, atau boot disk penuh, Anda harus membuat VM sementara untuk menyelamatkan VM yang tidak dapat diakses.
- (Opsional) Hentikan VM yang tidak dapat diakses.
- Buat snapshot dari boot disk VM yang tidak dapat diakses.
- Buat VM sementara menggunakan image publik yang terdekat dengan OS VM yang tidak dapat diakses.
- Periksa apakah Anda dapat terhubung ke VM sementara menggunakan SSH.
Tambahkan disk tambahan ke VM sementara dengan mengikuti langkah-langkah berikut:
Di Konsol Google Cloud, buka halaman VM instances.
Klik nama VM sementara yang Anda buat.
Klik
Edit.Di bagian Additional disks, klik
Add new disk, lalu lakukan hal berikut:- Tambahkan nama disk, seperti my-recovery-disk
- Untuk Source type, pilih tab Snapshot.
- Di menu drop-down Source snapshot, pilih snapshot VM sumber yang Anda buat sebelumnya dalam langkah-langkah ini.
- Klik Done.
Klik Simpan.
Hubungkan ke VM sementara menggunakan SSH:
Jalankan perintah berikut:
ls -l /dev/disk/by-id/google-*
Outputnya akan mirip dengan berikut ini:
/dev/disk/by-id/google-my-vm -> ../../sda /dev/disk/by-id/google-my-vm-part1 -> ../../sda1 /dev/disk/by-id/google-my-vm-part14 -> ../../sda14 /dev/disk/by-id/google-my-vm-part15 -> ../../sda15 /dev/disk/by-id/google-my-recovery-disk -> ../../sdb /dev/disk/by-id/google-my-recovery-disk-part1 -> ../../sdb1 /dev/disk/by-id/google-my-recovery-disk-part2 -> ../../sdb2 /dev/disk/by-id/google-my-recovery-disk-part5 -> ../../sdb5
Gunakan symlink (
/dev/disk/by-id/google-my-recovery-disk-partN
) untuk menemukan perangkat dan partisi dasar untuk disk yang baru ditambahkan, misalnya/dev/sdb1
.Symlink untuk disk adalah google-DISK_NAME atau, jika Anda menentukan nama perangkat khusus untuk disk, google-DEVICE_NAME. Catat nama perangkat yang diarahkan symlink disk baru.
Buat direktori pemasangan di
/mnt/newdisk
:sudo mkdir /mnt/newdisk
Instal partisi disk tambahan ke direktori pemasangan
/mnt/newdisk
:sudo mount -o discard,defaults DISK_NAME /mnt/newdisk
Ganti DISK_NAME dengan nama perangkat yang Anda catat sebelumnya dalam langkah-langkah ini — misalnya
/dev/sdb1
.Jika Anda melihat error
Filesystem has duplicate UUID XXXXXX - can't mount
,mount: /mnt/newdisk: wrong fs type, bad option
, ataubad superblock on /dev/sdb
, gunakan perintah berikut:sudo mount -o nouuid DISK_NAME /mnt/newdisk
Sistem file VM yang tidak dapat diakses kini terpasang di
/mnt/newdisk
. Anda dapat menjelajahi sistem file, mengubah file konfigurasi, memperbaiki masalah, atau mengambil data.
Kembalikan perubahan dan lakukan lagi booting VM yang tidak dapat diakses
Setelah masalah diperbaiki atau data diambil, Anda harus mengembalikan VM yang sebenarnya. Lakukan langkah-langkah berikut untuk memulihkan VM asli:
Lepaskan disk tambahan yang terpasang di
/mnt/newdisk
di VM sementara:cd ~ sudo umount /mnt/newdisk
Di konsol Google Cloud, buka halaman Instance VM.
Pilih VM sementara yang Anda buat.
Klik
Edit.Di bagian Additional disks, klik
untuk disk yang dibuat pada langkah sebelumnya untuk melepaskan disk tambahan dari VM sementara.Klik Simpan.
Buka halaman Instance VM di Konsol Google Cloud.
Jika VM yang tidak dapat diakses masih berjalan, hentikan VM.
Klik nama VM yang baru saja Anda hentikan, lalu klik
Edit.Di bagian Boot disk, klik
Detach book disk untuk melepaskan boot disk yang keluar dari VM yang tidak dapat diakses.Selanjutnya, klik Rescue a VM pada halaman ini.
CONFIGURE BOOT DISK untuk memasang disk yang telah Anda buat dan perbaiki sebelumnya di- Di bagian Boot Disk, klik tab Existing disks.
- Di menu drop-down, pilih disk yang Anda buat di bagian sebelumnya, misalnya
my-recovery-disk
. - Klik Pilih, lalu klik Simpan.
Sekarang Anda dapat terhubung ke VM menggunakan SSH.