Как перенести home на другой диск
Перейти к содержимому

Как перенести home на другой диск

  • автор:

K210.ORG

после прочтения статьи об оптимальной разметке диска http://ubuntologia.ru/partitioning-recommendations, решил вынести /home на отдельный диск. Немного погуглив, напоролся на 2 статьи http://www.ubuntu4life.com/node/30 и http://www.psychocats.net/ubuntu/separatehome, которые были взяты мной за основу. Ниже, непосредственно, описан мой личный опыт, поэтому что то может не совпадать с исходными статьями. И так начнем:
Каким образом выделить диск и отформатировать в нужную вам файловую систему я пропущу, об этом есть статья на убунтологии http://ubuntologia.ru/prepare-computer.

Диск создан. Теперь создадим папку, в которую будем копировать наши файлы и примонтируем туда наш новосозданный диск. Для себя я выбрал ext3, а вы выбирайте на свой вкус. Соответственно, если вы выберете ext4 или что либо другое, то, необходимо будет внести соответствующие правки в команду.

$sudo mkdir /mnt/newhome
$sudo mount -t ext3 /dev/sda4 /mnt/newhome

ВНИМАНИЕ, у вас диск (sda4) может иметь другое название .
Перейдем в нашу домашнюю директорию и скопируем все содержимое

$cd /home/
$find . -depth -print0 | sudo cpio —null —sparse -pvd /mnt/newhome/

Обязательно убедитесь, что все скопировано правильно.
Теперь размонтируем диск

$sudo umount /mnt/newhome

Создадим бэкап, путем переноса всего содержимого.

$sudo mv /home /old_home

И так как папка перенеслась, создадим папку home по новой.

$sudo mkdir /home

Монтируем новый home

$sudo mount /dev/sda4 /home

Не забываем изменить sda4, согласно своего диска
Проверяем, все ли в порядке с нашим новым home
Теперь укажем, системе на новый /home
Открываем файл fstab вашим любимым тестовым редактором (в моем случае gedit).

sudo gedit /etc/fstab

И добавляем в конец эту строчку (не забываем заменить sda4 на свой)

/dev/sda4 /home ext3 nodev,nosuid 0 2

Сохраняем и выходим.
Перед перезагрузкой убедитесь, что ваш новый /home примонтирован и работает.

Теперь самое время поговорить о подводных камнях.
После перезагрузки, вы столкнетесь с проблемой, права доступа будут нарушены. Ниже решение данной проблемы.
При загрузке системы, выбираем recovery mode, как на картинке

Затем

После чего вводим следующее

chown -R username:username /home/username
chmod 644 /home/username/.dmrc
chmod 644 /home/username/.ICEauthority
exit

Вместо username вводим свое имя пользователя
Последний шаг данной процедуры

Вот результат моих действий

Если все грузится нормально, и вы довольны результатом делаем последний рывок, а именно удаляем наш бэкап (но если не хотите, можете оставить все как есть)

sudo rm -rf /old_home

Все.
Еще раз обращаю внимание на то, что здесь полностью описан проделанный мною процесс. Я не испробовал на себе функцию восстановления бэкапа, который описан в конце статьи из второй ссылки.

Форум русскоязычного сообщества Ubuntu

Страница сгенерирована за 0.043 секунд. Запросов: 25.

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Перенос папки home на другой диск

n-новый раздел
p-primary
три раза жмем ENTER. И в конце сохраняем запись в таблицу w.

fdisk –l

Видим наш диск как блочное устройство /dev/xvdb1

mkfs -t xfs /dev/xvdb1

Тип файловой системы можете выбрать ext3, ext4, или xfs

Копируем файлы пользователей в папку /tmp. Если данных много, то сохраняем их на внешний носитель, как подключить внешний диск в Linux читайте в статье про mount.

cp –a /home /tmp

Монтируем наш новый диск в каталог /home

mount /dev/xvdb1 /home/

Возвращаем папки пользователей в /home

cp -a /tmp/home/* /home/

При желании можно было добавить диск в LVM группу и увеличить всю файловую систему как это сделать можно прочитать здесь. Неудобство этого подхода заключается в том, что при использовании скажем виртуальных машин, при переносе виртуалки на другой сервер, придется переносить и данные пользователей. Которые часто занимают достаточно большой объем. Если же каталог пользователей будет на отдельном виртуальном диске, то достаточно перенести систему, а потом примонтировать диск пользователей.

Так же можно создать отдельный LVM том для каталога /home, как это сделать читайте здесь. Это позволит в будущем использовать все преимущества LVM.

Не забудьте добавить в файл /etc/fstab, следующую строку

/dev/xvdb1 /home xfs defaults 0 0

Иначе после перезагрузке диск будет отмонитрован.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Вынос /home на другой диск

nafanja avatar

нужно так нужно, делай…
Достаточно остроумно. Не мог бы сразу подсказать метод реализации?

Участник с: 17 февраля 2011

Участник с: 27 сентября 2020

Aivar
Метод реализации (под рутом, выйдя из пользователя):
копируешь архивно (cp -a) каталог пользователя на «другой диск»;
удаляешь старый каталог пользователя из корня;
монтируешь новый каталог пользователя в /home;
вносишь изменения в fstab;
пользуешься.

nafanja avatar

Участник с: 02 июня 2012

заблокирован

Tozoid
Не мог бы сразу подсказать метод реализации?

легко
создаешь раздел на другом диске, форматируешь, копируешь все из /home на новое место,
корректируешь fstab (прописываешь монтирование нового раздела в /home), переименовываешь /home в /home_old и создаешь пустую папку /home, перезагружаешся.
если все работает, то удаляешь /home_old.

Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *