Назад | Перейти на главную страницу

Программный RAID с ext4, но без поддержки 64bit

в прошлом году я установил Software-RAID5 размером 5x3 ТБ, что дало 12 ТБ полезной емкости. Сегодня, когда мне нужно больше места для хранения, я завершил наращивание RAID до двух дисков по 3 ТБ:

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid5 sdd1[7] sde1[6] sdb1[4] sda1[5] sdc1[2] sdg1[1] sdf1[0]
      17580801024 blocks super 1.2 level 5, 512k chunk, algorithm 2 [7/7] [UUUUUUU]

unused devices: <none>

Это означает, что теперь у меня должно быть примерно 6x3 ТБ = 18 ТБ на /dev/md0. resize2fs, вызванный без параметра размера, теперь сообщил мне, что новый размер невозможен в 32-битном режиме. Некоторые исследования показали, что это обычная проблема, и ее нелегко решить без серьезной работы, которой я не хочу заниматься.

tune2fs подтвердил, что 64bit-flag действительно отсутствовал :-( хотя в файлах конфигурации auto_64-bit_support = 1 установлен (и также должен был быть установлен при создании файловой системы). Но нет никакого смысла ныть о том, что я не могу потом изменить.

К сожалению, полное резервное копирование и восстановление невозможны (я знаю, что там должен существует резервная копия все данные, но денег достаточно только для резервного копирования действительно важная его часть).

Затем я попытался изменить размер файловой системы до 16 ТБ с помощью resize2fs -S 128 /dev/md0 16T который, казалось, работал, но вернулся с ошибкой, сообщив мне, что на устройстве недостаточно места, и посоветовал мне запустить e2fsck -fy /dev/md0 - странная вещь. Мое сердце колотилось как сумасшедшее, пока этот чек не вернулся, окей! Сказать ему изменить размер до 15T хотя работал.

Я думаю, что мы можем прожить около 15 ТБ еще несколько месяцев, но около 3 ТБ без толку - это то, что мне действительно не нравится. У меня вопрос, как я могу использовать эти 3 ТБ. Мои направления исследований были

но ни одно из этих «решений» не было достаточно хорошо задокументировано / протестировано или не было вариантом, как указано выше, поэтому сейчас я застрял с /dev/md0 размером 18 ТБ, содержащий файловую систему ext4, при этом всего 15 ТБ и 3 ТБ свободного места. Есть ли у кого-нибудь идеи, что еще я мог бы попробовать / сделать / рассмотреть?

Я столкнулся с тем же самым SNAFU на машине CentOS 6. Мое ядро ​​поддерживает 64-разрядную версию, но файловая система изначально не была отформатирована с установленным 64-разрядным флагом. Нет поддержки> 16 ТБ. :-( Могу подтвердить, что tune2fs здесь не поможет. Вы не можете преобразовать файловую систему ext2 / 3/4 в 64-битную.

Мне повезло в том, что я использую LVM поверх своего массива MD, поэтому я решил добавить пространство в свой массив несколько окольными путями, создав еще один LV с запасным пространством в моем массиве MD и форматируя что с использованием 64-битного варианта. Затем я перемещаю некоторые данные из старой файловой системы в новую, затем сжимаю старую файловую систему, изменяю размер (сжимаю старые, увеличиваю новые) группы томов LVM, увеличиваю 64-битную файловую систему и повторяю (несколько раз) . Это не идеально, но я рекомендую повторно разбить массив md и сделать это таким образом. Это возможно. (GParted будет здесь очень полезен)

Чтобы обратиться к вашим направлениям исследований, из моего опыта системного администратора:

  • Преобразование в BTRFS, вероятно, не вариант. Как предполагается в документации, BTRFS все еще находится в разработке (даже 3.12, которая включена в ядро ​​3.1), и ее не следует использовать для хранения критических (а не резервных копий) данных. Хотя нет никаких оснований предполагать, что ваша файловая система спонтанно повредит сама себя, это немного опаснее, чем использование ext4.

  • Разбиение на разделы - это лучший способ, который значительно упрощается с помощью таких инструментов, как GParted. С LVM еще проще ...

  • Вы жестяная банка установите LVM, и вы сможете пытаться сторонний инструмент под названием Блоки чтобы преобразовать ваш md-массив (блочное устройство) в том LVM и группу хранения. Это немного упростит повторное разделение и изменение размера. Хотя вам не нужно преобразовывать корневую файловую систему, этот инструмент может помочь добавить LVM в микс. Я бы ошибся в том, чтобы не пойти по этому пути, если что-то станет FUBAR. Я заранее тренировался на испытательном стенде.

Возможно, просто придерживайтесь повторного разделения (и ручного форматирования вашего нового раздела с помощью mkfs.ext4 -O 64bit ....) с помощью GParted и перемещайте данные вручную. Убедитесь, что все ваши файлы имеют размер <3 ТБ, в противном случае вам также понадобится внешнее хранилище в миксе.