Когда речь идет о виртуализации на Linux, KVM (Kernel-based Virtual Machine) является одной из самых популярных платформ. Он предоставляет возможность запускать виртуальные машины на базе Linux-ядро, эффективно использовать ресурсы и обеспечивать высокую производительность.
Виртуальные машины, работающие на KVM, могут иметь доступ к различным ресурсам и файлам хост-системы. Одним из способов обеспечения доступа к общим файлам является использование shared папки. С помощью shared папки вы можете легко передавать информацию между хост-системой и виртуальной машиной, обмениваться файлами и данными.
Настройка shared папки в KVM проста и интуитивно понятна. Сначала необходимо установить пакеты qemu и qemu-utils на хост-систему. Затем следует создать shared папку на хост-системе и настроить доступ к ней в виртуальной машине. Когда настройка завершена, вы сможете легко обмениваться файлами между хост-системой и виртуальной машиной, необходимыми вам файлами будут доступны из обеих сред.
Настройка shared папки в KVM
Для настройки shared папки в KVM необходимо выполнить следующие шаги:
- Установить пакеты, необходимые для работы с shared папками. Например, на Ubuntu это можно сделать с помощью команды:
- Включить поддержку shared папок в конфигурационном файле гостевой ОС. Добавьте следующую строку в файл
/etc/fstab
: - Включить поддержку shared папок в конфигурационном файле KVM. Откройте файл
/etc/libvirt/qemu.conf
и установите следующие параметры: security_driver = "none"
– отключает механизм проверки безопасностиnvram_template = "/usr/share/qemu/OVMF.fd"
– указывает путь к файлу «двоичного образа» UEFI, необходимого для создания виртуальной памятиfilesystem_allow_host_errors = 1
– разрешает ошибки доступа к shared папке- Перезапустите службу KVM, чтобы применить изменения:
- Монтируйте shared папку в гостевой ОС командой:
- Теперь вы можете использовать shared папку для передачи файлов между хостом и гостевой ОС.
sudo apt install qemu-guest-agent spice-vdagent
host_folder /guest_folder 9p trans=virtio 0 0
Здесь host_folder
– путь к папке на хосте, которую вы хотите сделать shared, а guest_folder
– путь к папке на гостевой ОС, в которую shared папка будет монтироваться.
sudo systemctl restart libvirtd
sudo mount -t 9p -o trans=virtio host_folder guest_folder
После выполнения этих шагов shared папка должна быть успешно настроена и готова к использованию.
Установка и настройка KVM на Linux
Шаг 1: Проверка наличия поддержки виртуализации
Прежде чем устанавливать KVM, важно убедиться, что ваш процессор и операционная система поддерживают виртуализацию. Выполните следующую команду в терминале, чтобы проверить наличие поддержки виртуализации:
Архитектура | Команда |
---|---|
x86 | grep -E 'vmx|svm' /proc/cpuinfo |
ARM | grep -E 'vmx|svm' /proc/cpuinfo |
Шаг 2: Установка пакетов KVM
Для установки KVM на Linux, вам потребуется установить несколько пакетов. В большинстве случаев пакеты уже установлены, но вы можете убедиться, что у вас все необходимые пакеты, выполните следующую команду в терминале:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Данная команда установит KVM Hypervisor (qemu-kvm), пакеты для управления KVM (libvirt-daemon-system и libvirt-clients) и утилиты для конфигурирования сетевого моста (bridge-utils).
Шаг 3: Проверка активации модуля KVM
После установки пакетов вам нужно проверить, активирован ли модуль KVM на вашей системе. Для этого выполните следующую команду:
sudo kvm-ok
Шаг 4: Запуск первой виртуальной машины
Теперь вы можете запустить свою первую виртуальную машину с помощью KVM. Сначала вам нужно создать образ диска для вашей виртуальной машины. Выполните следующую команду:
qemu-img create -f qcow2 vm-image.img 10G
Эта команда создаст образ диска размером 10GB с именем «vm-image.img». Вы можете изменить размер диска в соответствии с вашими потребностями.
Затем вы можете создать конфигурационный файл для вашей виртуальной машины. Сохраните следующий текст в файле с расширением «.xml» (например, «vm-config.xml»):
<domain type='kvm'>
<name>vm</name>
<memory unit='KiB'>1048576</memory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-2.9'>hvm</type>
<boot dev='hd'/>
</os>
<devices>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='vm-image.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
</devices>
</domain>
Этот конфигурационный файл описывает основные параметры виртуальной машины, включая имя, объем памяти, количество виртуальных процессоров и образ диска.
Наконец, вы можете запустить виртуальную машину, используя следующую команду:
sudo virsh create vm-config.xml
Замените «vm-config.xml» на имя вашего конфигурационного файла.
Поздравляю! Вы только что установили и настроили KVM на Linux. Теперь вы можете создавать и запускать виртуальные машины с помощью этого мощного инструмента виртуализации.
Создание shared папки в KVM
Для создания shared папки в KVM следуйте следующим шагам:
Шаг 1: | Установите KVM и необходимые зависимости на свой Linux-сервер. |
Шаг 2: | Создайте новую папку на хост-системе, которую вы хотите сделать общей. |
Шаг 3: | Используя командную строку, создайте новый Virtual Machine (VM) в KVM. |
Шаг 4: | Откройте файл конфигурации VM и добавьте следующую строку: |
<filesystem type='mount' accessmode='mapped' source='/путь_к_папке_на_хосте' target='путь_к_папке_в_VM' /> | |
Шаг 5: | Перезапустите VM. |
После выполнения этих шагов, папка на хост-системе будет доступна внутри VM по указанному пути. Все изменения, сделанные внутри VM в этой папке, будут отражаться на хост-системе и наоборот.
Это позволит легко обмениваться файлами между хост-системой и VM, что является удобным и полезным функционалом при работе с виртуализацией KVM.
Настройка доступа к shared папке в KVM
- Установите пакет qemu-guest-agent на гостевую VM:
sudo apt-get install qemu-guest-agent
- Добавьте shared папку в настройки гостевой VM, открыв файл с её конфигурацией:
sudo nano /etc/libvirt/qemu/${VM_NAME}.xml
- Вставьте следующие строки кода внутри секции <devices>:
<filesystem type="mount" accessmode="passthrough">
<driver type="path" wrpolicy="immediate"/>
<source dir="/путь_к_папке_на_хосте"/>
<target dir="/путь_к_папке_на_госте"/>
</filesystem> - Перезапустите гостевую VM:
sudo virsh reboot ${VM_NAME}
- В гостевой VM монтируйте shared папку, выполнив следующие команды:
sudo mkdir /mnt/shared_folder
sudo mount -t 9p -o trans=virtio,version=9p2000.L /путь_к_папке_на_госте /mnt/shared_folder
- Теперь вы можете использовать shared папку для обмена файлами между хост-системой и гостевой VM в KVM.
Обратите внимание, что для успешного доступа к shared папке, необходимо иметь соответствующие права и разрешения на чтение и запись файлов.