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:
- 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.
- Siapkan boot disk Anda agar dapat melakukan booting dalam lingkungan Compute Engine, sehingga Anda dapat mengaksesnya setelah booting.
- Buat dan kompresi file boot disk image.
- Upload file image ke Cloud Storage dan impor image ke Compute Engine sebagai image kustom baru.
- Gunakan image yang diimpor untuk membuat instance VM dan pastikan instance melakukan booting dengan benar.
- Jika image tidak berhasil booting, Anda dapat memecahkan masalah dengan memasang boot disk image ke instance lain dan mengonfigurasinya kembali.
- 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).
- Disk booting 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
, atausplashimage=
. 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 utilitastar
(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:
- Konfigurasikan alamat IP eksternal statis agar VM dapat terhubung ke jaringan lokal atau jaringan eksternal lainnya.
- Siapkan bastion host, VPN, atau penerusan TCP IAP yang dapat digunakan untuk terhubung ke jaringan lokal atau jaringan eksternal lainnya.
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 ke Cloud Storage dan Anda tidak akan dikenai biaya untuk mengimpor image tersebut sebagai Compute Engine image kustom. 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 dari pusat data, penyedia jaringan, atau layanan cloud Anda saat ini. File image bisa berukuran sangat besar bahkan setelah Anda mengompresinya, sehingga 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.
Hubungkan ke terminal pada sistem dengan boot disk yang ingin Anda impor.
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.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
danquiet
. - Tambahkan
console=ttyS0,38400n8d
ke argumen command line kernel, sehingga instance dapat berinteraksi dengan Konsol Serial.
- Hapus semua baris yang memiliki
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
- Debian dan Ubuntu:
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.
Hubungkan ke terminal pada sistem yang memiliki boot disk yang akan Anda impor.
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
Buat file image dari boot disk Anda.
sudo dd if=/dev/sda of=/tmp/disk.raw bs=4M conv=sparse
Ubah ke direktori tempat Anda menulis file
disk.raw
.cd /tmp
Kompresi disk mentah ke dalam format
tar.gz
. Langkah ini mengompresi file gambar sehingga Anda dapat menguploadnya ke Cloud Storage dengan lebih cepat. Di OSX, instalgtar
dan gunakan untuk langkah ini, bukantar
.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
.
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
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
atauqcow2
:VBoxManage clonemedium GUEST_NAME ~/disk.raw --format RAW
Kompresi disk mentah ke dalam format
tar.gz
. Langkah ini mengompresi file gambar sehingga Anda dapat menguploadnya ke Cloud Storage dengan lebih cepat. Di OSX, instalgtar
dan gunakan untuk langkah ini, bukantar
.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.
- Di Konsol Google Cloud, buka halaman browser Cloud Storage.
- Di bagian atas halaman, klik Create bucket.
- Tentukan nama bucket yang unik, kelas penyimpanan Standard, dan lokasi tempat Anda ingin menyimpan file image.
- Klik Create untuk membuat bucket. Halaman browser akan membuka bucket baru.
- Di bagian atas halaman, klik Upload file.
- 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.
- Di dalam Konsol Google Cloud, buka halaman Images.
- Di bagian atas halaman, klik Buat image.
- Di kolom Name, tentukan nama unik untuk image.
- Atau, tentukan kelompok image untuk image baru Anda, atau konfigurasi setelan enkripsi khusus untuk image tersebut.
- Klik menu Source, lalu pilih file Cloud Storage.
Masukkan jalur ke file
compressed-image.tar.gz
yang Anda upload ke Cloud Storage.BUCKET_NAME/compressed-image.tar.gz
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 gcloud storage
Gunakan 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.
Instal dan lakukan inisialisasi gcloud CLI di sistem tempat Anda ingin mengupload
compressed-image.tar.gz
.Gunakan gcloud CLI untuk membuat bucket Cloud Storage baru.
gcloud storage buckets create gs://BUCKET_NAME
Upload file
compressed-image.tar.gz
ke bucket baru.gcloud storage cp compressed-image.tar.gz gs://BUCKET_NAME
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
Di konsol Google Cloud, buka halaman Create an instance.
Di bagian Boot disk, klik Change, lalu lakukan hal berikut:
- Pilih tab Custom Images.
- Untuk memilih project image, klik Select a project, kemudian lakukan
langkah berikut ini:
- Pilih project yang berisi image tersebut.
- Klik Buka.
- Di dalam daftar Image, klik image yang telah Anda impor.
- Pilih jenis dan ukuran boot disk Anda.
- Untuk mengonfirmasi opsi boot disk, klik Select.
Klik Buat.
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
- Di Konsol Google Cloud, buka halaman VM instances.
- Pada daftar VM, klik nama VM yang Anda buat dari image yang diimpor. Halaman detail VM akan terbuka.
- 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
memecahkan masalah
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
memecahkan masalah
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 berikutnya
- Konfigurasikan disk sehingga image Anda dapat memanfaatkan fitur dalam lingkungan Compute Engine.
- Setelah image Anda siap diproduksi, buat versi final image kustom tersebut dan sertakan image dalam kelompok image sehingga Anda dapat dengan mudah mengelola versi terbaru dari image kustom.
- Beberapa impor mungkin gagal karena masalah boot disk. Untuk informasi lebih lanjut, lihat Memecahkan masalah boot disk.