Я мог бы:
- измените размер файловой системы на месте с помощью чего-то подобного.
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. Таким образом, вы знаете, что у вас есть полностью рабочая копия файловой системы в другом месте, прежде чем стереть ее из старого расположения, и может легко вернуться к старой настройке и прервать / повторить попытку, если вы обнаружите проблемы на этом этапе.
Таким образом, вы не потеряете какие-либо свойства файла / каталога / устройства при копировании данных, поскольку вы работаете с файловой системой оптом, а не с отдельными файлами, каталогами и узлами устройств.