libguestfs adalah pustaka C dan kumpulan alat di pustaka ini untuk membuat, melihat, mengakses, dan memodifikasi gambar disk mesin virtual di Linux. Anda dapat melihat ke dalam gambar disk, memodifikasi file yang dikandungnya, membuatnya dari awal, mengubah ukurannya, dan banyak lagi. Itu tidak memerlukan libvirt atau KVM dan juga tidak memerlukan hak akses root. Red Hat mensponsori pengembangan libguestfs. Mendukung banyak distribusi Linux dan varian Unix seperti Mac OS.
Libguestfs bekerja dengan hampir semua sistem file Linux (ext2/3/4, XFS, btrfs, dll.), sistem file windows (vfat dan ntfs), sistem file Mac OS dan BSD, volume LVM2, partisi disk MBR dan GPT, disk RAW , QCOW2, VirtualBox VDI, VMWare VMDK, dan Hyper-V VHD/VHDX. Ia bahkan dapat mengakses file lokal dan perangkat lokal seperti ISO CD dan DVD, kartu SD, atau dari jarak jauh melalui FTP, HTTP, SSH, iSCSI, NBD, GlusterFS, Ceph, Sheepdog, dan banyak lagi.
Fitur Libguestfs
Dengan menggunakan alat libguest, kita dapat melakukan banyak tugas seperti yang tercantum di bawah ini:
- Buat mesin virtual tamu,
- Mengkloning mesin virtual,
- Membangun VM,
- Sesuaikan VM,
- Skrip perubahan pada VM,
- Periksa gambar VM,
- Melihat dan mengedit file di dalam mesin tamu,
- Menyalin file dan direktori ke dan dari mesin virtual,
- Menampilkan informasi tentang sistem file, perangkat, LVM,
- Arsipkan, unggah, dan unduh file,
- Pantau disk yang digunakan/statistik gratis,
- Memformat disk virtual,
- Ubah ukuran disk virtual,
- Melakukan pencadangan,
- Pasang dan lepas sistem file tamu di sistem host,
- P2V (mengubah mesin fisik agar berjalan tervirtualisasi pada KVM, OpenStack, oVirt, Red Hat Virtualization),
- V2V (mengubah mesin tamu dari hypervisor asing untuk dijalankan di KVM),
- Menampilkan file log,
- Gabungkan perubahan di registry windows di windows guest,
- dan banyak lagi.
Anda dapat melakukan semua tugas ini baik melalui shell scriptable yang disebut guestfish , atau shell penyelamat interaktif virt-rescue .
Instal libguestfs di Linux
Jalankan perintah berikut untuk menginstal libguestfs di Debian, Ubuntu:
$ sudo apt install libguestfs-tools
Di CentOS, RHEL:
$ sudo dnf install libguestfs-tools
Setelah terinstal, periksa versi guestfish menggunakan perintah:
$ guestfish --version guestfish 1.40.2
Mengakses Dan Memodifikasi Gambar Disk Mesin Virtual Dengan Libguestfs
Pastikan mesin tamu dimatikan. Anda tidak boleh mengubah gambar langsung untuk alasan apa pun. Ini dapat menyebabkan kerusakan disk permanen dan kehilangan data. Selalu buat cadangan gambar disk sebelum membuat perubahan apa pun di dalamnya.
1. Cangkang ikan tamu
Guestfish, kependekan dari guest filesystem shell, adalah shell interaktif untuk mengedit filesystem mesin virtual dan image disk.
1.1. Akses gambar disk yang ada dan pasang sistem file tamu secara manual
Pertama, mari kita memuat image disk yang ada untuk diperiksa.
Jalankan perintah berikut dari untuk masuk ke shell interaktif guestfish:
$ guestfish
Contoh keluaran:
Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell ><fs>
Di sini, >
..dan kemudian tambahkan gambar disk menggunakan perintah:
><fs> add ~/CentOS_8_Server.img
Selanjutnya, jalankan perintah berikut untuk memulai perpustakaan dan melampirkan (meluncurkan) disk image:
><fs> run
Ini akan memakan waktu beberapa detik untuk pertama kalinya. Start berikutnya akan selesai lebih cepat.
Sekarang Anda perlu membuat daftar dan memasang sistem file tamu secara manual.
Untuk melihat daftar sistem file dalam disk, jalankan perintah ini dari prompt guestfish:
><fs> list-filesystems
Contoh keluaran:
/dev/sda1: ext4 /dev/cl/root: xfs /dev/cl/swap: swap
Pasang sistem file:
><fs> mount /dev/cl/root /
Tampilkan titik pemasangan:
><fs> mountpoints /dev/cl/root: /
Demikian pula, pasang sistem file lainnya.
1.2. Akses gambar disk yang ada dan pasang sistem file tamu secara otomatis
Daripada mendaftar dan memasang sistem file tamu secara manual, Anda dapat membiarkan ikan tamu memeriksa gambar secara otomatis dan memasang sistem file menggunakan -i tandai seperti di bawah ini.
$ guestfish -a CentOS_8_Server.img -i
Di sini,
- -a (--add) parameter akan secara otomatis mendeteksi format gambar disk. Untuk mengganti ini dan menentukan format tertentu, gunakan --format pilihan.
- -i (--inspector) - Periksa disk dan pasang sistem file.
- CentOS_8_Server.img - nama gambar disk. Saya memiliki gambar ini di direktori saya saat ini.
Perintah ini akan memuat gambar yang diberikan, memasang sistem file tamu dan memasukkan Anda ke dalam cangkang ikan tamu.
Welcome to guestfish, the guest filesystem shell for editing virtual machine filesystems and disk images. Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell Operating system: CentOS Linux release 8.2.2004 (Core) /dev/cl/root mounted on / /dev/sda1 mounted on /boot ><fs>
Jika Anda menggunakan "-i" parameter, Anda tidak perlu membuat daftar dan memasang sistem file tamu secara manual. Sistem file akan dipasang secara otomatis. Selain itu, Anda tidak perlu memulai perpustakaan dan melampirkan gambar disk sendiri. Guestfish sendiri yang akan mengurusnya.
1.3. Akses mesin virtual, bukan hanya gambar disk
Guestfish memiliki opsi untuk mengakses mesin virtual (domain) alih-alih gambar disk.
Pertama, dapatkan nama mesin virtual menggunakan perintah:
$ virsh list --all Id Name State -------------------------------- - centos8-uefi shut off - nginx_centos8 shut off
Untuk mengakses VM bernama "centos8-uefi", gunakan opsi -d atau --domain seperti di bawah ini.
$ guestfish -d centos8-uefi -i
1.4. Melihat Dan Memodifikasi Isi Gambar Disk
Guestfish mendukung ratusan perintah untuk melihat dan memodifikasi gambar disk sesuka Anda. Anda akan kewalahan jika melihat ke seluruh halaman manual. Jadi lebih baik mengetahui cara mendapatkan bantuan terlebih dahulu.
Mencantumkan semua perintah
Jika Anda tidak tahu harus mulai dari mana, cukup buka bagian bantuan menggunakan perintah:
><fs> help
Untuk membuat daftar semua perintah yang tersedia bersama dengan deskripsi singkat, jalankan:
><fs> help -l
Dapatkan bantuan untuk perintah tertentu
Untuk mendapatkan bantuan perintah apa pun, misalnya mkdir, jalankan:
<fs> help mkdir
Sekarang mari kita lihat beberapa contoh.
Mencantumkan perangkat blokir
Untuk membuat daftar semua perangkat blokir dalam gambar, jalankan:
><fs> list-devices /dev/sda
Mencantumkan partisi
Untuk membuat daftar semua partisi yang terdeteksi di semua perangkat blok, jalankan:
><fs> list-partitions /dev/sda1 /dev/sda2
Mencantumkan isi direktori
Untuk membuat daftar file dalam direktori tertentu, jalankan:
><fs> ls /root .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc
Melihat konten file
Untuk menampilkan isi file, jalankan:
><fs> cat /etc/fstab # # /etc/fstab # Created by anaconda on Thu Feb 6 06:43:28 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=5e675dd6-7f64-46cd-8535-3617f3cf870b /boot ext4 defaults 1 2 /dev/mapper/cl-swap swap swap defaults 0 0
Buat direktori
Perintah berikut akan membuat direktori bernama "ostechnix" di bawah direktori /root di sistem tamu.
><fs> mkdir /root/ostechnix
Buat file kosong
Untuk membuat file kosong di dalam mesin tamu, lakukan:
><fs> touch /root/ostechnix/file.txt
Verifikasi apakah file telah dibuat:
><fs> ls /root/ostechnix/ file.txt
Buat file dengan konten
Untuk membuat file dengan beberapa konten di dalamnya, gunakan tulis perintah:
><fs> write /root/ostechnix/file2.txt https://ostechnix.com
Perintah di atas akan membuat file2.txt di direktori /root/ostechnix/ dan menulis "https://ostechnix.com" di dalamnya.
Anda dapat memverifikasinya menggunakan perintah "cat":
><fs> cat /root/ostechnix/file2.txt https://ostechnix.com
Menambahkan konten ke file yang ada
Untuk menambahkan konten baru di akhir file yang sudah dibuat, gunakan perintah "write-append":
<fs> write-append /root/ostechnix/file2.txt /about
Perintah di atas akan menambahkan kata "/about" di akhir isi file1.txt.
Verifikasi jika baris ditambahkan, gunakan perintah cat:
><fs> cat /root/ostechnix/file2.txt https:/ostechnix.com/about
Mengedit file
Untuk mengedit file di mesin tamu, gunakan perintah "edit":
><fs> edit /root/ostechnix/file.txt
File yang diberikan akan terbuka di editor default.
Hapus file dan direktori
Untuk menghapus file dari mesin tamu:
><fs> rm /root/ostechnix/file2.txt ><fs> rm /root/ostechnix/file.txt
Untuk menghapus direktori, gunakan perintah "rmdir":
><fs> rmdir /root/ostechnix/
Salin file atau direktori lokal ke dalam citra disk
Perintah "copy-in" menyalin file atau direktori lokal secara rekursif ke dalam citra disk.
Perintah berikut akan menyalin file ostechnix.txt dari sistem lokal ke /root/ostechnix/ dalam citra disk.
<fs> copy-in ostechnix.txt /root/ostechnix/
Verifikasi menggunakan ls perintah:
<fs> ls /root/ostechnix/ file.txt ostechnix.txt
Menyalin file atau direktori dari citra disk ke sistem host
Demikian pula, kita dapat menyalin file atau direktori dari disk image ke sistem host lokal menggunakan perintah "copy-out" seperti di bawah ini.
<fs> copy-out /root/ostechnix/ /home/sk/Downloads/
Dalam contoh di atas, saya menyalin direktori /root/ostechnix/ ke direktori Downloads di sistem host.
Unduh file ke sistem host
Ini sama seperti perintah copy-out.
Guestfish memungkinkan Anda mengunduh dan mengunggah konten dari mesin tamu ke mesin host dan sebaliknya.
Sintaks umum untuk mengunduh file:
download <guest_file_location> <host_file_location>
Perintah berikut akan mengunduh file "/etc/fstab" dari mesin tamu ke direktori /home/sk/Downloads/ di sistem host KVM.
<fs> download /etc/fstab /home/sk/Downloads/fstab
Unggah file dari sistem host ke sistem tamu
Ini sama dengan perintah salin.
Untuk mengunggah file dari sistem host Anda ke mesin tamu, jalankan:
><fs> upload /home/sk/Downloads/fstab /etc/fstab
Di sini, saya mengunggah /home/sk/Downloads/fstab file dari sistem lokal saya ke /etc/fstab di mesin tamu.
Tampilkan halaman manual guestfish
Untuk menampilkan halaman manual guestfish:
><fs> man
Keluar dari guestfish
Untuk keluar dari shell guestfish, jalankan:
><fs> exit
Apa yang telah kami lihat sejauh ini adalah kami mengakses, memasang, memeriksa, dan memodifikasi gambar disk yang ada. Guestfish juga dapat membantu Anda membuat image disk baru secara instan.
1.5. Membuat image disk baru
Perintah berikut harus dijalankan di luar shell guestfish. Dengan kata lain, mereka harus dijalankan di terminal host Anda.
Ingat kita menambahkan gambar yang ada menggunakan parameter -a? Ya. Untuk membuat image disk baru, kita akan -N (--baru) parameter.
Untuk membuat image disk baru dan meluncurkannya secara otomatis, jalankan perintah berikut dari terminal host (bukan di guestfish):
$ guestfish -N fs
Perintah ini akan membuat disk baru bernama "test1.img" di direktori saat ini dan mendaratkan Anda di dalam prompt guestfish. Disk ini akan berisi satu partisi, dengan sistem file kosong. Secara default, ukuran disk adalah 1GB . Jika Anda menjalankan perintah yang sama lain kali, itu akan membuat disk baru bernama "test2.img" dengan ukuran 1G dan seterusnya.
Alih-alih membuat disk 1G ukuran tetap, Anda juga dapat membuat image disk berukuran khusus.
Untuk membuat disk kosong 500MB , jalankan:
$ guestfish -N disk:500M
Anda juga dapat membuat gambar disk yang diformat dengan sistem file tertentu. Misalnya, perintah berikut akan membuat disk 1G dengan ext4 -partisi yang diformat, disebut test1.img di direktori saat ini:
$ guestfish -N fs:ext4
Buat disk 500MB dengan VFAT -partisi yang diformat, dan pasang:
$ guestfish -N fs:vfat:500M -m /dev/sda1
Buat disk kosong 500MB bernama blankdisk.img (bukan nama default test1.img):
$ guestfish -N blankdisk.img=disk:500M
1.6. Menambahkan image disk jarak jauh
Tidak hanya image disk lokal, kami juga dapat menambahkan disk yang terletak di server SSH, FTP, HTTP, atau TFTP jarak jauh.
Tambahkan disk yang terletak di server SSH jarak jauh:
$ guestfish -a ssh://[email protected]/disk.img
Ganti nama pengguna dan alamat IP pada perintah di atas dengan milik Anda.
Tambahkan disk yang terletak di server FTP jarak jauh:
$ guestfish -a ftp://[email protected]:port/disk.img
$ guestfish -a ftps://[email protected]:port/disk.img
Tambahkan disk yang terletak di server HTTP jarak jauh:
$ guestfish -a http://[email protected]:port/disk.img
$ guestfish -a https://[email protected]:port/disk.img
Tambahkan disk yang terletak di server TFTP jarak jauh:
$ guestfish -a tftp://[email protected]:port/disk.img
2. Akses, Lihat, dan ubah image disk tanpa masuk ke shell guestfish
Libguestfs menyediakan banyak perintah lain yang setara untuk mengakses, melihat, dan memodifikasi gambar disk, tanpa benar-benar masuk ke shell guestfish.
2.1. gunung tamu
Perintah Guestmount digunakan untuk memasang sistem file tamu di host menggunakan FUSE dan libguestfs.
Perintah berikut akan memasang centos8-uefi sistem penuh mesin tamu di ~/guestvm/ di sistem host.
$ mkdir ~/guestvm/
$ sudo guestmount -d centos8-uefi -i ~/guestvm/
Verifikasi isi direktori mount:
$ sudo ls -l ~/guestvm
Contoh keluaran:
total 16 lrwxrwxrwx. 1 root root 7 May 11 2019 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 Jul 18 15:46 boot drwxr-xr-x. 2 root root 6 Jul 18 15:23 dev drwxr-xr-x. 78 root root 8192 Jul 25 17:54 etc drwxr-xr-x. 2 root root 6 May 11 2019 home lrwxrwxrwx. 1 root root 7 May 11 2019 lib -> usr/lib lrwxrwxrwx. 1 root root 9 May 11 2019 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 May 11 2019 media drwxr-xr-x. 2 root root 6 May 11 2019 mnt drwxr-xr-x. 2 root root 6 May 11 2019 opt drwxr-xr-x. 2 root root 6 Jul 18 15:23 proc dr-xr-x---. 2 root root 135 Jul 18 15:46 root drwxr-xr-x. 2 root root 6 Jul 18 15:23 run lrwxrwxrwx. 1 root root 8 May 11 2019 sbin -> usr/sbin drwxr-xr-x. 2 root root 6 May 11 2019 srv drwxr-xr-x. 2 root root 6 Jul 18 15:23 sys drwxrwxrwt. 7 root root 119 Jul 25 18:44 tmp drwxr-xr-x. 12 root root 144 Jul 18 15:24 usr drwxr-xr-x. 20 root root 278 Jul 18 15:45 var
Untuk melepasnya, jalankan:
$ sudo umount ~/guestvm
Untuk detail lebih lanjut, lihat halaman manual.
$ man guestmount
2.2. kucing-virt
Perintah Virt-cat dikeluarkan untuk melihat konten file yang disimpan dalam image disk atau mesin virtual.
$ sudo virt-cat -a CentOS_8_Server.img /etc/fstab
Atau,
$ sudo virt-cat -d centos8-uefi /etc/fstab
Contoh keluaran:
# # /etc/fstab # Created by anaconda on Sat Jul 18 05:53:25 2020 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=6a7f6481-5eb3-4589-ad19-b2291ddfcda1 /boot ext4 defaults 1 2 UUID=6906-5D0A /boot/efi vfat umask=0077,shortname=winnt 0 2 /dev/mapper/cl-swap swap swap defaults 0 0
2.3. virt-copy-in
Perintah Virt-copy-in digunakan untuk menyalin file dan direktori dari host ke disk image atau mesin virtual.
$ sudo virt-copy-in -a CentOS_8_Server.img ostechnix.txt /root/
Atau,
$ sudo virt-copy-in -d centos8-uefi ostechnix.txt /root/
2.4. salinan-virt
Perintah Virt-copy-out digunakan untuk menyalin file dan direktori dari disk image atau mesin virtual.
$ sudo virt-copy-out -a CentOS_8_Server.img /root/ostechnix.txt ~/Downloads
Atau,
$ sudo virt-copy-in -d centos8-uefi /root/ostechnix.txt ~/Downloads
Perintah di atas akan menyalin file /root/ostechnix.txt dari disk mesin virtual ke direktori ~/Downloads di sistem host lokal.
2.4. virt-df
Perintah Virt-df menampilkan ruang kosong pada sistem file mesin tamu.
Lihat ruang kosong pada gambar disk:
$ sudo virt-df -a CentOS_8_Server.img
Contoh keluaran:
Filesystem Size Used Available Use% CentOS_8_Server.img:/dev/sda1 976M 260M 649M 27% CentOS_8_Server.img:/dev/cl/root 17G 1.4G 16G 9%
Melihat ruang disk pada VM:
$ sudo virt-copy-in -d centos8-uefi /root/ostechnix.txt ~/Downloads
Contoh keluaran:
Filesystem Size Used Available Use% centos8-uefi:/dev/sda1 599M 6.6M 592M 2% centos8-uefi:/dev/sda2 976M 121M 788M 13% centos8-uefi:/dev/cl/root 16G 1.2G 15G 8%
2.5. edit-virt
Mengedit file dalam image disk atau mesin virtual.
$ sudo virt-edit -a CentOS_8_Server.img /root/ostechnix.txt
Atau,
$ sudo virt-edit -d centos8-uefi /root/ostechnix.txt
Perintah ini akan membuka file jarak jauh di editor default. Cukup lakukan perubahan dan simpan dan tutup file.
2.6. virt-filesystem
Mencantumkan sistem file, partisi, memblokir perangkat, LVM dalam mesin virtual atau citra disk.
$ sudo virt-filesystems -a CentOS_8_Server.img -l
Atau,
$ sudo virt-filesystems -d centos8-uefi -l
Contoh keluaran:
Name Type VFS Label Size Parent /dev/sda1 filesystem vfat - 629145600 - /dev/sda2 filesystem ext4 - 1073741824 - /dev/cl/root filesystem xfs - 17620271104 -
Untuk menampilkan detail partisi, tambahkan --partitions pada perintah di atas:
$ sudo virt-filesystems -d centos8-uefi --partitions /dev/sda1 /dev/sda2 /dev/sda3
Demikian pula, Anda dapat menggunakan --logical-volumes , --volume-grup , --volume-fisik , --block-devices untuk membuat daftar item tersebut.
2.7. inspektur-virt
Virt-inspector digunakan untuk menampilkan versi sistem operasi dan informasi lain tentang image disk atau mesin virtual.
$ sudo virt-inspector -a CentOS_8_Server.img
Atau,
$ sudo virt-inspector -d centos8-uefi
2.8. virt-ls
Virt-ls digunakan untuk menampilkan file dan direktori beserta ukurannya, atributnya, checksum dalam disk image atau mesin virtual.
$ sudo virt-ls -R -a CentOS_8_Server.img / | less
Atau,
$ sudo virt-ls -R -d centos8-uefi /root
Anda dapat menggunakan sebagian besar opsi/flag perintah "ls" normal dengan perintah virt-ls.
2.9. virt-log
Virt-log digunakan untuk menampilkan file log dari disk image atau mesin virtual.
$ sudo virt-log -a CentOS_8_Server.img
Atau,
$ sudo virt-log -d centos8-uefi
2.10. ekor-virt
Perintah Virt-tail digunakan untuk mengikuti file log dalam image disk atau mesin virtual.
$ sudo virt-tail -a CentOS_8_Server.img /var/log/messages
Atau,
$ sudo virt-tail -d centos8-uefi /var/log/messages
Ada banyak lagi perintah yang tersedia. Saya menyarankan Anda untuk merujuk situs web libguestfs yang ditautkan di akhir panduan ini.
Baca selanjutnya:
- Buat Gambar Mesin Virtual dengan Cepat Dengan Pembuat Virt
- Menampilkan Statistik Sistem Virtualisasi Dengan Virt-top Di Linux
- Cara Menyelamatkan Mesin Virtual Dengan Virt-rescue
Pemecahan Masalah
Berikut adalah solusi untuk beberapa masalah umum.
1. libguestfs tidak berfungsi tanpa izin root di Ubuntu
Anda mungkin mengalami kesalahan ini saat mencoba mengakses gambar disk di Ubuntu:
libguestfs: error: /usr/bin/supermin exited with error status 1. To see full error messages you may need to enable debugging. Do: export LIBGUESTFS_DEBUG=1 LIBGUESTFS_TRACE=1 and run the command again. For further information, read: http://libguestfs.org/guestfs-faq.1.html#debugging-libguestfs
Untuk memperbaiki masalah ini, jalankan:
$ sudo chmod 0644 /boot/vmlinuz*
Anda mungkin perlu menambahkan diri Anda sendiri ke kvm grup:
$ sudo usermod -a -G kvm sk
Ganti "sk" pada perintah di atas dengan nama pengguna Anda sendiri.
- Jika Anda telah menginstal libvirt atau KVM di sistem Anda dan mencoba menggunakan alat libguesfs sebagai pengguna root, Anda akan melihat kesalahan izin ini:
libguestfs: error: could not create appliance through libvirt. Try running qemu directly without libvirt using this environment variable: export LIBGUESTFS_BACKEND=direct Original error from libvirt: Cannot access backing file '/root/CentOS_8_Server.qcow2' of storage file '/tmp/libguestfsiPjmga/overlay1.qcow2' (as uid:107, gid:107): Permission denied [code=38 int1=13]
Ini disebabkan oleh libvirt, dan hanya terjadi saat menggunakan backend libvirt. Untuk memperbaikinya, alihkan ke backend langsung dengan menyetel variabel lingkungan ini:
export LIBGUESTFS_BACKEND=direct
Untuk membuatnya secara permanen, tambahkan baris ini ke ~/.bashrc . Anda berkas.
-
Bagaimana Mengkonversi VMDK (Virtual Machine Disk) ke VDI menggunakan VBoxManage?
-
Bagaimana cara menggunakan alat libguestfs untuk Mengedit Gambar Disk mesin virtual (VM) di CentOS/RHEL/Fedora?
-
[Dipecahkan]:Bagaimana Mencegah Sinkronisasi jam Mesin Virtual dengan mesin Host dan Mengatur waktu jam Independen?