13 трав. 2020 р.

Установка модуля мониторинга Host OS в iDrac в Proxmox

Для того чтобы iDrac отображал информацию о хосте необходимо доустановить в операционной системе два .deb пакета. Так как Dell в инсталляторе модуля не поддерживает ОС Debian, на базе которой построен Proxmox, пакеты можно установить вручную взяв их предварительно из инсталляционного образа iDRAC Service Module for Linux. Нужны пакеты:

dcism-3.5.1-1949.ubuntu18.deb и dcism-osc-5.0.0-41.ubuntu18.deb

Нужно положить их в один каталог после чего выполнить команды в последовательности описанной ниже:

apt-get install libcurl4
dpkg -i dcism-osc-5.0.0-41.ubuntu18.deb
dpkg -i dcism-3.5.1-1949.ubuntu18.deb
systemctl start dcismeng


Нет доступа к диску после монтирования VeraCrypt в Windows запущенной на Mac

Если у вас возникла проблема с доступом в смонтированный контейнер VeraCrypt под управлением Windows установленной через Bootcamp или создание нового контейнера с файловой системой NTFS:

Перейдите в каталог C:\Windows\System32\ drivers" и переименуйте appleHFS.sys, например в appleHFS.sys.bak После чего перезагрузите компьютер.

12 трав. 2020 р.

Настройка изолированного сервера Proxmox после установки


--------------------------------------------------------------
Базовые настройки
--------------------------------------------------------------

При наличии достаточного количества ОЗУ, для уменьшения нагрузки на ЦП отключаем службу KSM

systemctl disable ksmtuned

Отключаем и удаляем раздел Swap, а также раздел Data

swapoff -a
lvremove /dev/pve/swap
lvremove /dev/pve/data

Создаем раздел Swap размером 2 Гб и подключаем его

lvcreate -n swap -L 2G pve
mkswap -L swap /dev/pve/swap
swapon -a

Увеличиваем файловую систему до максимального размера

lvresize -l +100%FREE /dev/pve/root
resize2fs /dev/mapper/pve-root

--------------------------------------------------------------
Ограничение использования Swap
--------------------------------------------------------------

Задаем порог помещения в Swap

sysctl -w vm.swappiness=0
sysctl -p

Переподключаем раздел Swap

swapoff -a
swapon -a

Автоматизируем параметры использования Swap раздела при перезагрузке

nano /etc/sysctl.conf
vm.swappiness = 0

Создаем файл rc.local с запретом неконтролированного помещения данных в Swap

nano /etc/rc.local

Помещаем содержимое скрипта в созданный файл rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# fix for proxmox kernel swappiness problem
for i in $(/usr/bin/find /sys /var/lib 2>/dev/null | /bin/grep slice | grep swappiness) ; do [ -f ${i} ] && /bin/echo 0 > ${i} ; done
exit 0

Делаем файл rc.local исполняемым

chmod +x /etc/rc.local

Создаем файл автозапуска файла rc.local

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

Помещаем содержимое скрипта в созданный файл rc-local.service

[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
After=pve-cluster.service

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

[Install]
WantedBy=multi-user.target

Делаем файл rc.local.service запускаемым при старте системы и и запускаем его вручную

systemctl enable rc-local
systemctl start rc-local.service

--------------------------------------------------------------
Обновление и установка дополнительного ПО
--------------------------------------------------------------

Создаем файл не стабильного репозитория

touch /etc/apt/sources.list.d/pve-no-subscription.list

Заполняем файл репозитория ссылкой

echo 'deb http://download.proxmox.com/debian/pve buster pve-no-subscription' >> /etc/apt/sources.list.d/pve-no-subscription.list

Для версии Proxmox 7 заполняем файл репозитрория ссылкой

echo 'deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription' >> /etc/apt/sources.list.d/pve-no-subscription.list

Комментируем использование коммерческого репозитория

sed -i 's/^/#/' /etc/apt/sources.list.d/pve-enterprise.list

Для версии Proxmox 8 заполняем файл репозитрория ссылкой

echo 'deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription' >> /etc/apt/sources.list.d/pve-no-subscription.list

echo 'deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription' >> /etc/apt/sources.list.d/pve-no-subscription.list

Комментируем использование коммерческого репозитория ceph (только для версии PVE 8)

sed -i 's/^/#/' /etc/apt/sources.list.d/ceph.list

Обновляем систему

apt-get update
apt-get upgrade
apt-get dist-upgrade

Устанавливаем дополнительное ПО. ifupdown2 нужен для переконфигурирования сетевых интерфейсов без перезапуска сервера.

apt install screen mc nmon iotop ioping iptraf iftop speedometer htop nload ncdu ntfs-3g fio ifupdown2 openvswitch-switch

Очищаем ненужное

apt-get autoremove
apt-get autoclean

--------------------------------------------------------------
Локализация консоли
--------------------------------------------------------------

dpkg-reconfigure locales

Выбираем ru_RU.UTF-8 UTF-8 и нажимаем Ок
В следующем окне выбираем ru_RU.UTF-8 и нажимаем Ок

dpkg-reconfigure console-setup

Выбираем UTF-8 и нажимаем Ок
Выбираем Cyrillic — non-Slavic languages и нажимаем Ок
Выбираем Fixed и нажимаем Ок
Выбираем 8х16 и нажимаем Ок

--------------------------------------------------------------
Отключаем окно предупреждения о отсутствии лицензии
--------------------------------------------------------------

Делаем резервную копию оригинального файла

cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js.bak

Комментируем строку проверяющую лицензию

sed -i "s/getNoSubKeyHtml:/getNoSubKeyHtml_:/" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js

--------------------------------------------------------------
Скачиваем драйвера Virtio
--------------------------------------------------------------

wget -P /var/lib/vz/template/iso https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso

--------------------------------------------------------------
Настройка NAT и DHCP на хосте
--------------------------------------------------------------

1. Создаем новый Bridge, например vmbr1 и назначаем ему IP адрес, например 192.168.158.1./24
В настройки созданного бриджа добавляем:

hwaddress ether ab:cd:12:34:56:78

Это нужно для того чтобы виртуальные машины Windows при перезапуске каждый раз не обнаруживали новую сеть.

В конец файла /etc/network/interfaces добавляем следующие правила

#Разрешаем маршрутизацию между интерфейсами
post-up echo 1 > /proc/sys/net/ipv4/ip_forward

#Разрешаем Source NAT из локальной сети 192.168.158.0/24 
post-up iptables -t nat -A POSTROUTING -s '192.168.158.0/24' -o vmbr0 -j MASQUERADE

#Если необходимо, например, пробросить RDP внутрь виртуальной машины с наружного порта 49389 на внутренний 3389. Создаем правила tcp и udp. В правиле указываем интерфейс - бридж на котором назначен внешний IP.
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp -m tcp --dport 49389 -j DNAT --to-destination 192.168.158.10:3389
post-up iptables -t nat -A PREROUTING -i vmbr0 -p udp -m udp --dport 49389 -j DNAT --to-destination 192.168.158.10:3389

#Удаляем правила при остановке
post-down iptables -t nat -D POSTROUTING -s '192.168.158.0/24' -o vmbr0 (enp1s0, eth0 или другие варианты) -j MASQUERADE
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp -m tcp --dport 49389 -j DNAT --to-destination 192.168.158.10:3389
post-down iptables -t nat -D PREROUTING -i vmbr0 -p udp -m udp --dport 49389 -j DNAT --to-destination 192.168.158.10:3389

Устанавливаем dhcp и dns сервер dnsmasq

apt install dnsmasq

Редактируем конфигурационный файл dnsmasq

nano /etc/dnsmasq.conf

Добавляем в конец файла

interface=vmbrl
listen-address=192.168.158.1
dhcp-range=interface:vmbr1,192.168.158.101,192.168.158.199,255.255.255.0,12h
dhcp-option=interface:vmbr1,3,192.168.158.1
dhcp-option=interface:vmbr1,6,192.168.158.1
dhcp-option=interface:vmbr1,15,pve.lan

Перезапускаем dnsmasq /etc/init.d/dnsmasq restart

--------------------------------------------------------------
Инициализация новых дисков в системе
--------------------------------------------------------------

Очистка информации, иницализация в GPT и создание одного раздела типа LVM

sgdisk /dev/sdX -Z -U -R -N 1 -t 1:8e00

Очистка информации, иницализация в GPT и создание одного раздела типа Linux Filesystem

sgdisk /dev/sdX -Z -U -R -N 1 -t 1:8300

--------------------------------------------------------------
Создание тома LVM Thin
--------------------------------------------------------------

Мне не нравится как Proxmox создает lvm thin через веб интерфейс, поэтому делаю это вручную. lvm thin нужен для работы снепшотов.

Создание физического тома (PV)

pvcreate /dev/sdX1

Создание группы томов (VG)

vgcreate volume_group_name /dev/sdX1

Создание раздела Meta (высчитывается как 1% от емкости дисковой группы)

lvcreate -L XG volume_group_name

Создание раздела свободного пространства для расширения раздела Meta в случае завершения в нем места. Минимум 1 Гб

lvcreate -L XG volume_group_name

Создание раздела Data (оставшееся свободное пространство)

lvcreate -l +100%FREE volume_group_name

Удаление раздела свободного места для расширения раздела Meta

lvremove volume_group_name/lvol1

Пример для диска объемом 6 Тб

pvcreate /dev/sdb1
vgcreate data /dev/sdb1
lvcreate -L 15G data
lvcerate -L 5G data
lvcreate -l +100%FREE data
lvremove data/lvol1

Конвертация раздела LVM в разреженный том (Thin Pool) без дублирующего раздела для Meta - pmspare (Данный раздел позволяет восстановить данные в случае повреждения раздела Meta)

lvconvert --type thin-pool --poolmetadataspare n --poolmetadata volume_group_name/lvol0 volume_group_name/lvol2

Переименование раздела lvm thin

lvrename /dev/volume_group_name/lvol2 /dev/volume_group_name/volume_new_name

Увеличение раздела Meta при отсутствии в нем свободного места

lvextend --poolmetadatasize +1G volume_group_name/volume_name