Настройка ZFS: Лимит ОЗУ, Trim, Замена Диска и Создание Пулов #
Ограничение потребления ОЗУ для ZFS #
Чтобы сэкономить память на ZFS, если все ресурсы находятся на одном хосте, можно ограничить объем потребляемой ZFS памяти (ARC). Для этого:
-
- Откройте файл
/etc/modprobe.d/zfs.conf
и добавьте следующие строки:options zfs zfs_arc_min=4294967296 options zfs zfs_arc_max=10737418240
- Откройте файл
Значения для настройки:
-
12 Gb
= 128849018888 Gb
= 85899345926 Gb
= 6442450944
- Сохраните файл и обновите настройки командой:
update-initramfs -u
Включение Trim #
Trim — полезная опция для SSD, но при неправильной настройке может вызывать значительные задержки ввода-вывода. Для активации Trim:
- Однократно выполните Trim для пула:
zpool trim "poolname"
- Для автоматического включения Trim:
zpool set autotrim=on "poolname"
- Проверить статус Trim:
zpool status -t
Обновление сертификатов при ошибке кластера #
Если нода выпала из кластера с ошибкой сертификата, обновите его следующим образом:
- На одной ноде выполните:
ssh-keygen -f /etc/pve/priv/known_hosts
- Затем обновите сертификаты на всех нодах:
pvecm updatecerts --force
Замена диска в системной пуле ZFS #
Для замены диска в зеркальном массиве ZFS:
- Скопируйте таблицу разделов с рабочего диска на новый:
sgdisk -R /dev/sdb /dev/sdc
/dev/sdb — новый диск, а /dev/sdc — рабочий диск в рейде.
- Определите ID нового диска командой:
ls -l /dev/disk/by-id
- Выполните замену диска в пуле:
zpool replace -f rpool <старый диск> <новый диск>
- После завершения замены загрузите загрузчик во второй раздел:
/usr/sbin/pve-efiboot-tool format /dev/sdb2 --force /usr/sbin/pve-efiboot-tool init /dev/sdb2
Создание пулов ZFS #
Для создания различных RAID-конфигураций используйте команду zpool create
, подставив ID дисков, которые можно получить так:
ls -l /dev/disk/by-id
- RAID0:
zpool create namepool dev1 dev2
- RAID1 (зеркало):
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
- Импорт конкретного пула:
zpool import namepool
Или с изменением имени:
zpool import namepool new_namepool
Принудительный импорт:
zpool import -f namepool
- Экспорт пула:
zpool export namepool
Принудительный экспорт:
zpool export -f namepool
Добавить комментарий