Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    TRIM для ZFS на Proxmox

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    TRIM для ZFS на Proxmox, Proxmox Виртуальная Среда
     
    norsemangrey
    Guest
    #1
    0
    21.04.2021 08:49:00
    Кто-нибудь может объяснить, как работает ZFS TRIM на Proxmox? Особенно интересует разница между установкой autotrim=on и использованием команды zpool trim, а также лучшие практики использования на SSD zpool в сервере Proxmox (простой домашний сервер лаборатории).
     
     
     
    dennismoul
    Guest
    #2
    0
    12.12.2025 21:13:00
    Trim не освобождает место — он просто помогает контроллеру флеш-памяти SSD понять, какие блоки флеша не содержат данных, чтобы заранее их стереть и подготовить к использованию при необходимости.
     
     
     
    Impact
    Guest
    #3
    0
    13.12.2025 01:50:00
    Это возможно, когда вызывается внутри виртуальной машины, например. Просто хотел это упомянуть, потому что мне показалось, что я слишком обобщил выше.
     
     
     
    ucholak
    Guest
    #4
    0
    16.12.2025 16:24:00
    Вы также можете включить обрезку по таймеру/cron КОД: для ZPOOL_NAME_I в $(zpool list -H | awk '{print $1}'); делайте
           systemctl enable zfs-trim-monthly@$ZPOOL_NAME_I.timer --now
       done
     
     
     
    Impact
    Guest
    #5
    0
    16.12.2025 17:37:00
    Почему это лучше, чем просто вызвать /usr/lib/zfs-linux/trim, как показано выше?
     
     
     
    dennismoul
    Guest
    #6
    0
    03.09.2024 21:45:00
    Это бы оптимизировало корневую файловую систему, если вы используете ZFS root. Но оно не будет оптимизировать ZVOLы, которые служат хранилищем для дисков виртуальной машины.
     
     
     
    Riesling.Dry
    Guest
    #7
    0
    12.12.2025 09:50:00
    Как в Proxmox используется или настраивается trim или autotrim, через GUI или командную строку? У меня есть хост PVE с 4x8TB RAID Z1-0 и только один большой CT на 12TB. rpool имеет 31,99TB, но свободно всего 320GB, занято 31,66TB. Интересно, куда делись «пропавшие» 20TB (ок, примерно 20% уходит под RAID-блоки, ОС, метаданные, логи и так далее, но всё равно…). Нет никаких ZFS снапшотов, VZdumps или чего-то ещё, что могло бы занять больше места, чем следовало бы. Я посмотрел на trim и получил примерно следующее:

    Code:
    :~# zfs get autotrim
    bad property list: invalid property 'autotrim'
    :~# zfs set autotrim=on rpool
    cannot set property for 'rpool': invalid property 'autotrim'
    :~# zfs get autotrim rpool
    bad property list: invalid property 'autotrim'
    :~# zpool get trim rpool
    bad property list: invalid property 'trim'
    :~# zfs version
    zfs-2.2.8-pve1
    zfs-kmod-2.2.8-pve1
    :~# modinfo zfs | grep version
    version:        2.2.8-pve1
    srcversion:     571935691D8EEAF8FF853F9
    vermagic:       6.8.12-15-pve SMP preempt mod_unload modversions
    :~# zpool get all rpool | grep -i trim
    rpool  autotrim                       off                            default
    :~# zfs set autotrim=on rpool
    cannot set property for 'rpool': invalid property 'autotrim'

    Что я делаю не так? Возможно, хост изначально неправильно настроен? Как заставить autotrim работать и автоматически освобождать место, чтобы диски не забивались постоянно?

    Спасибо, ~R.
     
     
     
    news
    Guest
    #8
    0
    12.12.2025 09:53:00
    Читайте руководство. Команда: #zpool get/set autotrim  
    zpool get autotrim  
    zpool set autotrim=[on,off]

    Можно настроить cron-задачу примерно так:  
    Команда: zpool trim <имя-zfs-пула>  

    Смотрите: man zpool trim
     
     
     
    Riesling.Dry
    Guest
    #9
    0
    12.12.2025 10:04:00
    команды zpool и zfs! Ха! Я их перепутал, ну и глупенький я! Спасибо, дружище!
     
     
     
    Impact
    Guest
    #10
    0
    12.12.2025 10:06:00
    Ты уверен, что тебе нужен autotrim и что поведение, которое ты наблюдаешь, связано именно с ним? К тому же у тебя уже есть cron-задача, которая выполняет zfs trim за тебя.
     
     
     
    Riesling.Dry
    Guest
    #11
    0
    12.12.2025 10:15:00
    Я совсем не уверен, но я только что сделал zpool set autotrim=on rpool (спасибо @news :°) и надеюсь, что это освободит немного места. Где можно посмотреть этот CRON-задачу? В обычном crontab её не видно. Какая ещё проблема может забивать диск или почему он так заполнен, если trim запускается регулярно?
     
     
     
    Impact
    Guest
    #12
    0
    12.12.2025 10:25:00
    Это содержимое файла /etc/cron.d/zfsutils-linux  
    Bash:  
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

    # TRIM в первое воскресенье каждого месяца.  
    24 0 1-7 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/trim ]; then /usr/lib/zfs-linux/trim; fi

    # Скрамблирование во второе воскресенье каждого месяца.  
    24 0 8-14 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/scrub ]; then /usr/lib/zfs-linux/scrub; fi

    Насколько я знаю, TRIM или его отсутствие не должно влиять на доступное пространство пула. Вот состояние до и после для одного из моих (не RAID) пулов:  
    Bash:  
    NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT  
    bigdata   6.98T  4.20T  2.78T        -         -    34%    60%  1.00x    ONLINE  -

    pve-storage: пятница, 12 декабря 2025, 10:24:56  
    NAME       SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT  
    bigdata   6.98T  4.20T  2.78T        -         -    21%    60%  1.00x    ONLINE  -

    Я бы рекомендовал создать новый вопрос по поводу вашей проблемы с использованием пространства, потому что, думаю, они не связаны. Если решите это сделать, пожалуйста, обязательно приложите хотя бы вот эту информацию:  
    Bash:  
    zpool status -v  
    zfs list -t all -ospace,refreservation

    Цитировать не нужно, моё сообщение прямо над вашим.
     
     
     
    ucholak
    Guest
    #13
    0
    16.12.2025 21:29:00
    /usr/lib/zfs-linux/trim предназначен для cron. Судя по коду, он делает следующее: выполняет trim всех здоровых пулов, у которых не запущен trim, с установленным свойством zfs "org.debian periodic-trim" (auto|on), по умолчанию auto, и trim выполняется автоматически только если в пуле есть NVMe-диск. Таймер предназначен для systemd. systemd-сервис выглядит так:

    Code:  
    # cat /usr/lib/systemd/system/zfs-trim@.service  
    [Unit]
    Description=zpool trim on %i  
    Documentation=man:zpool-trim(8)  
    Requires=zfs.target  
    After=zfs.target  
    ConditionACPower=true  
    ConditionPathIsDirectory=/sys/module/zfs  

    [Service]
    EnvironmentFile=-/etc/default/zfs  
    ExecStart=/bin/sh -c '\  
    if /usr/sbin/zpool status %i | grep -q "(trimming)"; then\  
    exec /usr/sbin/zpool wait -t trim %i;\  
    else exec /usr/sbin/zpool trim -w %i; fi'  
    ExecStop=-/bin/sh -c '/usr/sbin/zpool trim -s %i 2>/dev/null || true'  

    Проверь код и поправь меня, если я ошибаюсь. Можешь судить сам. У всего есть своё назначение. Если ты активируешь systemd-сервис, значит, знаешь, что у тебя там NVMe, и хочешь запускать trim по заданному таймеру (еженедельно, ежемесячно и т.д.). Похоже, что этот сервис не следит за состоянием здоровья пула — это, пожалуй, единственный минус.
     
     
     
    55hp
    Guest
    #14
    0
    03.01.2026 00:04:00
    Я тоже заметил эту проблему в своей лабораторной среде Proxmox. Раньше с Proxmox 8 такого не видел, только после обновления до Proxmox 9. Кроме того, у меня отображается всего 800 ГБ свободного места, хотя должно быть более 1,5 ТБ. Читал, что переустановка root с ISO может решить проблему? Я пробовал тримить root Proxmox, делать zpool trim и тримить виртуальные машины. Искал в root большие файлы — без результата. Удалял и восстанавливал диски VM — без улучшений. Похоже, ZFS выделяет «зомби»-пространство.
     
     
     
    Impact
    Guest
    #15
    0
    03.01.2026 16:48:00
    Пожалуйста, поделитесь выводом команд Bash: zpool status  
    zpool list  
    zfs list -tall -ospace
     
     
     
    55hp
    Guest
    #16
    0
    03.01.2026 23:24:00
    ИЗМЕНЕНИЕ: Я выяснил, что случилось. У меня есть внешний диск, смонтированный в /mnt/backup для резервных копий. В какой-то момент монтаж, должно быть, слетел, и система записывала автоматические бэкапы не на внешний диск, а на корневой раздел. Сейчас у меня свободно 1,9 ТБ. После размонтирования я смог увидеть «зомби»-файлы корня в /mnt/backup.
     
     
     
    Impact
    Guest
    #17
    0
    04.01.2026 04:46:00
    Это довольно просто предотвратить: https://serverfault.com/questions/5...ng-data-to-an-unmounted-mount-point-directory
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры