====== Твики и настройки ====== ===== Оперативная память ===== ==== ksmtuned ==== Поставляется (?) в ISO-образе PVE, но отсутствует при установке по мануалу apt install ksmtuned Конфиг: nano /etc/ksmtuned.conf переменная: KSM_THRES_COEF=20 #дефолт KSM_THRES_COEF=80 #активировать при 80% свободной памяти, т.е. 20% занятой Технология призвана экономить RAM на гипервизоре, неизвестно, насколько эффективно на самом деле - необходимо расширенное тестирование. systemctl restart ksmtuned systemctl enable ksmtuned ==== pvestatd ballooning ==== В скрипте сервиса /usr/share/perl5/PVE/Service/pvestatd.pm строка в коде my $goal = int($hostmeminfo->{memtotal} * 0.8 - $hostmeminfo->{memused}); #дефолт my $goal = int($hostmeminfo->{memtotal} * 0.95 - $hostmeminfo->{memused}); # 95% занятой памяти Задаёт, при каком проценте использованной памяти сервис pvestatd начинает заставлять гостей освобождать кешированную оперативную память sed -i 's/ 0.8 / 0.95 /g' /usr/share/perl5/PVE/Service/pvestatd.pm && systemctl restart pvestatd ==== memory overcommit ==== Выделять гостям оперативную память не всю сразу, а по мере заполнения: echo 1 > /proc/sys/vm/overcommit_memory && echo 'vm.overcommit_memory = 1' >> /etc/sysctl.d/tweaks.conf Требуется остановка и запуск гостей для применения ===== Сеть ===== ==== nat forwarding ==== Для разрешения форвардинга: echo 1> /proc/sys/net/ipv4/ip_forward Для персистентной настройки: nano /etc/sysctl.conf net.ipv4.ip_forward = 1 ==== iptables ==== Включение маскарадинга iptables -t nat -A POSTROUTING -s $subnet/24 -o $vmbr -j MASQUERADE Сохранение настроек для персистенса #безопасные для выполнения автоматические команды iptables-save> /etc/iptables.conf grep -q 'pre-up iptables-restore' /etc/network/interfaces || echo 'pre-up iptables-restore > /etc/network/interfaces ==== Решение проблем с драйвером e1000e ==== Случаются подвисания сетевого интерфейса, вплоть до прерывания связи, из-за многолетнего бага в драйвере Intel e1000e Диагностика: dmesg -T [Sun Apr 4 19:48:37 2021] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang: Лечение: nano /etc/network/interfaces #Указать в разделе физического интерфейса, заменить наименование интерфейса up /usr/sbin/ethtool -K $interface tso off gso off up /usr/sbin/ethtool -K $interface tx off rx off