У меня простая настройка RAID1 с несколькими дисками.
Я понял, что один из разделов не выровнен по границе цилендара, и меня беспокоит, что это плохо, что в какой-то момент вызовет у меня горе.
Обычно я бы использовал gparted для настройки границ, но как это сделать, если разделы используются в массиве RAID1?
Я не хочу идти по маршруту LVM, потому что я этого не понимаю, а простой способ работает нормально, поэтому я бы хотел избежать этой кривой обучения.
Если вы временно можете жить только с одним диском (без избыточности), это, вероятно, самый простой способ просто позволить смещенному разделу выйти из строя, удалить его из массива, а также удалить с него любые метаданные RAID (заменить md-устройства и разделы как обязательный).
Для перераспределения все разделы с этого диска должны быть отключены - это, вероятно, подходящее место, если вы используете только один раздел для своей настройки RAID1 и не разделяете какие-либо другие разделы с RAID или чем-либо еще (например, пространство подкачки ). Если вы используете только один раздел на этом диске и используете этот раздел только для RAID1, вы можете начать так:
mdadm /dev/md0 --fail /dev/sdb1 --remove /dev/sdb1
mdadm --zero-superblock /dev/sdb1
Если у вас есть какие-либо дополнительные разделы на том же физическом диске, сделайте также «сбой, удаление, обнуление».
Пожалуйста, дважды проверьте, что вы используете правильный раздел с правильного диска. Если вы выбрали неправильный раздел и уже «вывели из строя» ваш раздел или даже обнулили суперблок, запустите mdadm /dev/md0 --add /dev/sdb1
немедленно, чтобы восстановить RAID1 и перезапустить переразметку после успешной реконструкции.
После обнуления суперблока вы должны переразбить диск в соответствии с вашими потребностями (используя gparted, parted, sfdisk, cfdisk, fdisk, ...). Конечно, размер раздела с измененным размером должен быть (по крайней мере) таким же, как у первого диска RAID.
После разбиения выполните
blockdev --rereadpt /dev/sdb
чтобы убедиться, что ваше ядро использует последнюю таблицу разделов, и добавьте "сбойный" раздел на ваше MD-устройство:
mdadm /dev/md0 --add /dev/sdb1
Сделайте то же самое для всех остальных разделов и MD-устройств.
Накопитель мгновенно перейдет в режим восстановления и скопирует данные с другого диска на «новый». Вы можете отслеживать прогресс восстановления, используя cat /proc/mdstat
.
Что касается LVM: LVM по сути является «просто еще одним слоем» между диском и вашей файловой системой, подумайте о том, что он заменяет разделы статического размера чем-то, что можно изменить онлайн. Файловые системы также можно наращивать (а иногда и сжимать) онлайн, и вместе с LVM это дает вам некоторую гибкость. Логические тома также можно добавлять, удалять или изменять «на лету», и вы можете добавить больше дисков, чтобы можно было расширить существующие логические тома.
Например, вам не нужно думать о точной схеме разделения, так как позже вы можете добавить еще немного места в существующую файловую систему онлайн. Если ваша система использует один раздел для всех своих файлов (возможно, дополнительный к небольшому / boot-разделу) и вам не нужно добавлять больше места, вы не увидите такой большой выгоды от LVM.
LVM также не поможет, если физический том, используемый для LVM, уже использует смещенный раздел. Технически можно добавить смещение данных при подготовке физического тома (PV) для его использования в LVM, но обычно это не так уж и важно. Исправление смещенного LVM по существу связано с той же головной болью, что и смещенный RAID, но для этого требуются дополнительные, разные инструменты.
Если LVM PV действительно находится на правильно выровненном разделе, новые созданные логические тома также оказываются правильно выровненными, но это просто совпадение из-за того, что физические экстенты большого размера. Если установка LVM настроена на использование физических экстентов размером 1 КБ на диске размером 4 КБ, неверно согласованные логические тома просто могут быть стандартом.
Тем не менее, LVM - это "путь" для большей гибкости, и я действительно рекомендую взглянуть на основные концепции LVM.