Memecahkan masalah booting VM Linux karena error fstab


Fstab (tabel sistem file) adalah file konfigurasi yang digunakan untuk menentukan bagaimana partisi disk, sistem file, dan fitur berbagi file dipasang di VM Linux Anda bertahan di seluruh proses mulai ulang sistem.

Dokumen ini berisi penjelasan mengenai beberapa kondisi, di mana konfigurasi fstab yang salah dapat menyebabkan masalah booting, dan memberikan saran pemecahan masalah untuk memperbaiki masalah tersebut.

Beberapa masalah umum terkait kesalahan konfigurasi fstab tercantum di bawah:

  • Error sintaksis dalam file konfigurasi fstab
  • UUID yang salah
  • Ada entri untuk perangkat yang tidak terpasang/tidak tersedia
  • Opsi pemasangan seperti nobarrier yang tidak digunakan lagi untuk jenis sistem file xfs di image SUSE atau RHEL.

Sebelum memulai

  • Jika ingin mencatat output port serial ke dalam log di Cloud Logging, pahami Cloud Logging.
  • 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

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Mengidentifikasi masalah fstab

Untuk masalah booting, Google sangat merekomendasikan agar Anda memeriksa log booting di Konsol Serial VM Linux. VM memasuki mode darurat dengan pesan error yang menunjukkan bahwa masalah terjadi pada fstab.

  [K[[1;31m TIME [0m] Timed out waiting for device dev-incorrect.device.
  [[1;33mDEPEND[0m] Dependency failed for /distribution.
  [[1;33mDEPEND[0m] Dependency failed for Local File Systems.
  ...
  Welcome to emergency mode! After logging in, type "journalctl -xb" to viewsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode.
  Give root password for maintenance
  (or type Control-D to continue)
  

Sesuai dengan pesan error, terdapat kegagalan dependensi untuk sistem file /distribution. Kegagalan dependensi untuk direktori pemasangan sistem file akan berbeda berdasarkan nama sistem file yang digunakan.

Penyelesaian

Gunakan opsi berikut untuk mengatasi error fstab di VM Linux yang dihosting di Google Cloud. Anda dapat menyelesaikan masalah ini lebih cepat menggunakan konsol serial daripada menggunakan metode manual.

Agar dapat menggunakan metode berikut untuk menyelesaikan masalah fstab, Anda harus mengaktifkan akses port serial untuk VM.

Opsi 1: Gunakan konsol serial untuk login ke VM dalam mode darurat

  1. Login ke konsol serial VM dari Konsol Google Cloud. Konsol serial

  2. Dalam mode darurat saat ini, masukkan sandi root untuk mengakses VM Anda.

  3. Gunakan editor teks favorit Anda untuk membuka file fstab. Lakukan perubahan yang diperlukan dan simpan perubahan di file fstab. Dalam contoh berikut, editor vi digunakan.

    vi /etc/fstab

    File Fstab

    Pada contoh sebelumnya, perangkat untuk /distribution dilepas dari VM. Beri komentar pada baris yang merujuk sistem file atau hapus entri fstab untuk direktori pemasangan /distribution.

    Gunakan man fstab untuk detail selengkapnya tentang konfigurasi dan sintaksis fstab.

  4. Simpan file dan keluar dari editor. Jika Anda menggunakan editor vi, gunakan ESC + :wq! untuk menyimpan dan keluar dari editor.

  5. Lanjutkan proses booting dengan memasukkan reboot saat diminta.

  6. Setelah berhasil memperbaiki masalah, proses booting VM akan selesai dan perintah login akan muncul di konsol serial.

  7. Verifikasi bahwa Anda dapat login ke VM lagi menggunakan SSH.

Opsi 2 - Menggunakan Mode Satu Pengguna di Konsol Serial

Opsi ini dapat digunakan jika sandi root tidak ditetapkan.

Prasyarat: Parameter GRUB_TIMEOUT dalam file konfigurasi grub harus ditetapkan ke nilai bukan nol. Biasanya file ini berada di /etc/default/grub, tetapi pada beberapa distribusi sebelumnya, file ini mungkin berada di direktori non-standar.

  1. Buka halaman VM instances di konsol Google Cloud. Buka VM instances

  2. Login ke konsol serial Mesin Virtual dari konsol Google Cloud. Konsol Serial2

  3. Klik RESET untuk virtual machine dari Konsol Google Cloud.

    Reset file

  4. Di jendela konsol serial, hentikan proses booting dengan mengklik tombol panah untuk menjeda di layar atau menu grub.

  5. Pada daftar kernel di layar boot loader grub, pilih kernel dan tekan e pada keyboard.

    file bootloader

  6. Tambahkan parameter rd.break di akhir baris kernel, lalu tekan ctrl+x. Hal ini membantu mem-booting VM ke mode pengguna tunggal.

    Menu bootloader

  7. Instal sistem file root dalam mode tulis baca.

  8. Analisis, buat perubahan yang diperlukan, dan simpan file fstab. Gunakan man fstab untuk mengetahui detail lebih lanjut mengenai konfigurasi dan sintaksis. Gunakan editor teks favorit Anda untuk membuka file fstab. Dalam contoh di bawah ini, editor vi digunakan.

    vi /etc/fstab

    File Fstab2

    Dalam contoh ini, perangkat untuk /distribution dilepas dari VM, jadi berikan komentar pada baris atau hapus entri fstab untuk direktori pemasangan /distribution.

  9. Simpan file dan keluar dari editor. Jika Anda menggunakan editor vi, gunakan ESC + :wq! untuk menyimpan dan keluar dari fstab.

  10. Lanjutkan proses booting dengan memasukkan reboot pada prompt.

  11. Setelah berhasil memperbaiki masalah, proses booting VM akan selesai dan Anda akan melihat prompt login di konsol serial.

  12. Verifikasi bahwa Anda dapat login ke VM menggunakan SSH.