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

Настройка ZFS: Лимит ОЗУ, Trim, Замена Диска и Создание Пулов #

Ограничение потребления ОЗУ для ZFS #

Чтобы сэкономить память на ZFS, если все ресурсы находятся на одном хосте, можно ограничить объем потребляемой ZFS памяти (ARC). Для этого:

    1. Откройте файл /etc/modprobe.d/zfs.conf и добавьте следующие строки:
      options zfs zfs_arc_min=4294967296
      options zfs zfs_arc_max=10737418240

Значения для настройки:

    • 12 Gb = 12884901888
    • 8 Gb = 8589934592
    • 6 Gb = 6442450944
  1. Сохраните файл и обновите настройки командой:
    update-initramfs -u

Включение Trim #

Trim — полезная опция для SSD, но при неправильной настройке может вызывать значительные задержки ввода-вывода. Для активации Trim:

  1. Однократно выполните Trim для пула:
    zpool trim "poolname"
  2. Для автоматического включения Trim:
    zpool set autotrim=on "poolname"
  3. Проверить статус Trim:
    zpool status -t

Обновление сертификатов при ошибке кластера #

Если нода выпала из кластера с ошибкой сертификата, обновите его следующим образом:

  1. На одной ноде выполните:
    ssh-keygen -f /etc/pve/priv/known_hosts
  2. Затем обновите сертификаты на всех нодах:
    pvecm updatecerts --force

Замена диска в системной пуле ZFS #

Для замены диска в зеркальном массиве ZFS:

  1. Скопируйте таблицу разделов с рабочего диска на новый:
    sgdisk -R /dev/sdb /dev/sdc

    /dev/sdb — новый диск, а /dev/sdc — рабочий диск в рейде.

  2. Определите ID нового диска командой:
    ls -l /dev/disk/by-id
  3. Выполните замену диска в пуле:
    zpool replace -f rpool <старый диск> <новый диск>
  4. После завершения замены загрузите загрузчик во второй раздел:
    /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
Оцените документ
Обновлено 03.02.2025

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *