Dokumen ini berisi informasi pemecahan masalah tentang masalah startup VM karena error kuota dan disk boot.
Error kuota
Jika menerima error kuota saat mencoba memulai instance, Anda harus meminta kuota CPU tambahan. Untuk mengetahui informasi selengkapnya, lihat bagian Instance VM dalam dokumentasi kuota resource.
Boot disk
Jika instance tidak dimulai dan Anda tidak dapat menghubungkannya atau login melalui konsol serial interaktif, identifikasi alasan boot disk tidak menyelesaikan proses booting dan startup.
Mengidentifikasi alasan mengapa boot disk tidak dapat di-booting
Pastikan boot disk Anda tidak penuh.
Jika boot disk Anda sudah penuh dan sistem operasi Anda tidak mendukung pengubahan ukuran otomatis, Anda tidak akan dapat terhubung ke instance. Anda harus membuat instance baru dan membuat ulang boot disk. Untuk informasi selengkapnya, lihat Memulihkan VM atau boot disk lengkap.
Periksa output port serial instance virtual machine Anda.
BIOS, bootloader, dan kernel instance mencetak pesan debug-nya ke dalam output port serial instance, yang memberikan informasi berharga tentang setiap error atau masalah yang dialami instance. Jika mengaktifkan logging output port serial ke Cloud Logging, Anda dapat mengakses informasi ini meskipun instance Anda tidak berjalan.
Aktifkan akses interaktif ke konsol serial.
Anda dapat mengaktifkan akses interaktif ke konsol serial instance sehingga Anda dapat login dan men-debug masalah booting dari dalam instance tanpa mengharuskan instance Anda di-booting sepenuhnya. Untuk informasi selengkapnya, lihat Memecahkan masalah menggunakan konsol serial.
Pastikan disk Anda memiliki sistem file yang valid.
Jika sistem file rusak atau tidak valid, Anda tidak akan dapat meluncurkan instance. Validasi sistem file disk Anda:
Lepaskan disk yang bersangkutan dari instance mana pun yang terpasang, jika memungkinkan:
gcloud compute instances delete old-instance --keep-disks boot
Mulai instance baru dengan image terbaru yang disediakan Google:
gcloud compute instances create debug-instance
Pasang disk sebagai disk non-boot, tetapi jangan pasang. Ganti
DISK
dengan nama disk yang tidak akan di-booting. Perhatikan nama perangkat yang mengidentifikasi disk pada instance:gcloud compute instances attach-disk debug-instance \ --disk DISK \ --device-name debug-disk
Hubungkan ke instance:
gcloud compute ssh debug-instance
Cari partisi root disk, yang diidentifikasi dengan notasi
part1
. Dalam hal ini, partisi root disk berada di/dev/sdb1
:ls -l /dev/disk/by-id total 0 lrwxrwxrwx 1 root root 9 Jan 22 17:09 google-debug-disk -> ../../sdb lrwxrwxrwx 1 root root 10 Jan 22 17:09 google-debug-disk-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Jan 22 17:02 google-persistent-disk-0 -> ../../sda lrwxrwxrwx 1 root root 10 Jan 22 17:02 google-persistent-disk-0-part1 -> ../../sda1 lrwxrwxrwx 1 root root 9 Jan 22 17:09 scsi-0Google_PersistentDisk_debug-disk -> ../../sdb lrwxrwxrwx 1 root root 10 Jan 22 17:09 scsi-0Google_PersistentDisk_debug-disk-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 9 Jan 22 17:02 scsi-0Google_PersistentDisk_persistent-disk-0 -> ../../sda lrwxrwxrwx 1 root root 10 Jan 22 17:02 scsi-0Google_PersistentDisk_persistent-disk-0-part1 -> ../../sda1
Jalankan pemeriksaan sistem file pada partisi root:
sudo fsck /dev/sdb1 fsck from util-linux 2.20.1 e2fsck 1.42.5 (29-Jul-2012) /dev/sdb1: clean, 19829/655360 files, 208111/2621184 blocks
Pasang sistem file Anda:
sudo mkdir /mydisk
sudo mount /dev/sdb1 /mydisk
Periksa apakah disk memiliki file kernel:
ls /mydisk/boot/vmlinuz-* /mydisk/boot/vmlinuz-3.2.0-4-amd64
Pastikan disk memiliki master boot record (MBR) yang valid.
Jalankan perintah berikut pada instance debug yang memiliki persistent boot disk yang terpasang, seperti
/dev/sdb
:sudo parted /dev/sdb print
Jika MBR Anda valid, MBR tersebut akan mencantumkan informasi tentang sistem file:
Disk /dev/sdb: 10.7GB Sector size (logical/physical): 512B/4096B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 2097kB 10.7GB 10.7GB primary ext4 boot
Memperbaiki masalah booting
Setelah mengidentifikasi kegagalan proses booting dan startup, Anda dapat memperbaiki masalah ini dengan melakukan salah satu tindakan berikut:
Gunakan image yang diimpor untuk membuat boot disk mandiri
Mulai dari awal dan impor boot disk image lagi
Membuat boot disk mandiri
Pasang image yang diimpor di disk sekunder yang terpasang ke instance VM sementara. Gunakan Konsol Google Cloud atau gcloud CLI untuk membuat disk mandiri dari image yang Anda upload dan membuat VM sementara dengan disk mandiri terpasang. Anda dapat menggunakan instance ini untuk mengubah file pada disk mandiri dan memperbaiki masalah yang menyebabkan image gagal dimulai.
Konsol
Buat disk mandiri dari boot disk image yang Anda impor. Atau, Anda dapat melepaskan boot disk dari sebuah instance dan membuat instance menggunakan boot disk yang dilepas tersebut.
- Di konsol Google Cloud, buka halaman Disk.
- Klik Buat disk.
-
Pada halaman Membuat disk,
tentukan atribut berikut:
-
Zona:
Select a zone near you. You must use this same zone when you create your temporary instance.
- Jenis sumber disk: Image
- Gambar sumber: Specify the name of the boot disk image that you imported.
-
Zona:
- Untuk membuat disk, klik Buat.
Buat instance sementara untuk memasang disk mandiri dan mengonfigurasi bootloader agar berfungsi di lingkungan Konsol Google Cloud.
Di konsol Google Cloud, buka halaman VM instances.
Klik tombol Create instance.
Di halaman Create an instance, tentukan nama instance dan zona untuk menemukan instance. Zona tersebut harus berada di zona yang sama tempat Anda membuat disk mandiri.
Luaskan bagian Management, security, disks, networking, sole tenancy.
Di tab Disks pada bagian Additional disks, klik Attach existing disk. Bagian baru akan muncul.
Di bagian Disk, pilih disk mandiri yang Anda buat dari menu drop-down. Tindakan ini akan memasang disk mandiri ke instance sehingga Anda dapat memasangnya dan mengubah konten disk nanti.
Klik Done untuk menyelesaikan pemasangan disk.
Klik tombol Create untuk membuat instance.
gcloud
Buat disk mandiri dari boot disk image yang Anda impor. Atau, Anda dapat melepaskan boot disk dari sebuah instance dan membuat instance menggunakan boot disk yang dilepas tersebut.
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --image=IMAGE_NAME
Ganti kode berikut:
DISK_NAME
: nama untuk disk mandiri baru.
: zona di dekat Anda. Anda harus menggunakan zona yang sama ini saat membuat instance sementara.ZONE
IMAGE_NAME
: nama boot disk image yang Anda impor.
Buat instance sementara untuk memasang disk mandiri dan mengonfigurasi bootloader agar berfungsi di lingkungan Konsol Google Cloud.
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --disk name=DISK_NAME
Ganti kode berikut:
INSTANCE_NAME
: nama unik untuk instance AndaZONE
: zona tempat Anda membuat disk mandiriDISK_NAME
: nama disk mandiri yang Anda buat dari boot disk image yang diimpor
Setelah membuat instance dengan disk mandiri yang terpasang, Anda memiliki lingkungan virtual tempat Anda dapat memodifikasi bootloader dari boot disk image asli.
Mengonfigurasi boot disk
Hubungkan ke instance, pasang disk mandiri, dan konfigurasikan bootloader agar dapat melakukan booting dengan benar di Compute Engine.
- Hubungkan ke instance sementara
dengan menggunakan SSH-in-browser atau
perintah
gcloud compute ssh
. Gunakan perintah
blkid
untuk mengidentifikasi disk yang ingin dimodifikasi dan partisi yang perlu dipasang. Dalam contoh ini,/dev/sdb
adalah disk yang Anda impor.lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 10G 0 disk └─sda1 8:1 0 10G 0 part / sdb 8:16 0 100G 0 disk ├─sdb1 8:17 0 96G 0 part ├─sdb2 8:18 0 1K 0 part └─sdb5 8:21 0 4G 0 part
Pasang partisi root dari disk mandiri ke direktori
/tmp
. Dalam contoh ini,/dev/sdb1
adalah partisi root dan partisi lainnya tidak memerlukan modifikasi apa pun. Skema partisi Anda mungkin mengharuskan Anda memasang beberapa partisi sebelum dapat mengakses semua file yang perlu diubah.sudo mount /dev/sdb1 /tmp
Edit file yang dapat menyebabkan disk gagal dalam proses booting. Untuk informasi selengkapnya, lihat petunjuk konfigurasi bootloader.
Lepaskan boot disk dari instance sementara.
sudo umount /tmp
Menggunakan boot disk
Setelah selesai mengonfigurasi disk ini, lepaskan disk tersebut, lalu gunakan sebagai boot disk untuk instance baru.
Konsol
Lepaskan disk mandiri dari instance sementara.
Di Konsol Google Cloud, buka halaman Instance VM.
Pada daftar instance, klik nama instance sementara tempat Anda mengubah boot disk mandiri. Halaman detail instance akan terbuka.
Di bagian atas halaman detail instance, klik Edit.
Di bagian Additional disks, klik X di samping disk mandiri untuk menunjukkan bahwa Anda ingin melepaskannya dari instance sementara.
Klik Save untuk menyimpan perubahan.
Gunakan disk mandiri yang dilepas untuk membuat instance.
Di Konsol Google Cloud, buka halaman VM instances.
Klik tombol Create instance.
Di halaman Create an instance, tentukan nama instance dan zona untuk menemukan instance. Zona tersebut harus berada di zona yang sama tempat Anda membuat disk mandiri.
Di bagian Boot disk, klik Change untuk mulai mengonfigurasi boot disk Anda.
Di tab Existing disks, pilih boot disk mandiri untuk digunakan sebagai boot disk untuk instance baru ini.
Klik tombol Create untuk membuat instance.
gcloud
Lepaskan disk mandiri dari instance sementara.
gcloud compute instances detach-disk INSTANCE_NAME \ --disk name=DISK_NAME
Ganti kode berikut:
INSTANCE_NAME
: Nama unik untuk instance Anda.DISK_NAME
: Nama untuk disk mandiri baru.
Gunakan disk mandiri yang dilepas untuk membuat instance.
gcloud compute instances create INSTANCE_NAME \ --zone ZONE \ --disk name=DISK_NAME,boot=yes
Ganti kode berikut:
INSTANCE_NAME
: nama unik untuk instance AndaZONE
: zona tempat disk mandiri beradaDISK_NAME
: nama disk mandiri yang Anda buat dari boot disk image yang diimpor
Uji instance yang Anda buat menggunakan boot disk yang dimodifikasi. Jika Anda masih tidak dapat terhubung ke instance, lihat output port serial lagi untuk mengidentifikasi tempat proses booting gagal. Ulangi proses pemecahan masalah sampai Anda memperbaiki masalah pada boot disk image.