Как заменить корневую файловую систему (ext4) на новую в LVM с большим количеством инодов?

Как заменить корневую файловую систему (ext4) на новую в LVM с большим количеством инодов?

У меня есть несколько систем, которые работают более десяти лет в кластере на SLES 10 (сейчас уже давно EOL). Мы переходим на CentOS 6 64-бит. Я сделал все, кроме финальной синхронизации данных, и вот сюрприз, у меня закончилось место на диске... только оно в таблице инодов, а не в сырой емкости. ReiserFS (используется на SLES-боксах) не устанавливает ограничения — на самом деле, я даже не знаю, сколько инодов используется, потому что он не только не устанавливает, но даже не отслеживает/не сообщает о них. Я могу получить это число с помощью одной строки, без проблем.

Моя проблема в основном связана с LVM, вероятно. Это мое слабое место. Я просто действительно - довольно - новичок в его использовании, в основном использовал raw-устройства с 1993 года.

У меня есть новая машина с группой логических томов, содержащей раздел подкачки и корневую файловую систему в виде двух томов. Это колоссальные 100 ГБ, но для этого нужно иметь более 6,5 млн инодов... У меня вышло около 6,4 млн.

Я полностью понимаю, что мне нужно создать совершенно новую файловую систему ext4, поскольку увеличить количество инодов вообще невозможно.

Я работаю под VMWare, что помогает. Я могу просто добавлять/удалять виртуальные диски по мере необходимости.

Я хочу в основном заменить корневую файловую систему на ту, которая имеет лучшее соотношение инодов для наших нужд. В чем я не уверен, так это в том, как обращаться с частями LVM этого, а также с фактическим «восстановлением данных без восстановления самой файловой системы [т. е. той части, которая содержит таблицу инодов и т. д.]. Мне в основном нужно перенести данные на запасной виртуальный диск, переформатировать корневой раздел по мере необходимости, а затем восстановить диск. LVM мешает мне, с точки зрения знаний. Я в некоторой степени ознакомился с lvcreate, lvchange и т. д., но я мог бы использовать подробное описание того, какие инструменты правильно использовать для управления всей файловой системой (это одна файловая система, которая вся находится в /, поэтому она включает /dev и т. д.), а также резервного копирования и восстановления, и особенно подкачки LVM.

Если это поможет при написании команд и т. п., предположим, что vg_webserver4c6 — это группа логических томов, а lv_root и lv_swap — это имена логических томов. lv_root — проблемный дочерний элемент.

Любая помощь будет высоко оценена — чем подробнее, тем лучше!

Спасибо!

решение1

  1. Используйте tar или rsync для резервного копирования всей файловой системы. Не нужно включать /dev/, /proc или /sys: они создаются во время загрузки.

  2. нет необходимости использовать какие-либо команды lv, поскольку вам не нужно изменять размер lv_root, вам просто нужно заново создать файловую систему с 10 миллионами инодов:

    mkfs.ext4 -N 10000000 /

  3. используйте tar или rsync для восстановления файлов

  4. исправьте свой загрузчик (перезапустите grub-install)

Вот и все.

Связанный контент