Архив метки: Proxmox

Как пробросить диск в VM на Proxmox

В этой статье расcкажу как можно пробросить физически диск в виртуальную машину на Proxmox (Passthrough HDD/SSD).






Иногда возникает ситуация когда необходимо виртуальной машине передать весь физический накопитель. Если с USB флешками это организуется через Web-интерфейс Proxmox, то проброс таких вещей как HDD или SSD еще пока отсутствует в WebGUI. Но данную манипуляцию можно произвести через терминал.




Поиск диска в терминале Proxmox




Рассматривать установку виртуальной машины я не буду. Предположим, что у вас уже есть готовая виртуальная машина и нужный диск для проброса в данную ВМ.




Для начало нам необходимо определить какой диск мы будем пробрасывать. Для этого в терминале Proxmox набираем следующее:




lsblk




У меня вывод следующей, у вас будет немного другим, но суть от этого не поменяется.




NAME                         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                            8:0    0 223,5G  0 disk 
├─sda1                         8:1    0  1007K  0 part 
├─sda2                         8:2    0   512M  0 part 
└─sda3                         8:3    0   223G  0 part 
  ├─pve-swap                 253:0    0     8G  0 lvm  [SWAP]
  ├─pve-root                 253:1    0  55,8G  0 lvm  /
  ├─pve-data_tmeta           253:2    0   1,4G  0 lvm  
  │ └─pve-data-tpool         253:5    0 140,4G  0 lvm  
  └─pve-data_tdata           253:3    0 140,4G  0 lvm  
    └─pve-data-tpool         253:5    0 140,4G  0 lvm  
      ├─pve-data             253:6    0 140,4G  1 lvm  
sdb                            8:16   0 931,5G  0 disk 
└─sdb1                         8:17   0 931,5G  0 part 
  └─data-lv0                 253:4    0 931,5G  0 lvm  /mnt/lv0
sdc                            8:32   0   1,4T  0 disk 
└─sdc1                         8:33   0   1,4T  0 part 
zram0                        252:0    0  19,6G  0 disk [SWAP]




Из всего вывода выбираем тот диск который хотите пробросить. У меня это следующий диск:




sdc                            8:32   0   1,4T  0 disk 
└─sdc1                         8:33   0   1,4T  0 part 




Если диск не отображается, то его необходимо разбить и отформатировать в нужную файловую систему. Тут писал про то как это сделать.




Для проброса желательно использовать UUID диска, хотя вы можете использовать и /dev/sdX, но помните, что путь до диска может измениться при добавлении, удалении или перестановке дисков. Для определения UUID набираем:




blkid




Находим нужный диск, в моем случае это /dev/sdc1




/dev/sdc1: UUID="349b3951-2513-41c2-8d28-5700097e922c" UUID_SUB="dfdf8cad-f123-4324-af86-afd1ff49b096" BLOCK_SIZE="4096" TYPE="btrfs" PARTUUID="5330e542-01"




Далее смотрим есть ли диск в директории /by-id:




ls /dev/disk/by-id/




Если в выводе не будет нужного вам UUID, то будем использовать путь до диска. Если же нужный UUID присутствует, то обязательно используйте его.




После того как вы определили интересующий вас диск, остается ввести только одну комманду. Но сначала давайте определим идентификатор виртуальной машины, к которой вы хотите прикрепить этот диск. Откройте Proxmox WebGUI и посмотрите на список виртуальных машин. Я в примере буду использовать идентификатор 100.




Проброс HDD/SSD диска в гостевую ОС на Proxmox




Если вы используете UUID, то команда примет вид:




qm set VM-ID -virtio2 /dev/disk/by-id/DISK-ID




  • VM-ID – идентификатор ВМ.
  • DISK-ID – UUID диска.




qm set 100 -virtio2 /dev/disk/by-id/349b3951-2513-41c2-8d28-5700097e922c




Если же вы используете путь вместо UUID, то команда будет следующей:




qm set 100 -virtio2 /dev/sdc




Перейдя в Web-интерфейс Proxmox во вкладке оборудование данной ВМ должно появится новое HDD устройство:







Теперь, если ваша ОС уже знает о драйвере VirtIO, то все готово! Если нет продолжайте читать… Я объясню, как установить драйвер.




Драйвер VirtIO для Windows ВМ




Установка драйвера VirtIO довольно проста.




  1. Вам нужно будет перейти по этой ссылке и загрузить VirtIO ISO. Прокрутите вниз до прямой загрузки и выберите Stable virtio-win iso.
  2. Загрузите этот ISO-файл в хранилище Proxmox ISO и смонтируйте его на компакт-диске виртуальной машины Windows.
  3. Загрузите виртуальную машину и откройте диспетчер устройств.
  4. Щелкните правой кнопкой мыши новый жесткий диск и выберите Обновить программное обеспечение драйвера.
  5. Выберите Просмотреть мой компьютер для получения программного обеспечения драйвера.
  6. Нажмите кнопку обзор, а затем перейдите в папку viostor внутри компакт-диска.
  7. Выберите свою ОС и 64/32-битную папку, а затем перейдите к следующему шагу. Он должен установить драйвер, и ваш диск должен подключиться.



[endtxt]




. . . .




2022-04-05T08:31:28
Proxmox

Сброс пароля root в контейнерах LXC | Proxmox

В этой статье представлены команды для сброса пароля root в контейнерах LXC на Proxmox.




Бывает такое, что вы забрали пароль от учётной записи root в контейнерах на Proxmox. Как же быть в этой ситуации. Если в виртуальной машине на KVM можно загрузить в single режиме и сбросить пароль от root пользователя через web морду. То с LXC контейнерами этот номер не пройдет. Также я уже писал как при помощи терминала Proxmox можно сбросить пароль администратора или root пользователя в KVM контейнерах.




Для сброса пароля от root пользователя необходимо подключиться к proxmox, например через ssh, и в командной строке ввести следующее:




pct enter <VEID>
passwd <new password>
exit




Приведу пример с виртуальной машиной под номером 105




pct enter 105




после подключения к виртуальной машине вводим:




passwd new_pass
exit




  • new_pass – ваш новый пароль




После данной манипуляции пароль от контейнера в Proxmox будет изменён на новый.




Если же Вы забыли пароль от root пользователя в самом Proxmox, то для его сброса необходимо проделать немного другие мероприятия. Вот тут я уже писал как сбросить пароль от root пользователя в системе Linux.



[endtxt]




RSS




2021-08-30T17:39:44
Proxmox

Как подключить qemu-guest-agent на VM в Proxmox

Сегодня расскажу как подключить на виртуальную машину (ВМ) в Proxmox утилиту qemu-guest-agent для просмотра IP-адреса через WEB-интерфейс и правильной завершении работы ВМ.






Что такое qemu-guest-agent




qemu-guest-agent – это вспомогательный демон, который устанавливается в гостевой системе. Он используется для обмена информацией между хостом и гостем, а также для выполнения команды в госте.




В Proxmox VE qemu-guest-agent используется в основном для двух вещей:




  1. Чтобы правильно завершить работу гостя, вместо того чтобы полагаться на команды ACPI или политики Windows
  2. Чтобы заморозить гостевую файловую систему при создании резервной копии (в Windows используйте службу теневого копирования томов VSS).




Установка qemu-guest-agent




На Proxmox




Вы должны установить гостевой агент в каждой виртуальной машине, а затем включить его, вы можете сделать это в веб-интерфейсе Proxmox VE (GUI).




Активируем qemu-guest-agent в Proxmox




или через CLI:




qm set VMID --agent 1




На Linux VM




В Linux вам нужно просто установить пакет qemu-guest-agent.




Здесь мы покажем команды для систем на базе Debian/Ubuntu и Redhat:




В системах на Debian/Ubuntu выполняем следующие команды:




sudo apt install qemu-guest-agent




На системах на базе Redhat:




yum install qemu-guest-agent




На Windows VM




Сначала вы должны скачать драйвер virtio-win iso (см. Windows VirtIO Drivers).




Затем установите драйвер virtio-serial:




  1. Прикрепите ISO к виртуальной машине Windows (virtio-*.iso)
  2. Перейдите в Диспетчер устройств Windows
  3. Найдите “PCI Simple Communications Controller
  4. Щелкните правой кнопкой мыши -> Обновить драйвер и выберите на смонтированном iso DRIVE:vioserial<OSVERSION> where <OSVERSION> is your Windows Version – ваша версия Windows (например, W7 для Windows 7)




После этого необходимо установить qemu-guest-agent:




  1. Перейти к смонтированному ISO в проводнике
  2. Установщик гостевого агента находится в каталоге гостевой агент
  3. Запустите установщик двойным щелчком (либо qemu-ga-x86_64.msi (64-разрядная версия), либо qemu-ga-i386.msi (32-разрядная версия)




После этого qemu-guest-agent должен быть запущен. 




Если он не запущен, вы можете использовать панель управления Службами, чтобы запустить его и убедиться, что он запустится автоматически при следующей загрузке.







Настройка qemu-guest-agent в Linux




В зависимости от дистрибутива гостевой агент может не запускаться автоматически после установки. Для запуска воспользуемся следующими командами:




sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent




Проверка того, что связь с гостевым агентом работает




Связь с гостевым агентом происходит через сокет unix, расположенный в /var/run/qemu-server/<my_vmid>.qga Вы можете проверить связь агента qm в proxmox:




qm agent <vmid> ping 




если qemu-guest-agent правильно запущен в виртуальной машине, он выдаст пустое сообщения.



[endtxt]




. . . .




2021-07-18T12:06:21
Proxmox

Proxmox. Где лежат образы виртуальных машин?

Если Вы здесь, значит у Вас возник вопрос: “Где лежат образы виртуальных машин в Proxmox”.




Привожу пример скриншота Proxmox 6.2:







На скрине видно что подключено три хранилища, а также путь где располагаются все файлы для ваших VM.




  • Первое хранилище и путь /mnt/vl0 – это путь, который я создал сам и примонтировал в систему.



  • Второе хранилище и путь /var/lib/vz – это путь по умолчанию созданный при установке Proxmox.




В данной директория находится директория images. В ней и лежат наши образы .raw виртуальных машин.




  • Третье хранилище…. с ним не так все просто. Чтобы посмотреть в нем примонтированные диски выполним в терминале команду:




sudo lvdisplay|awk '/LV Name/{n=$3} /Block device/{d=$3; sub(".*:","dm-",d); print d,n;}'




Вывод в моем случае будет следующий:




dm-0 lv0
dm-1 swap
dm-2 root
dm-5 data
dm-8 vm-100-disk-0
dm-7 vm-101-disk-0
dm-9 vm-102-disk-0
dm-10 vm-103-disk-0
dm-11 vm-108-disk-0




RSS




2021-02-13T23:50:30
Proxmox

Удаляем виртуальную машину в Proxmox.

Сегодня давайте обсудим, как можно удалить виртуальную машину в Proxmox.






Вы хотите удалить виртуальную машину в Proxmox? Мы можем помочь вам сделать это. И так начнем:




Удаление виртуальной машины из веб-интерфейса Proxmox




Один из самых простых способов удалить виртуальную машину – это сделать это из веб-интерфейса.




Сначала мы входим в веб-интерфейс Proxmox.




Затем мы нажимаем на виртуальную машину в левой панели и выключаем нашу виртуалку.




proxmox удалить виртуальную машину




Затем мы нажимаем на вкладку Дополнительно. В раскрывающемся списке мы выбираем пункт Удалить.




Таким образом, мы удаляем виртуальную машину.




Удалить виртуальную машину из командной строки




Чтобы удалить виртуальную машину из командной строки, сначала нам нужно найти VMID.




Как только мы войдем в узел. Мы используем приведенную ниже команду, чтобы найти ids – номер нашей виртуальной машины.




cat /etc/pve/.vmlist




Данная команда выдаст нам примерно следующее:




{
"version": 5,
"ids": {
"100": { "node": "pve", "type": "lxc", "version": 2 },
"102": { "node": "pve", "type": "lxc", "version": 6 }}

}




Как только мы получим идентификатор, мы используем приведенную ниже команду, чтобы удалить его.




qm destroy <ids>




Таким образом, мы удаляем виртуальную машину в Proxmox.




Распространенные ошибки, возникающие при удалении виртуальной машины в Proxmox




Недавно столкнулся с невозможностью удалить виртуальную машину в Proxmox. И как оказалось существует несколько распространенных случаев невозможности удаления виртуальных машин из Proxmox. Давайте рассмотрим их.




Виртуальная машина Proxmox заблокирована




При анализе узла мы обнаружили, что виртуальная машина находится в состоянии блокировки. Итак, сначала мы найдем VMID – номер нашей виртуальной машины.




cat /etc/pve/.vmlist




Затем мы используем команду, чтобы разблокировать виртуальную машину.




qm unlock <ids>




Как только мы разблокируем виртуальную машину, мы сможем удалить ее без каких-либо ошибок.




Не удается удалить из-за отсутствия хранилища




Другой случай с ошибкой: “не удается удалить из-за отсутствия хранилища” при попытке удалить виртуальную машину. Давайте обсудим, как устранит эту ошибку.




Файл конфигурации виртуальной машины находится в директории /etc/pve/qemu-server.




Мы находим нужный нам файл, например 100.conf и удаляем его.




Таким образом, при обновлении веб-интерфейса виртуальная машина присутствовать не будет.




Также может помочь и удаление конфига виртуальной машины из директории /etc/pve/nodes/pve/lxc или /etc/pve/lxc – симлинка на предыдущую директорию.




Вывод




Мы обсудили, как удалить виртуальную машину из веб-интерфейса и CLI. Кроме того, мы обсудили распространенную ошибку и то, как её исправить.



[endtxt]




RSS



Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.


2020-09-19T08:03:20
Proxmox

Конвертация дисков qcow2 -> lvm в KVM (Proxmox)

Занимался на днях переносом виртуальных машин с обычного kvm гипервизора на proxmox. На исходном гипервизоре диски виртуальных машин были в формате qcow2. Я решил заодно сконвертировать диски из qcow2 в lvm и написать заметку об этом, чтобы не забыть.

Читать