Переразделение / домашний раздел в CentOS

У меня есть система CentOS 7 с слишком большим размером раздела / home. Я хочу уменьшить его размер, но это XFS, так что это практически невозможно. Так как у меня нет много пользовательских данных в любом случае (только один пользователь в настоящее время), можно ли делить все данные раздела, скопировать его, удалить раздел, переделать его, скажем, ext4, с меньшим размером?

Если да, то каковы команды для этого?

2 Solutions collect form web for “Переразделение / домашний раздел в CentOS”

Поскольку это не корневой раздел ( / ), вы должны иметь возможность сделать это без потери данных, если вы входите в систему как обычный пользователь, обновляются различные файлы в вашем домашнем каталоге (из фонового чтения электронной почты, серфинга и т. Д.). Вы не хотите терять электронные письма, которые были получены между резервной копией и восстановлением).

Важно, чтобы иметь возможность перераспределения заключается в том, что вы входите в систему либо как root, либо как пользователь, у которого нет домашнего каталога в /home . Это делается для того, чтобы иметь возможность размонтировать /home без его использования и перераспределения и переформатировать его.

Вход в систему как root может быть невозможен или, по крайней мере, не рекомендуется, из графического интерфейса (X, я не запускаю CentOS 7 и не могу проверить). Но графические инструменты, вероятно, более просты в использовании, если вы менее опытны в этом. И если вы вошли в систему и имеете обычный рабочий стол, вы также можете использовать Интернет для поиска решений, если все пойдет не так. Поэтому в следующем я минимизирую использование инструментов командной строки.

Вы можете переместить существующий каталог пользователя /home/XYZ например, /home2/XYZ (который находится в корневом разделе), но для этого, вероятно, слишком много данных в этом каталоге. Поэтому я рекомендую следующие шаги (для commands вы должны открыть терминал):

  1. создать нового временного пользователя xyz с домашним каталогом /home2/xyz
  2. убедитесь, что этот пользователь может выдавать команды sudo
  3. выйдите из системы и войдите в систему как этот пользователь (используя GUI, а не через приглашение login:
  4. unmount /home и перемонтируйте его, чтобы убедиться, что в данный момент ничего не используется:

     sudo umount /home sudo mount /home 
  5. убедитесь, что резервный носитель доступен, предположим, что это находится под /mnt/USB01 (обычно вы проверяете, будет ли резервная копия соответствовать, но вы указали, что данных не так много, поэтому я предполагаю, что это так).

  6. используйте tar или cpio для резервного копирования из-под /home (это быстрее, чем копирование отдельных файлов и даже должно работать, если резервным носителем является VFAT).

     sudo tar --create --verbose --file=/mnt/USB01/homebup.tar.bz2 -C /home . 
  7. убедитесь, что вы можете прочитать обратно файл, который вы только что создали:

     sudo tar tvf /mnt/USB01/homebup.tar.bz2 
  8. проверить, какой раздел /home установлен, записать раздел вниз (например, sdX2) и umount:

      mount | grep -f /home umount /home 
  9. закомментируйте запись для /home в /etc/fstab , у вас может быть UUID вместо sdX2 , вы можете найти, какой UUID принадлежит sdX , делая:

     ls -l /dev/disk/by-uuid/ | grep -F sdX2 
  10. перераспределите диск sdX на котором находится раздел, который вы обнаружили на предыдущем шаге, удалив раздел `sdX2 и заново его создав (если он меньше, вы можете создать дополнительные разделы сейчас или отложить это)
  11. сделайте свою файловую систему на одном из вновь созданных разделов (вы можете снова использовать sdX2 , но этот раздел будет иметь новый UUID, так что посмотрите его)
  12. отредактируйте /etc/fstab и убедитесь, что вы можете установить /home , выполнив:

     mount /home 

    (путем редактирования /etc/fstab и установки этого способа у вас будет установлен раздел при перезагрузке).

  13. (необязательно) перезагрузитесь и убедитесь, что /home подключен
  14. восстановить данные в /home с помощью:

     sudo tar xvf /mnt/USB01/homebup.tar.bz2 -C /home 
  15. перезагрузка и вход в систему
  16. удалить временную учетную запись пользователя

Вы можете взглянуть на что-то вроде клонезиллы . С помощью клонезиллы на маленькой ручке USB и где-то для резервного копирования данных (локальных или сетевых) вы могли бы в значительной степени выполнить то, что вы описали, – скопируйте, удалите раздел, переразделите его как с другой файловой системой, так и с меньшим размером , а затем восстановить его. Работа с изображением раздела (обычно это самый простой вариант) не будет работать так хорошо, от большего к меньшему, но вы все равно сможете заставить его работать. Проверьте это!

  • Какие операции с метаданными файловой системы фактически регистрируются в ext4 & xfs?
  • Как проверить версию файловой системы?
  • Использование дискового пространства xfs на 15-30% больше, чем файлы
  • Почему ext4 рекомендуется только до 16 ТБ?
  • Является ли xfs_fsr безопасным для прерывания?
  • Вывод команды ls, запутанной для исходного изображения KVM на XFS
  • 218TB XFS LVM файловая система. 144TB бесплатно. Сообщение об ошибке «Нет свободного места на устройстве»
  • Объемы EBS, установленные в неправильном каталоге после перезагрузки
  • Копирование файла, который записывается одновременно
  • Не удалось установить том XFS после перезагрузки - неизвестная файловая система типа «xfs»
  • Отключить вложенные монтирования, не работающие после размонтированного корня гнезда
  • Linux и Unix - лучшая ОС в мире.