Привет! Возможно, у тебя возникла проблема: ты хочешь, чтобы некоторые диски простаивали, но это не работает так, как задумано. Я потратил 2 часа на отладку этой проблемы и решил написать это небольшое руководство.
Симптом: У тебя несколько дисков в твоих Proxmox-машинах, и ты хочешь, чтобы некоторые из них (например, все HDD) простаивали после определенного времени. Допустим, ты хочешь, чтобы `sdc` простаивал, если он не используется. Однако, диски постоянно читаются, как можно выяснить с помощью:
Код: `dstat -D sdc -ta --top-bio` -> постоянные 44Кб чтений каждые несколько секунд.
Анализ: Если ты загуглишь, ты найдешь много обсуждений, где утверждают, что виноват pvestatd, и предлагают исправления, которые невозможны. Однако, pvestatd просто вызывает утилиты LVM, такие как `vgscan`. Если ты запустишь их в отдельной сессии, ты увидишь те же 44Кб чтений на твоем диске. К счастью, есть опция в LVM, чтобы сказать `vgscan` никогда не смотреть на твой диск. (Это, конечно, означает, что ты не можешь использовать LVM на `sdc`, что в моем случае нормально, потому что на нем работает только ZFS).
Решение: Открой файл:
Код: `/etc/lvm/lvm.conf`
И измени `global_filter` с:
Код: `global_filter = [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|" ]`
На:
Код: `global_filter = [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|", "r|/dev/sdc*|" ]`
Добавь запись для каждого диска, который ты хочешь, чтобы `vgscan` игнорировал в будущем.
Сохрани и запусти
Код: `vgscan`
чтобы перезагрузить конфигурации. Ты больше не должен видеть чтений на диске. Надеюсь, это поможет некоторым из вас.
Симптом: У тебя несколько дисков в твоих Proxmox-машинах, и ты хочешь, чтобы некоторые из них (например, все HDD) простаивали после определенного времени. Допустим, ты хочешь, чтобы `sdc` простаивал, если он не используется. Однако, диски постоянно читаются, как можно выяснить с помощью:
Код: `dstat -D sdc -ta --top-bio` -> постоянные 44Кб чтений каждые несколько секунд.
Анализ: Если ты загуглишь, ты найдешь много обсуждений, где утверждают, что виноват pvestatd, и предлагают исправления, которые невозможны. Однако, pvestatd просто вызывает утилиты LVM, такие как `vgscan`. Если ты запустишь их в отдельной сессии, ты увидишь те же 44Кб чтений на твоем диске. К счастью, есть опция в LVM, чтобы сказать `vgscan` никогда не смотреть на твой диск. (Это, конечно, означает, что ты не можешь использовать LVM на `sdc`, что в моем случае нормально, потому что на нем работает только ZFS).
Решение: Открой файл:
Код: `/etc/lvm/lvm.conf`
И измени `global_filter` с:
Код: `global_filter = [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|" ]`
На:
Код: `global_filter = [ "r|/dev/zd.*|", "r|/dev/mapper/pve-.*|", "r|/dev/sdc*|" ]`
Добавь запись для каждого диска, который ты хочешь, чтобы `vgscan` игнорировал в будущем.
Сохрани и запусти
Код: `vgscan`
чтобы перезагрузить конфигурации. Ты больше не должен видеть чтений на диске. Надеюсь, это поможет некоторым из вас.
