User Tools

Site Tools


proxmox:tweaks

Differences

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

Link to this comparison view

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