Я собрал свой Linux-бокс (используя Ubuntu 8.04 LTS, в прошлом году), чтобы попробовать Linux. Поскольку это была всего лишь попытка, я решил использовать старый жесткий диск на 80 ГБ, и теперь, как всегда было неизбежно, ему не хватает места. Я купил новый диск (1 ТБ, хотя я не уверен, что это актуально), готовый к установке, чтобы освободить место и, надеюсь, упростить будущие обновления дистрибутива.
Есть ли простой способ, с помощью которого мой /home
раздел можно перенести на новый диск, оставив ОС на старом?
Я понимаю это 'легко'может быть только для заданного значения... но любая помощь приветствуется. Кроме того, вероятно, возникнут какие-либо проблемы с использованием диска емкостью 1 ТБ, мой мобо, кажется, рад поддержать его из руководства, но есть ли какие-то скрытые проблемы Ubuntu с большими размерами дисков?
нет проблем с дисками на 1 ТБ (это не большой ;-))
Создайте раздел и отформатируйте новый диск (сейчас я называю его / dev / sdb1). С размерами разделов более 300 ГБ я предпочитаю XFS.
Теперь выйдите из X, войдите на tty1 как root. Смонтируйте новый раздел в / mnt / temp-home и скопируйте свои данные:
mkdir -p /mnt/temp-home && mount /dev/sdb2 /mnt/temp-home
rsync -WaP /home/ /mnt/temp-home/
Теперь проверьте дважды, содержит ли / mnt / temp-home ваши данные с соответствующими разрешениями и правами собственности. Вы можете переместить имя папки, если хотите, и удалить свой старый дом позже:
mv /home /home_old
От имени root создайте новую точку монтирования и запись в fstab:
umount /mnt/temp-home
mkdir /home
chmod 0755 /home
cat >> /etc/fstab <<EOF
/dev/sdb1 /home xfs defaults 0 2
EOF
mount /home
вы сделали! Теперь войдите в X (gnome / kde / xfce ..). и наслаждайтесь новым драйвом.
Не забудьте удалить / home_old, чтобы освободить место!
Я немного более консервативен, потому что мне приходилось делать это в более крупных системах с данными, которые. Мой метод:
Создайте новую файловую систему и смонтируйте ее где-нибудь (скажем, / mnt / new-home)
От имени пользователя root используйте rsync для копирования данных из текущего местоположения в новое местоположение:
# rsync -avW --progress --delete /home/* /mnt/new-home
Вы можете сделать это, когда система работает и пользователи вошли в систему. Фактически, вы можете сделать это более одного раза - последующие запуски должны быть быстрее, так как большая часть данных уже существует, а флаг --delete очистит файлы, которые был удален. (человек rsync поможет вам с другими выбранными мной флагами.)
Теперь вам нужен период обслуживания, когда вы можете выгнать всех с сервера. Загрузитесь в однопользовательском режиме, повторно смонтируйте / home и / mnt / new-home и снова запустите команду rsync. Этот запуск rsync должен быть быстрым, поскольку 99% работы уже выполнено. (Или, по крайней мере, быстрее, чем запускать его в первый раз, в любом случае - у меня были однопользовательские rsync с последним проходом, которые работали до четырех часов, чтобы почти ничего не делать ...)
Когда это будет сделано, измените / etc / fstab так, чтобы раздел, который вы использовали как новый дом монтируется как / home. Вы также можете смонтировать старый домашний раздел как /home.old или, если это был просто каталог в большом разделе, переименовать его в /home.old.
Перезагрузитесь обратно в многопользовательский режим, и все готово.
Причина, по которой я не использую mv в соответствии с рекомендациями ThorstenS, заключается в том, что у меня был плохой опыт, когда mv вылетало на полпути. Используя rsync, если вы готовите завтрак для собаки из новый дом, вы всегда можете размонтировать его, установить новую версию, и вы снова в деле - данные не потеряны. А еще мне нравится хранить старый исходный код на какое-то время на тот случай, если мой новый диск емкостью 1 ТБ выйдет из строя в первую неделю. Через некоторое время вы будете довольны новым диском (или отчаянно нуждаетесь в пространстве, занятом старым), и вы сможете его очистить.
Ваши резервные копии являются хорошо право? :)