Setelah membuat mesin Virtual baru, Anda mungkin ingin berbagi file dan folder antara host KVM dan mesin virtual KVM. Dalam panduan singkat ini, kita akan melihat cara mengatur folder bersama antara host KVM dan mesin virtual tamu menggunakan Virt-manager di Linux.
Sebelum mengonfigurasi folder bersama, pastikan Anda telah menginstal Virt-manager di host KVM Anda.
- Cara Mengelola Mesin Virtual KVM Dengan Virt-Manager
Jika Anda sudah menginstal grup Paket Virtualisasi KVM lengkap, Anda tidak perlu menginstal Virt-manager secara terpisah. Virt-manager adalah bagian dari grup paket virtualisasi KVM. Jika tidak, Anda mungkin perlu menginstalnya seperti yang ditunjukkan pada tautan di atas.
Buat mesin Virtual baru dari antarmuka Virt-manager. Hal ini sangat lurus ke depan dan mudah! Jangan mulai VM. Kita perlu membuat folder bersama di host KVM kita.
Buat folder bersama di host KVM
Buat folder bersama baru di sistem host KVM Anda yang ingin Anda bagikan ke mesin tamu.
Untuk tujuan panduan ini, saya membuat folder bersama bernama "KVM_Share
" di $HOME
my saya direktori.
[[email protected] ~]$ mkdir ~/KVM_Share
Selanjutnya, atur izin yang diperlukan untuk folder bersama. Saya ingin mengedit dan memodifikasi konten folder bersama ini dari mesin virtual tamu saya, jadi saya memberikan izin penuh ke folder bersama.
[[email protected] ~]$ chmod 777 ~/KVM_Share
Selanjutnya atur jenis SELinux yang benar untuk folder bersama KVM:
$ sudo semanage fcontext -a -t svirt_image_t "/home/sk/KVM_Share(/.*)?"
Perintah ini menetapkan konteks file default untuk apa pun di bawah dan termasuk folder bersama yaitu /home/sk/KVM_Share
dalam kasus kami.
Setelah Anda menjalankan perintah di atas, itu menambahkan baris ke /etc/selinux/targeted/contexts/files/file_contexts.local
file yang membuat perubahan tetap ada.
Baris yang ditambahkan mungkin terlihat seperti ini:
$ cat /etc/selinux/targeted/contexts/files/file_contexts.local This file is auto-generated by libsemanage Do not edit directly. /usr/lib/chromium-browser system_u:object_r:bin_t:s0 /usr/lib/chromium-browser/chromium-browser.sh system_u:object_r:bin_t:s0 /usr/lib/chrome-sandbox system_u:object_r:chrome_sandbox_exec_t:s0 /home/sk/KVM_Share(/.*)? system_u:object_r:svirt_image_t:s0
Selanjutnya, jalankan perintah berikut untuk memberi tahu SELinux untuk memulihkan konteks file pada semua yang ada di bawah direktori bersama ke apa yang kita miliki sebagai default (yaitu perubahan semanage).
$ sudo restorecon -vR /home/sk/KVM_Share
Jika Anda tidak menyetel jenis SELinux yang benar untuk folder bersama KVM, Anda akan mengalami kesalahan berikut saat memulai VM.
Error starting domain: internal error: qemu unexpectedly closed the monitor: 2021-05-06T09:30:21.239353Z qemu-system-x86_64: -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/hostshare,bus=pci.5,addr=0x0: cannot initialize fsdev 'fsdev-fs0': failed to open '/home/sk/KVM_Share': Permission denied Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 65, in cb_wrapper callback(asyncjob, *args, *kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 101, in tmpcb callback(args, **kwargs) File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn ret = fn(self, *args, **kwargs) File "/usr/share/virt-manager/virtManager/object/domain.py", line 1329, in startup self._backend.create() File "/usr/lib64/python3.9/site-packages/libvirt.py", line 1353, in create raise libvirtError('virDomainCreate() failed') libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2021-05-06T09:30:21.239353Z qemu-system-x86_64: -device virtio-9p-pci,id=fs0,fsdev=fsdev-fs0,mount_tag=/hostshare,bus=pci.5,addr=0x0: cannot initialize fsdev 'fsdev-fs0': failed to open '/home/sk/KVM_Share': Permission denied
Sekarang saatnya untuk mengkonfigurasi folder bersama di Virt-manager.
Siapkan folder bersama antara host KVM dan tamu
Buka Virt-manager dan pastikan sistem tamu dimatikan. Pilih mesin tamu dan klik Buka tombol pada bilah menu untuk menampilkan konsol mesin virtual dan detailnya.
Di jendela berikutnya, klik "Tampilkan detail perangkat keras virtual" pada bilah menu dan klik "Tambah Perangkat Keras" tombol di panel kiri.
Klik tab "Sistem file" di panel kiri dan masukkan lokasi folder bersama di jalur Sumber dan masukkan tag pemasangan di bawah jalur Target. Di sini, saya membagikan "~/KVM_Share"
direktori dan tag pemasangan saya adalah /hostshare
. Anda dapat menentukan nama mount_tag sesuai keinginan. Harap perhatikan bahwa mount_tag bukan jalur. mount_tag hanyalah nama yang digunakan untuk mengidentifikasi bagian host. Klik Selesai dan Terapkan untuk memperbarui perubahan.
Satu hal terakhir yang harus Anda lakukan adalah memilih mode akses yang tepat untuk mengakses folder bersama.
Ada tiga kemungkinan nilai. Mereka adalah passthrough
, mapped
dan squash
.
- lewati - Menentukan bahwa sumber (yaitu folder bersama) diakses dengan pengaturan izin Pengguna yang diatur dari dalam mesin virtual tamu. yaitu File disimpan menggunakan kredensial yang sama seperti yang dibuat pada tamu. Ini adalah mode akses default jika tidak ditentukan.
- dipetakan - Menentukan bahwa sumber diakses dengan pengaturan izin hypervisor. Jika Anda ingin memiliki akses baca dan tulis dari mesin tamu, Anda harus memilih mode ini.
- labu - Mirip dengan 'passthrough', pengecualiannya adalah kegagalan operasi istimewa seperti
chown
diabaikan. Ini membuat mode seperti passthrough dapat digunakan untuk orang yang menjalankan hypervisor sebagai non-root.
Setelah memilih mode akses pilihan Anda, klik tombol Apply. Kami sekarang telah mengonfigurasi folder bersama untuk host KVM dan sistem tamu dari Virt-manager.
Sekarang, hidupkan mesin virtual tamu dan buat titik pemasangan di mesin tamu Anda untuk memasang folder bersama sistem host KVM:
[[email protected] ~]$ mkdir ~/hostfiles
Terakhir, pasang folder bersama di mesin tamu menggunakan perintah:
[[email protected] ~]$ sudo mount -t 9p -o trans=virtio /hostshare hostfiles/
Folder bersama ~/KVM_Share
dipasang pada hostfiles
direktori di mesin virtual Anda. Mulai sekarang, Anda dapat mengakses konten folder bersama dari mesin virtual tamu Anda. Anda juga dapat mengedit dan menghapus konten folder bersama pada host KVM dan sistem tamu.
Untuk memasang folder bersama secara otomatis setiap kali saat boot, tambahkan baris berikut ke /etc/fstab
file di sistem tamu Anda:
/hostshare /hostfiles 9p trans=virtio,version=9p2000.L,rw 0 0
Semoga membantu.