GNU/Linux >> Belajar Linux >  >> Linux

Siapkan Folder Bersama Antara KVM Host Dan Tamu

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.


Linux
  1. Cara menginstal dan mengatur Debian 8 Docker Host minimalis

  2. Cara Menginstal Linux KVM dan Membuat VM Tamu dengan Contoh

  3. Salin-tempel antara tamu Hyper-V dan tuan rumah

  1. Perbedaan antara firewall Perangkat Keras Bersama dan firewall Perangkat Keras Khusus

  2. Perbedaan Antara [[ $a ==Z* ]] Dan [ $a ==Z* ]?

  3. Folder Bersama Host Windows Di Ubuntu 20.04?

  1. Perbedaan Antara Qemu dan KVM

  2. Perbedaan antara objek bersama (.so), pustaka statis (.a), dan DLL (.so)?

  3. Menggunakan Samba untuk berbagi folder dari tamu Linux dengan host Windows di VirtualBox