У меня есть кластерная система камней с NAS, использующая файловую систему btrfs в конфигурации RAID 10. Недавно мы столкнулись с ошибками «на устройстве не осталось места», которые я, наконец, отследил до почти полного использования метаданных. Поэтому я хочу выполнить операцию балансировки, чтобы исправить эту проблему.
Что мне непонятно, Могут ли наши пользователи продолжать работать и получать доступ к своим каталогам на NAS, пока выполняется операция балансировки? В руководстве по балансировке говорится:
«Состояние файловой системы на диске всегда согласовано, поэтому неожиданное прерывание (например, сбой системы, перезагрузка) не повредит файловую систему. Прогресс баланса операция временно сохраняется и будет возобновлена после монтирования, если не указана опция монтирования skip_balance. "
Это заставляет меня думать, что блоки данных перераспределяются только после того, как балансировка на этом блоке завершена, но я не нашел однозначный ответ на мой вопрос где угодно: безопасно ли пользователям продолжать работу, чтение / запись данных на NAS во время операции балансировки, или необходимо отключить систему во время этого процесса, который может занять много часов или дней для наших ТБ данных?
Да, вы можете сделать это в режиме онлайн. Ссылки на данные или метаданные обновляются только после завершения баланса для определенного фрагмента, поэтому он будет оставаться согласованным даже во время модификации.
Если в системе много транзакций записи, операция балансировки займет немного больше времени, но это много лучше, чем отключать систему.