Mengimpor boot disk secara manual


Cara yang direkomendasikan untuk mengimpor image boot disk ke Compute Engine dari pusat data fisik Anda, dari virtual machine (VM) di workstation lokal, atau dari VM yang berjalan di platform cloud lain, adalah dengan menggunakan alat impor disk virtual, yang mengotomatiskan semua langkah dalam panduan ini.

Jika memilih untuk tidak menggunakan alat otomatis, Anda dapat mengikuti petunjuk manual langkah demi langkah dalam panduan ini.

Proses impor image ini hanya dapat mengimpor satu disk dalam satu waktu, dan panduan ini berfokus pada cara mengimpor image boot disk.

Impor boot disk yang ada hanya jika Anda tidak dapat membangun atau memigrasikan aplikasi agar berjalan di atas image publik Compute Engine. Image publik sudah dikonfigurasi untuk berjalan di lingkungan Compute Engine, sehingga Anda dapat menjalankan aplikasi pada image tersebut tanpa perlu mengkhawatirkan bootloader dan konfigurasi sistem operasi. Namun, Anda mungkin perlu mengimpor boot disk image Anda sendiri dalam skenario berikut:

  • Aplikasi Anda memerlukan sistem operasi yang tidak disediakan sebagai image publik.
  • Anda sudah memiliki satu set image dasar yang digunakan untuk membuat VM di platform cloud lain.
  • Pekerjaan yang diperlukan untuk memigrasikan kode aplikasi ke salah satu image publik lebih besar daripada pekerjaan yang diperlukan untuk menyelesaikan proses impor boot disk image.

Atau, Anda bisa mendapatkan bantuan terkait migrasi untuk VM Anda dengan menggunakan layanan partner. Untuk informasi lebih lanjut, baca bagian Memigrasikan VM ke Compute Engine.

Ringkasan

Untuk mengimpor boot disk image ke Compute Engine, gunakan proses berikut:

  1. Rencanakan jalur impor Anda. Anda harus mengidentifikasi lokasi untuk menyiapkan boot disk image sebelum menguploadnya, dan cara menghubungkan ke image tersebut setelah booting di lingkungan Compute Engine.
  2. Siapkan boot disk Anda agar dapat melakukan booting dalam lingkungan Compute Engine, sehingga Anda dapat mengaksesnya setelah booting.
  3. Buat dan kompresi file boot disk image.
  4. Upload file image ke Cloud Storage dan impor image ke Compute Engine sebagai image kustom baru.
  5. Gunakan image yang diimpor untuk membuat instance VM dan pastikan instance melakukan booting dengan benar.
  6. Jika image tidak berhasil booting, Anda dapat memecahkan masalah dengan memasang boot disk image ke instance lain dan mengonfigurasinya kembali.
  7. Optimalkan image dan instal lingkungan tamu, sehingga image sistem operasi yang Anda impor dapat berkomunikasi dengan server metadata dan menggunakan Compute Engine.

Persyaratan

Persyaratan untuk boot disk

Untuk mengimpor boot disk ke Compute Engine, boot disk harus memenuhi persyaratan berikut:

  • Sebaiknya instal semua update yang tersedia di VM sumber Anda.
  • Jika Anda mem-build kernel sistem operasi khusus, kernel tersebut harus memenuhi persyaratan konfigurasi hardware dan kernel. Sebagian besar distribusi Linux stok sudah memenuhi persyaratan ini, sehingga persyaratan ini hanya untuk pengguna tingkat lanjut yang mem-build sistem operasi kustom mereka sendiri agar dapat berjalan di Compute Engine.
  • Boot disk tidak boleh lebih besar dari 2048 GB (2 TB).
  • Boot disk yang Anda impor harus memiliki tabel partisi MBR yang berfungsi atau konfigurasi campuran dari tabel partisi GPT dengan Bootloader MBR.
  • Partisi utama pada boot disk dapat menggunakan format apa pun yang Anda sukai selama melakukan booting dengan benar dari bootloader MBR.
  • Boot disk pada boot disk tidak boleh memiliki argumen command line kernel quiet, rhgb, atau splashimage=. Compute Engine tidak mendukung layar pembuka saat startup. Anda dapat menghapus nilai-nilai ini dari konfigurasi GRUB saat melakukan langkah konfigurasi bootloader.
  • Sistem operasi pada boot disk harus mendukung ACPI.

