Proxmox

LXC

LXC

Templates

Обновить список

pveam update

Отобразить список

pveam available
pveam available --section system

Отобразить установленные

pveam list local

Скачать XXX

pveam download local XXX
LXC

Проброс видеокарты

Создать привилегированный контейнер

Отредактировать файл /etc/pve/lxc/<id>.conf

lxc.cgroup.devices.allow: c 226:0 rwm
lxc.cgroup.devices.allow: c 226:128 rwm
lxc.cgroup.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file

Установить драйвера видеокарты в контейнер

apt install vainfo i965-va-driver ffmpeg

QEMU

QEMU

Принудительная смена разрешения

Virtual-1 - имя виртуального монитора

xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr --addmode Virtual-1 1920x1080_60.00
xrandr --output Virtual-1 --mode 1920x1080_60.00

Ошибки

Ошибки

AppArmor enabled on system but the docker-default profile could not be loaded: Unable to replace "docker-default". Permission denied; attempted to load a profile while confined?

Остановить контейнер, внести правки, запустить контейнер

XXX - ID нужного LXC контейнера

nano /etc/pve/lxc/XXX.conf

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

Ошибки

AVC apparmor="DENIED" operation="mount" info="failed flags match" error=-13 profile="lxc-100_</var/lib/lxc>" name="/run/systemd/unit-root/" pid=16153 comm="(ionclean)" srcname="/" flags="rw,

nano /etc/apparmor.d/lxc/lxc-default-cgns

mount fstype=nfs*,
mount fstype=rpc_pipefs,
mount options=(rw, nosuid, noexec, remount, relatime, ro, bind, rbind),

systemctl reload apparmor
Ошибки

Detected Hardware Unit Hang

apt install ethtool
nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="pcie_aspm=off"

update-grub
ethtool -K eth0 gso off gro off tso off
nano /etc/network/if-up.d/hangfix-ifup && chmod +x /etc/network/if-up.d/hangfix-ifup

#!/bin/sh -e
if [ "$IFACE" = "YOUR-INTERFACE-NAME-HERE" ]; then
/sbin/ethtool -K $IFACE gso off gro off tso off tx off rx off
pcie_aspm=off
fi
exit 0

Ошибки

ipcc_send_rec failed: Connection refused

/etc/init.d/ntpd restart
/etc/init.d/pve-cluster restart
pvecm nodes
pvecm status
Ошибки

RRDC update error /var/lib/rrdcached/db/pve-storage/pve/local-lvm: -1

cd /var/lib/
systemctl stop rrdcached
mv rrdcached rrdcached.bck
systemctl start rrdcached
systemctl restart pve-cluster
Ошибки

vgremove Failed to update pool

vgs
vgremove -ff vg
Ошибки

Восстановление LVM

Если вы сделали это только что, то удалены только метаданные LVM. У вас должна сохранится архивная копия метаданных. Обычно их находят в директории /etc/lvm/archive/[имя vg]_[0-9]+.vg, выбрать из них нужный (это обычные текстовые файлы в которых записывается конфигурация LVM) и восстановить группу томов с помощью команды

vgcfgrestore -f /etc/lvm/archive/<имя vg>_<цифровое значение>.vg <имя vg>

Например

vgcfgrestore -f /etc/lvm/archive/main_00007-587941649.vg main

Затем нужно активировать группу

lvm vgchange -ay
Ошибки

Зависание хоста при проброшенной карте от AMD

cd /opt
apt install pve-headers
apt install git dkms build-essential
git clone https://github.com/gnif/vendor-reset.git
cd vendor-reset
dkms install .
echo "vendor-reset" >> /etc/modules
update-initramfs -u
modprobe vendor-reset
reboot
Ошибки

Зависла виртуальная машина

Посмотреть список виртуальных машин

qm list

Остановить виртуальную машину (VMID поменять на ID виртуальной машины из списка)

qm stop VMID

Посмотреть PID процесса виртуальной машины (VMID поменять на ID виртуальной машины из списка)

ps aux | grep "/usr/bin/kvm -id VMID"

Убить виртуальную машину (PID поменять на процесс виртуальной машины)

kill -9 PID
Ошибки

Неизвестный статус хоста, виртуалок и дисков

systemctl status -l pvestatd
journalctl -r
systemctl restart pvestatd

