Назад | Перейти на главную страницу

Как интегрировать / home обратно в основной раздел, а затем увеличить раздел

Я ошибся при настройке одной из наших виртуальных машин Linux на базе XenServer. Я создал отдельный своп (хорошо) и большой отдельный каталог / home (плохо), хотя на самом деле вместо этого должен был быть большой отдельный каталог / var.

Теперь, когда / var почти заполнил корневой диск, я хотел бы реинтегрировать / home обратно в корневой раздел, удалить старый раздел 921 ГБ / home, затем увеличить корневой раздел до 921 ГБ, оставив раздел / swap нетронутым.

В настоящее время:

[root@ /]# df -h

Filesystem                       Size  Used Avail Use% Mounted on 
/dev/mapper/VolGroup-lv_root      50G   43G  4.0G  92% / 
tmpfs                            3.9G     0  3.9G   0% 
/dev/shm /dev/xvda1              485M   72M  388M  16% /boot 
/dev/mapper/VolGroup-lv_home     921G  200M  874G   1% /home

Таким образом, более четко, мне нужно знать, как переместить / home и его содержимое в корневой раздел (/ dev / mapper / VolGroup-lv_root) и заставить Linux распознавать его как домашний каталог ОС, удалите / dev / mapper / VolGroup- lv_home, а затем увеличьте раздел / dev / mapper / VolGroup-lv_root, чтобы занять дополнительные 921 ГБ.

Я открыт для обмена местами / home и / var, если это возможно, но это рабочий сервер. Хотя я могу делать мгновенные снимки по своему желанию, так что можно поэкспериментировать поздно ночью! ;)

Спасибо!

Это довольно просто, как root:

mkdir /home2
mv /home/* /home2/
umount -fl /home
lvremove /dev/VolGroup/lv_home
mv /home2 /home
  • отредактируйте свой fstab и удалите запись для / dev / VolGroup / lv_home
  • проверьте, сколько места у вас теперь доступно в VolGroup с помощью vgdisplay и добавьте его в lv_root с помощью lvextend
  • используйте resize2fs или xfs_growfs в зависимости от ситуации на lv_root

Этот процесс будет работать, если ваша корневая файловая система может изменять размер (например, ext4).

  1. изменить существующего пользователя или создать нового пользователя, чей домашний каталог не находится в / home.
  2. убедитесь, что вы можете войти в систему как этот пользователь и su в качестве root
  3. убедитесь, что все остальные пользователи вышли из системы
  4. umount / home - если это не удается, пользовательские процессы могут по-прежнему использовать / home. Проверьте с помощью фьюзера или lsof
  5. перемонтировать / dev / mapper / VolGroup-lv_home на временном монтировании - например / mnt / home
  6. используйте rsync, cp -p или какой-либо другой инструмент для копирования домашних каталогов пользователей из / mnt / home в / home - убедитесь, что права доступа и права собственности верны
  7. отредактируйте fstab, чтобы закомментировать / home
  8. теперь пользователям может быть разрешено войти в систему
  9. lvremove / dev / VolGroup / lv_home
  10. lvextend -L + 921G / dev / VolGroup / lv_root
  11. resize2fs / dev / VolGroup / lv_root

Вы также можете сделать это, не увеличивая раздел, просто поменяв местами точки монтирования:

размонтировать домашний раздел:

umount /home

смонтируйте его где-нибудь еще, например to / mnt:

mount /dev/mapper/VolGroup-lv_home /mnt

переместите все из раздела в домашний каталог (который сейчас находится в корневом разделе):

mv /mnt/* /home/

переместите данные из каталога / var в раздел:

mv /var/* /mnt/

перемонтируйте свой раздел в / var:

umount /mnt

mount /dev/mapper/VolGroup-lv_home /var

Обязательно измените содержимое вашего /etc/fstab впоследствии соответственно.