Persyaratan untuk file image

File gambar yang Anda impor harus memenuhi persyaratan berikut:

  • Lakukan pemeriksaan konsistensi pada disk image menggunakan perintah qemu-img check pada disk.
  • Untuk mengekspor disk virtual, gunakan fungsi ekspor software pengelolaan VM Anda. Jangan menyalin file VMDK dari sistem file pengelola VM Anda.
  • File image harus berupa image yang didukung.
  • Nama file disk image harus disk.raw.
  • File image RAW harus memiliki ukuran dengan kelipatan 1 GB. Misalnya, file harus berukuran 10 GB atau 11 GB, tetapi tidak berukuran 10,5 GB.
  • File yang dikompresi harus berupa file .tar.gz yang menggunakan kompresi gzip dan opsi --format=oldgnu untuk utilitas tar (manual).

Persyaratan untuk project Anda

Saat Anda membuat instance VM dari image yang diimpor, instance harus dapat mengakses Package Repository eksternal untuk sistem operasi yang dikonfigurasi pada boot disk.

Repositori ini dapat diakses langsung dari vendor sistem operasi atau melalui koneksi jaringan ke infrastruktur lokal Anda yang menghosting repositori ini.

Untuk menyiapkan akses ke repositori eksternal, selesaikan salah satu langkah berikut pada project Anda:

Batasan

Untuk mengimpor disk menggunakan jaringan yang tidak mengizinkan alamat IP eksternal, Anda harus memenuhi persyaratan jaringan tambahan. Untuk mengetahui informasi selengkapnya, lihat Mengimpor disk menggunakan jaringan yang tidak mengizinkan alamat IP eksternal.

Biaya impor image

Sebelum memulai, pahami biaya untuk proses impor. transfer data jaringan masuk tidak dikenai biaya untuk mengupload file boot disk image Anda ke Cloud Storage dan mengimpor image tersebut sebagai image kustom Compute Engine. Namun, ada biaya untuk beberapa langkah tertentu dalam proses impor:

  • Biaya untuk menyimpan sementara file gambar terkompresi Anda dalam bucket standar Cloud Storage. Anda harus menggunakan bucket Cloud Storage sementara untuk menyimpan file sebelum dapat mengimpornya sebagai image Compute Engine kustom. Anda dapat menghapus bucket setelah menyelesaikan proses impor.
  • Biaya untuk menyimpan image kustom setelah Anda selesai mengimpornya ke Compute Engine.
  • Potensi biaya untuk transfer data keluar di pusat data, penyedia jaringan, atau layanan cloud Anda saat ini. Ukuran file image bisa sangat besar bahkan setelah Anda mengompresinya. Jadi, menyalin file tersebut ke Compute Engine dapat menimbulkan biaya transfer data keluar yang signifikan di beberapa platform.
  • Biaya untuk persistent disk Compute Engine dan instance VM yang dapat digunakan untuk mengonfigurasi image setelah Anda mengimpornya ke Compute Engine.

Merencanakan dan menyiapkan jalur impor

Metode untuk mengimpor disk Anda bergantung pada konfigurasi sistem saat ini yang ingin Anda pindahkan ke Compute Engine. Anda memerlukan sistem untuk membuat dan mengompresi file boot disk image, serta sistem tempat Anda dapat mengupload file image ke Cloud Storage. Pertimbangkan item berikut saat Anda merencanakan jalur impor:

  • Jalur impor image mengharuskan Anda mengonfigurasi boot disk di lingkungan sistem operasi yang berfungsi. Proses ini dapat menyebabkan boot disk tidak melakukan booting di mana pun di luar lingkungan Compute Engine. Anda bertanggung jawab untuk memastikan bahwa Anda tidak kehilangan data di disk atau mengganggu aplikasi bisnis fungsional Anda saat mengimpor sistem ke Compute Engine.
  • Identifikasi konfigurasi akses sistem yang ada dan rencanakan cara Anda mengakses sistem setelah mengimpornya ke Compute Engine.
    • Jika sistem Anda sudah memiliki login pengguna atau konfigurasi SSH, Anda hanya dapat mengonfigurasi bootloader, lalu mengonfigurasi image agar berjalan secara optimal di Compute Engine. Anda dapat mengakses instance melalui konfigurasi SSH yang ada atau melalui login pengguna langsung di konsol serial interaktif.
    • Jika sistem Anda belum memiliki login pengguna atau konfigurasi SSH, Anda harus mengonfigurasi boot disk agar dapat mengaksesnya setelah melakukan booting di Compute Engine.
  • Durasi proses impor dapat memerlukan waktu beberapa jam atau hari, bergantung pada ukuran boot disk dan kecepatan koneksi jaringan Anda.
  • Sistem tempat Anda membuat dan mengompresi boot disk image harus memiliki ruang penyimpanan yang cukup untuk membuat file image di perangkat penyimpanan selain boot disk itu sendiri. Biasanya, file image dan tar.gz Anda menggunakan ruang 2–3 kali lebih banyak dibandingkan boot disk itu sendiri.
  • Pahami struktur sistem file untuk sistem yang ada yang ingin Anda impor.
    • Jika file sistem operasi dan aplikasi Anda tersebar di beberapa disk, impor setiap disk tersebut satu per satu dan gunakan setiap image guna membuat persistent disk unik untuk instance VM Compute Engine Anda.
    • Jika sistem Anda memiliki volume booting dalam konfigurasi RAID dengan beberapa disk bertindak sebagai satu volume logis, buat satu image dari seluruh array, bukan membuat satu image untuk setiap disk dalam array. Persistent disk Compute Engine menghilangkan kebutuhan akan konfigurasi RAID.
  • Jika sistem Anda mengenkripsi konten boot disk dengan Trusted Platform Module atau dengan enkripsi tingkat software, dekripsi boot disk Anda sebelum membuat file boot disk image. Google tidak dapat membaca image Anda jika image tersebut dienkripsi. Kami mengenkripsi image setelah Anda menguploadnya, dan memungkinkan Anda menyediakan kunci enkripsi Anda sendiri untuk persistent disk dan bucket Cloud Storage.

Setelah Anda mengidentifikasi atau membuat sistem yang dapat digunakan untuk menyelesaikan proses impor, hubungkan ke sistem tersebut dan konfigurasi bootloader.

Menyiapkan boot disk image

Pada sistem yang sedang berjalan, siapkan boot disk image agar dapat berfungsi di lingkungan Compute Engine.

  • Konfigurasikan bootloader pada boot disk sehingga image dapat melakukan booting di Compute Engine.
  • Konfigurasikan akses SSH atau login pengguna pada boot disk, sehingga Anda dapat mengaksesnya setelah mengimpornya ke Compute Engine dan memulainya sebagai instance VM.

Proses ini dapat membuat sistem tidak dapat di-booting di luar Compute Engine. Jadi, sebaiknya selesaikan langkah ini pada sistem terisolasi menggunakan salinan boot disk yang ingin Anda impor.

Mengonfigurasi bootloader

Konfigurasi bootloader pada sistem agar dapat melakukan booting di Compute Engine.

  1. Hubungkan ke terminal pada sistem dengan boot disk yang ingin Anda impor.

  2. Edit file konfigurasi GRUB. Biasanya file ini berada di /etc/default/grub, tetapi pada beberapa distribusi sebelumnya, file ini mungkin berada di direktori non-standar.

  3. Buat perubahan berikut pada file konfigurasi GRUB:

    • Hapus semua baris yang memiliki splashimage=. Compute Engine tidak mendukung layar pembuka saat startup.
    • Hapus argumen command line kernel rhgb dan quiet.
    • Tambahkan console=ttyS0,38400n8d ke argumen command line kernel, sehingga instance dapat berinteraksi dengan Konsol Serial.
  4. Buat ulang file grub.cfg. Gunakan salah satu perintah berikut, bergantung pada distribusi Anda.

    • Debian dan Ubuntu: sudo update-grub
    • RHEL, CentOS, SUSE, openSUSE: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  5. Edit file /etc/fstab dan hapus referensi ke semua disk dan partisi selain boot disk itu sendiri dan partisi pada boot disk tersebut. Entri yang tidak valid di /etc/fstab dapat menyebabkan proses startup sistem berhenti.

Setelah mengonfigurasi bootloader, buat dan kompresi file disk image.

Mengonfigurasi akses SSH atau login pengguna pada image

Setelah image Anda berjalan di Compute Engine sebagai instance VM, Anda harus memiliki cara untuk mengakses instance tersebut. Anda dapat terhubung ke instance menggunakan konfigurasi SSH yang ada atau login menggunakan nama pengguna dan sandi dengan menghubungkan ke Serial Console.

Selesaikan konfigurasi login SSH atau pengguna sebelum Anda membuat dan mengompresi file disk image.

Membuat dan mengompresi file disk image

Buat dan kompresi file boot disk image untuk sistem yang ingin Anda impor ke Compute Engine. Proses pembuatan dan kompresi file image berbeda-beda, bergantung pada platform tempat sistem Anda beroperasi.

Generik

Di hampir semua sistem, Anda dapat menggunakan proses ini untuk membuat file image RAW yang dapat diimpor ke Compute Engine. Anda dapat menyelesaikan proses ini pada sistem yang sedang berjalan yang Anda impor, atau memasang boot disk sebagai disk sekunder pada sistem lain dan membuat image boot disk dari disk yang dihentikan. Pastikan Anda memiliki ruang penyimpanan yang cukup untuk menyimpan file disk image untuk sementara. Contoh ini mengambil image dari sistem yang sedang berjalan.

  1. Hubungkan ke terminal pada sistem yang memiliki boot disk yang akan Anda impor.

  2. Gunakan perintah lsblk untuk mengidentifikasi boot disk sumber tempat Anda ingin membuat image dan lokasi tempat Anda memiliki cukup ruang untuk menulis file image. Untuk contoh ini, /dev/sda adalah boot disk sumber dan /dev/sdb adalah disk sekunder besar yang dipasang di direktori /tmp. Meskipun /dev/sda berjalan, Anda masih dapat membuat image dari sana. Sebaiknya lakukan ini di sistem tenang yang tidak aktif memproses data atau menjalankan aplikasi.

    lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0  100G  0 disk
    ├─sda1   8:1    0   96G  0 part /
    ├─sda2   8:2    0    1K  0 part
    └─sda3   8:5    0    4G  0 part [SWAP]
    sdb      8:16   0  500G  0 disk /tmp
    sr0     11:0    1 1024M  0 rom
    
  3. Buat file image dari boot disk Anda.

    sudo dd if=/dev/sda of=/tmp/disk.raw bs=4M conv=sparse
    
  4. Ubah ke direktori tempat Anda menulis file disk.raw.

    cd /tmp
    
  5. Kompresi disk mentah ke dalam format tar.gz. Langkah ini mengompresi file gambar sehingga Anda dapat menguploadnya lebih cepat ke Cloud Storage. Di OSX, instal gtar dan gunakan untuk langkah ini, bukan tar.

    tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

AWS EC2

Untuk mengetahui informasi selengkapnya tentang cara mengimpor Amazon Machine Images (AMI) dan disk image virtual dari Amazon Web Services (AWS) ke Compute Engine, lihat Mengimpor image dari AWS.

VirtualBox

Jika menyiapkan sistem di lingkungan VirtualBox, Anda dapat menggunakan alat VBoxManage untuk mengonversi disk image .vdi atau .qcow2 menjadi format disk.raw.

  1. Matikan mesin tamu VirtualBox yang ingin diimpor, dengan mengganti GUEST_NAME dengan nama mesin tamu Anda. Anda dapat mematikan mesin tamu dengan antarmuka VirtualBox atau dengan menggunakan utilitas VBoxManage.

    VBoxManage controlvm GUEST_NAME acpipowerbutton
  2. Konversi image tamu ke format RAW dengan menggunakan utilitas VBoxManage, yang mengganti GUEST_NAME dengan jalur ke image tamu Anda. Image tamu ini dapat diberikan sebagai file vdi atau qcow2:

    VBoxManage clonemedium GUEST_NAME ~/disk.raw --format RAW
  3. Kompresi disk mentah ke dalam format tar.gz. Langkah ini mengompresi file gambar sehingga Anda dapat menguploadnya lebih cepat ke Cloud Storage. Di OSX, instal gtar dan gunakan untuk langkah ini, bukan tar.

    sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

File gambar dikompresi dan siap diupload ke Cloud Storage.

Mengimpor image ke daftar image kustom Anda

Upload file ke Cloud Storage dan impor image ke daftar image kustom Anda. Secara opsional, Anda dapat mengenkripsi image selama langkah impor image.

Impor image dengan konsol atau alat Google Cloud CLI:

Konsol

Salin file compressed-image.tar.gz ke workstation lokal dan gunakan Konsol Google Cloud untuk membuat bucket dan mengupload file tersebut.

  1. Di Konsol Google Cloud, buka halaman browser Cloud Storage.

    Buka Browser

  2. Di bagian atas halaman, klik Create bucket.
  3. Tentukan nama bucket yang unik, kelas penyimpanan Standard, dan lokasi tempat Anda ingin menyimpan file image.
  4. Klik Create untuk membuat bucket. Halaman browser akan membuka bucket baru.
  5. Di bagian atas halaman, klik Upload file.
  6. Dalam dialog file, pilih file compressed-image.tar.gz yang Anda download dari sistem Anda. File diuploas dari workstation lokal Anda. Langkah ini bisa membutuhkan beberapa jam, tergantung ukuran file image terkompresi dan kecepatan koneksi jaringan Anda.

Setelah Anda mengupload image ke Cloud Storage, impor file image ke daftar image kustom Anda.

  1. Di Konsol Google Cloud, buka halaman Images.

    Buka Images

  2. Di bagian atas halaman, klik Buat image.
  3. Di kolom Name, tentukan nama unik untuk image.
  4. Atau, tentukan kelompok image untuk image baru Anda, atau konfigurasi setelan enkripsi khusus untuk image tersebut.
  5. Klik menu Source, lalu pilih file Cloud Storage.
  6. Masukkan jalur ke file compressed-image.tar.gz yang Anda upload ke Cloud Storage.

    BUCKET_NAME/compressed-image.tar.gz
  7. Klik Create untuk mengimpor image. Proses ini bisa berlangsung beberapa menit, tergantung ukuran boot disk image.

Image kini disertakan di halaman Images. Anda dapat membuat VM menggunakan image yang diimpor ini. Jika terjadi kegagalan booting, verifikasi dan pastikan Anda telah mengonfigurasi bootloader dengan benar.

gcloud dan gsutil

Gunakan alat gsutil dan gcloud CLI untuk mengupload file image boot disk yang dikompresi. Anda dapat menyelesaikan proses ini pada sistem tempat Anda membuat boot disk image, atau Anda dapat menyalin file tersebut ke sistem lain dan menyelesaikan proses upload di sana.

  1. Instal dan lakukan inisialisasi gcloud CLI di sistem tempat Anda ingin mengupload compressed-image.tar.gz.

  2. Gunakan alat gsutil untuk membuat bucket Cloud Storage baru.

    gsutil mb gs://BUCKET_NAME
  3. Upload file compressed-image.tar.gz ke bucket baru.

    gsutil cp compressed-image.tar.gz gs://BUCKET_NAME
  4. Impor file image sebagai image kustom baru.

    gcloud compute images create IMAGE_NAME --source-uri gs://BUCKET_NAME/compressed-image.tar.gz
    

    Ganti kode berikut:

    • IMAGE_NAME: nama image yang Anda impor.
    • BUCKET_NAME: nama bucket tempat penyimpanan image yang diimpor.

Image tersebut kini disertakan dalam daftar image kustom. Anda dapat membuat VM menggunakan image yang diimpor ini. Jika terjadi kegagalan booting, verifikasi dan pastikan Anda telah mengonfigurasi bootloader dengan benar.

gcloud compute images list --no-standard-images
NAME                                            PROJECT                  FAMILY                    DEPRECATED  STATUS
[IMAGE_NAME]                                    [PROJECT_ID]                                                   READY

Menguji image yang diimpor untuk memastikannya berfungsi

Pastikan gambar yang diimpor berfungsi seperti yang diharapkan. Buat VM dengan boot disk yang menggunakan image yang diimpor.

Konsol

  1. Di konsol Google Cloud, buka halaman Create an instance.

    Buka Create an instance

  2. Di bagian Boot disk, klik Change, lalu lakukan hal berikut:

    1. Pilih tab Custom Images.
    2. Untuk memilih project image, klik Select a project, kemudian lakukan langkah berikut ini:
      1. Pilih project yang berisi image tersebut.
      2. Klik Buka.
    3. Di dalam daftar Image, klik image yang telah Anda impor.
    4. Pilih jenis dan ukuran boot disk Anda.
    5. Untuk mengonfirmasi opsi boot disk, klik Select.
  3. Klik Create.

gcloud

gcloud compute instances create VM_NAME --zone ZONE --image IMAGE_NAME

Ganti kode berikut:

  • VM_NAME: nama unik untuk VM Anda.
  • ZONE: zona tempat Anda membuat disk mandiri.
  • IMAGE_NAME: nama image yang Anda impor.

Setelah Anda membuatnya, pastikan VM telah di-booting dengan benar. Memeriksa output port serial:

Konsol

  1. Di Konsol Google Cloud, buka halaman VM instances.

    Buka Instance

  2. Pada daftar VM, klik nama VM yang Anda buat dari image yang diimpor. Halaman detail VM akan terbuka.
  3. Di bagian Logs, klik port serial yang sesuai untuk memperluas dan melihat output port serial untuk VM ini.

Jika VM berhenti pada Booting from Hard Disk 0..., Anda harus troubleshoot dari dalam lingkungan Compute Engine, atau Anda dapat mengonfigurasi ulang boot disk di sistem asli Anda dan ulangi proses impor.

gcloud

gcloud compute instances get-serial-port-output VM_NAME

Jika VM berhenti pada Booting from Hard Disk 0..., Anda harus troubleshoot dari dalam lingkungan Compute Engine atau mengonfigurasi ulang boot disk di sistem asli Anda dan mengulangi proses impor.

Anda juga dapat menguji VM dengan menghubungkannya. Hubungkan ke VM melalui salah satu opsi berikut:

  • SSH: Jika VM memiliki konfigurasi SSH yang fungsional, Anda dapat terhubung ke VM menggunakan SSH dan kunci pribadi. Anda dapat menemukan alamat IP instance VM di halaman VM instances.
  • Konsol Serial: Jika perlu login ke VM secara langsung tanpa SSH, Anda dapat mengaktifkan Konsol Serial dan login dengan nama pengguna dan sandi.

Langkah selanjutnya