Система

Система

Bonding

• Round-robin (balance-rr): Передача сетевых пакетов в последовательном порядке от первого доступного связанного сетевого интерфейса (NIC) до последнего. Этот режим обеспечивает балансировку нагрузки и отказоустойчивость.

• Active-backup (active-backup): Только один из связанных в bond сетевых интерфейсов активен. Другой связанный интерфейс становится активным, если и только если активный интерфейс выходит из строя. MAC-адрес одного логического связанного интерфейса виден извне только на одном сетевом адаптере (порту), чтобы избежать искажений в сетевом коммутаторе. Этот режим обеспечивает отказоустойчивость.

• XOR (balance-xor): Передача сетевых пакетов на основе [(source MAC address XOR’d with destination MAC address) modulo NIC slave count]. Это выбирает тот же ведомый сетевой адаптер для каждого MAC-адреса назначения. Этот режим обеспечивает балансировку нагрузки и отказоустойчивость.

• Broadcast (broadcast): Передает сетевые пакеты по всем связанным сетевым интерфейсам. Этот режим обеспечивает отказоустойчивость.

• IEEE 802.3ad Dynamic link aggregation (802.3ad)(LACP): Создает группы агрегации с одинаковыми настройками скорости и дуплекса. Использует все связанные сетевые интерфейсы в активной группе агрегаторов в соответствии со спецификацией 802.3 ad.

• Adaptive transmit load balancing (balance-tlb): Linux bonding driver mode, который не требует специальной поддержки сетевых коммутаторов. Исходящий сетевой пакетный трафик распределяется в соответствии с текущей нагрузкой (вычисленной относительно скорости) на каждом ведомом устройстве сетевого интерфейса. Входящий трафик получен одним в настоящее время назначенным ведомым сетевым интерфейсом. Если этот принимающий интерфейс отказывает, другой связанный интерфейс берет на себя MAC-адрес отказавшего принимающего интерфейса.

• Adaptive load balancing (balance-alb): Включает balance-tlb plus receive load balancing (rlb) для трафика IPV4 и не требует специальной поддержки сетевых коммутаторов. Балансировка нагрузки на прием достигается путем согласования ARP. Драйвер связи перехватывает ответы ARP, отправленные локальной системой на их выходе, и перезаписывает исходный аппаратный адрес с уникальным аппаратным адресом одного из подчиненных сетевых карт в едином логическом связанном интерфейсе так, чтобы различные сетевые узлы использовали различные MAC-адреса для своего сетевого пакетного трафика.

Система

GVT-g

Загружаем модули

echo "vfio" >> /etc/modules-load.d/modules.conf
echo "vfio_iommu_type1" >> /etc/modules-load.d/modules.conf
echo "vfio_pci" >> /etc/modules-load.d/modules.conf
echo "vfio_virqfd" >> /etc/modules-load.d/modules.conf
echo "kvmgt" >> /etc/modules-load.d/modules.conf

Вносим изменения в загрузчик

nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on kvm.ignore_msrs=1 i915.enable_gvt=1 i915.enable_execlists=0 drm.debug=0"

Обновляем конфиги и модули

update-grub && update-initramfs -u -k all

Перезапускаем сервер

В свойствах виртуальной машины (предварительно ее отключив) раздел процессора приводим к виду

cpu: host,hidden=1

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

Система

Включение rc.local

nano /etc/systemd/system/rc-local.service

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local

[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

nano /etc/rc.local

#!/bin/bash
exit 0

chmod +x /etc/rc.local
systemctl enable --now rc-local
Система

Изменение swap раздела

Отключить подкачку

swapoff -v /dev/pve/swap

Увеличить размер раздела

lvm lvresize /dev/pve/swap -L +8G

Отметить раздел как swap

mkswap /dev/pve/swap

Включить swap

swapon -va

Установка гостевых систем

Установка гостевых систем

CentOS

sudo yum upgrade
sudo yum install qemu-guest-agent open-vm-tools rng-tools
sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent
sudo reboot
Установка гостевых систем

Ubuntu

sudo apt update
sudo apt install qemu-guest-agent open-vm-tools rng-tools
sudo systemctl enable qemu-guest-agent
sudo systemctl start qemu-guest-agent
sudo reboot