User Tools

Site Tools


proxmox:tweaks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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