Skip to main content

Полезные команды для Proxmox (оптимизация ZFS)

Лимит потребления ОЗУ ZFS'ом (помогает экономить память, если у вас все на одном хосте)
правим файл /etc/modprobe.d/zfs.conf, добавляем в него строчки

options zfs zfs_arc_min=4294967296
options zfs zfs_arc_max=10737418240
 
# 12Gb 12884901888
# 8Gb 8589934592
# 6Gb 6442450944

сохраняем и применяем командой

update-initramfs -u

Включаем Trim (Опция полезная, однако может вызвать большие задержки ввода-вывода, если не правильно настроить)

#выполнить разово
zpool trim "poolname"
#автоматический режим
zpool set autotrim=on "poolname"
#Узнать статус
zpool status -t

Нода выпала из кластера с ошибкой сертификата, обновляем сертификат

#Выполняем только на одной ноде (эта папка общая для всех нод)
ssh-keygen -f /etc/pve/priv/known_hosts
#А эту команду уже выполняем на всех нодах
pvecm updatecerts --force

Замена диска в системной пуле (это если систему поставили на диски в зеркале ZFS)

Читай доку тут

# Делаем копирование таблицы разделов с рабочего диска на новый
# /dev/sdb - новый диск, /dev/sdc - оставшийся рабочий диск в рейде.
sgdisk -R /dev/sdb /dev/sdc

#Для реплейса нас интересует только 3 раздел, а во 2 раздел мы позже загрузим загрузчик.
 
#Узнаём ID диска и копируем его
ls -l /dev/disk/by-id
 
 
zpool replace -f rpool <старый диск> <новый диск>
#Пример с PVE9. Повторюсь, нужен только 3-ий раздел
#zpool replace -f rpool ata-WDC_WDS120G2G0A-00JH30_202729802872-part3 ata-128GB_SSD_K25885R001887-part3
#Ждём когда пройдёт замена
 
#После замены загружаем загрузчик. Помним, грузим во второй раздел.
/usr/sbin/pve-efiboot-tool format /dev/sdb2 --force
/usr/sbin/pve-efiboot-tool init /dev/sdb2
#На этом всё. Для теста можете провести эксперимент, отключив диск, который остался рабочим.

Создание пулов

devX это ID диска, узнать его так

ls -l /dev/disk/by-id

#RAID0
zpool create namepool dev1 dev2

#RAID1 (mirror)
zpool create namepool mirror dev1 dev2
#принудительно
zpool create -f namepool mirror dev1 dev2

#RAID10
zpool create namepool mirror dev1 dev2 mirror dev3 dev4

#принудительно
zpool create -f namepool mirror dev1 dev2 mirror dev3 dev4

Добавление зеркала в существующий пул

zpool add namepool mirror dev1 dev2

Импорт/экспорт пула

zpool import
#просто покажет список пулов, которые готовы к импорту в системе, в этом списке вы и увидим имя нужного пула для импорта

#Импорт нужного нам пула, без изменения имени пула, иногда просит использовать параметр -f
zpool import namepool
#или
zpool import -f namepool

#Импорт нужного нам пула, с изменением имени пула, иногда просит использовать параметр -f
zpool import namepool new_namepool 
#или
zpool import -f namepool new_namepool

#Экспорт нужного нам пула, иногда просит использовать параметр -f
zpool export namepool
#или
zpool export -f namepool