Я мог бы:
- изменить размер файловой системы на месте с помощью что-то вроде
resize2fs -p /dev/<device_name_fs_is_on> 20G
Он, несомненно, откажется запускаться в первый раз, предлагая сначала запустить fsck
. Вы можете принудительно запустить его, но настоятельно рекомендуется операция fsck
поскольку попытка изменить размер файловой системы с ошибками (даже незначительными) может привести к катастрофе. Повторите команду resize после завершения проверки.
- скопируйте его на другой диск с помощью
dd if=/dev/<device_name_fs_is_on> of=/path/to/other/location/filesystem.img bs=1048576 count=20480
- переформатировать диски по мере необходимости
- скопируйте файловую систему обратно с помощью
dd if=/path/to/other/location/filesystem.img of=/dev/<new_device_name>
- изменить размер, чтобы заполнить новый раздел с помощью
resize2fs -p /dev/<new_device_name>
- смонтировать недавно измененную файловую систему и отредактировать любую соответствующую конфигурацию, например, /etc /fstab
- вам также нужно будет проверить конфигурацию grub, чтобы убедиться, что она ссылается на имя нового корневого раздела, и вам, возможно, придется пересобрать свой initrd (хотя, вероятно, не так, как вы переходите с RAID на нормальный режим, а не наоборот, что вызывает проблемы, если initrd не поддерживает RAID)
- скрестите пальцы и перезагрузите компьютер ...
Поскольку это ваша корневая файловая система, вам нужно будет сделать это с live CD, так как вы не сможете изменить размер файловой системы (шаг 2), пока она смонтирована.
Если вы изменили 20G, переданный для resize2fs
на шаге 1, убедитесь, что вы изменили 1048576x20480, переданный на dd
на шаге 2, соответственно.
Очевидно, что это не безрисковая операция, поэтому вы можете отдельно скопировать важные данные + конфигурацию в файловой системе другими способами до шага 3.
Для еще большей безопасности: если у вас есть время и запасной диск, восстановите сокращенную файловую систему на дополнительный диск, перенастройте ее соответствующим образом, выполнив шаги 6 и 7, и убедитесь, что вы можете загрузиться с нее, прежде чем переходить к шагу 3. Таким образом, вы знаете, что у вас есть полностью рабочая копия файловой системы в другом месте, прежде чем стирать ее со старого места, и можете легко вернуться к старой настройке и прервать / повторить попытку, если вы обнаружите проблемы на этом этапе.
Таким образом, вы не потеряете какие-либо свойства файла / каталога / устройства при копировании данных, поскольку вы работаете с файловой системой оптом, а не с отдельными файлами, каталогами и узлами устройств.