Proxmox SSD ZFS команда Trim – нужно включать

В этой короткой заметке парочка команд для включения trim в Proxmox VE на SSD дисках с файловой системой ZFS

Столкнулся с такой проблемой, что виртуальная машина в Proxmox VE работающая на SSD и файловой системой ZFS стала работать медленно. Замерил скорость и получил такое:

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


“Trim” – это команда, которая используется для оптимизации производительности SSD (твердотельного накопителя). Когда вы удаляете файл с SSD, операционная система помечает пространство, занимаемое этим файлом, как доступное для записи. Однако на самом деле данные не удаляются сразу, а остаются на диске до тех пор, пока новые данные не перезапишут их.

Команда Trim позволяет SSD уведомлять операционную систему о том, что определенные блоки данных больше не используются и могут быть безопасно очищены. Это помогает улучшить производительность SSD, поскольку диск может заранее подготовить блоки для записи новых данных, не тратя время на очистку блоков во время операции записи.

Таким образом, использование Trim помогает продлить срок службы SSD и поддерживать его производительность на высоком уровне.


Разработчики Proxmox заложили выполнение команды TRIM в ZFS раз в месяц

root@pve22:~# cat /etc/cron.d/zfsutils-linux 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# TRIM the first Sunday of every month.
24 0 1-7 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/trim ]; then /usr/lib/zfs-linux/trim; fi

# Scrub the second Sunday of every month.
24 0 8-14 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/scrub ]; then /usr/lib/zfs-linux/scrub; fi

Это очень редко на мой взгляд и нужно это решать.

Первым делом нужно вручную запустить команду trim на пуле rpool. Если у вас название другое у пула, то подставьте свое.

zpool trim rpool

Что бы постоянно этого не делать нужно установить автоматический trim. Для начала проверим какой установлен на данный момент

root@pve22:~# zpool get autotrim rpool
NAME PROPERTY VALUE SOURCE
rpool autotrim off default

Теперь установим автоматический режим

zpool set autotrim=on rpool

Проверим что получилось

root@pve22:~# zpool get autotrim rpool
NAME PROPERTY VALUE SOURCE
rpool autotrim on local

Вот какой результат показал тест в виртуальной машине через час

Я думаю теперь понятно, что в Proxmox с SSD дисками и ZFS нужно обязательно включать и выполнять команду trim

Источник

Подписаться
Уведомить о
guest
2 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии