- Перенос папки home на другой диск
- Linux для начинающих. Часть 4. Перенос каталога /home на отдельный раздел диска
- Подготовка к переносу каталога /home на отдельный дисковый раздел
- Алгоритм переноса каталога /home
- 1. Создаем на диске новый раздел для каталога /home
- 2. Перенос пользовательских данных в новый раздел
- 3. Монтируем новый раздел в каталог /home при загрузке системы
- 4. Оптимизация размеров дисковых томов
- Что делать если после внесенных изменений система не запускается
Перенос папки home на другой диск
Смотрим доступные диски использую fdisk
Видим наш новый подключенный диск как /dev/xvdb. Создаем новый раздел
n-новый раздел
p-primary
три раза жмем ENTER. И в конце сохраняем запись в таблицу w.
Видим наш диск как блочное устройство /dev/xvdb1
Тип файловой системы можете выбрать ext3, ext4, или xfs
Копируем файлы пользователей в папку /tmp. Если данных много, то сохраняем их на внешний носитель, как подключить внешний диск в Linux читайте в статье про mount.
Монтируем наш новый диск в каталог /home
Возвращаем папки пользователей в /home
При желании можно было добавить диск в LVM группу и увеличить всю файловую систему как это сделать можно прочитать здесь. Неудобство этого подхода заключается в том, что при использовании скажем виртуальных машин, при переносе виртуалки на другой сервер, придется переносить и данные пользователей. Которые часто занимают достаточно большой объем. Если же каталог пользователей будет на отдельном виртуальном диске, то достаточно перенести систему, а потом примонтировать диск пользователей.
Так же можно создать отдельный LVM том для каталога /home, как это сделать читайте здесь. Это позволит в будущем использовать все преимущества LVM.
Не забудьте добавить в файл /etc/fstab, следующую строку
Иначе после перезагрузке диск будет отмонитрован.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Linux для начинающих. Часть 4. Перенос каталога /home на отдельный раздел диска
Здравствуйте уважаемые читатели блога www.ithabits.ru. В предыдущей публикации темы “Linux для начинающих” мы выяснили какие преимущества дает размещение каталога /home на выделенном дисковом разделе.
В этой же статье мы рассмотрели алгоритм установки операционной системы Linux с гарантированным выделением отдельного тома для монтирования каталога домашних папок пользователей.
В алгоритмах установки некоторых популярных дистрибутивов уже присутствует в явном виде возможность создания и монтирования дополнительных дисковых разделов. К сожалению, в самом популярном на сегодняшний день дистрибутиве Linux Mint такой возможности пока нет.
Интересно отметить, что среди читателей блога, принявших участие в выборе наиболее популярного Linux-дистрибутива, почти половина из них (43%) также отдали свое предпочтение этому дистрибутиву.
Однако как быть тем, кто уже установил операционную систему Linux на свой компьютер с использованием дефолтных установок, при которых каталог /home оказался в общей компании с остальными системными папками?
Нужно ли переустанавливать в этом случае операционную систему “с нуля”? Конечно нет.
Сегодня мы разберемся с тем, как просто и безопасно перенести пользовательский каталог /home на отдельный раздел диска в уже установленной системе на примере популярного Linux Mint.
Процедуру переноса мы осуществим в среде данной ОС, загруженной с LiveCD (CD или USB-Flash). Это проще, безопаснее, а главное, понятнее, что немаловажно, особенно для начинающих пользователей.
Подготовка к переносу каталога /home на отдельный дисковый раздел
Для успешного выполнения операции переноса нам потребуются:
1. Загрузочный USB Flash Drive (флешка) с дистрибутивом Linux Mint;
Это устройство является обязательным.
Напомню, что для создания загрузочного USB-носителя в среде Windows можно воспользоваться замечательной утилитой Universal USB Installer.
В Linux Mint специально для этой цели предназначено приложение из категории “Стандартные”, которое так и называется “Создание загрузочного USB-носителя”.
2. Внешнее устройство хранения, например USB HDD или другой компьютер с подключением к локальной сети;
3. Загрузочный USB Flash Drive (флешка) с системой для создания дисковых образов, например с Clonezilla Live.
Атрибуты перечисленные во втором и третьем пунктах не являются обязательными, но крайне желательны.
Как мы увидим дальше, внешний накопитель может понадобиться для временного сохранения содержимого каталога /home.
Дело в том, что если на момент переноса в пользовательских каталогах хранится большое количество информации, то это может осложнить процесс создания нового раздела – на диске попросту может не оказаться достаточно свободного места. В этом случае и может потребоваться временно переместить файлы на другой носитель.
Если внешний накопитель отсутствует, то другим вариантом решения этой задачи может быть многократная последовательная переразметка дисковых разделов. Главное, чтобы в первый момент на диске все же было незанятое пространство объемом равным объему пользовательских данных.
Очень желательно, а на мой взгляд просто необходимо, до начала любых манипуляций с системой сделать ее резервную копию. Для этой цели идеально подходит программа Clonezilla Live, описанию возможностей которой ранее было уделено достаточно пристальное внимание.
Записать загрузочную флешку с Clonezilla Live можно с помощью тех же упомянутых в первом пункте инструментов.
После того, как сделана резервная копия жесткого диска и на диске высвобождено достаточное количество свободного пространства, можно приступать к переносу каталога /home.
Алгоритм переноса каталога /home
1. Создаем на диске новый раздел для каталога /home
Для этого загружаем компьютер с USB-носителя с дистрибутивом Linux Mint и запускаем утилиту GParted.
GParted представляет собой очень мощную программу для работы с дисковыми разделами в среде Linux. Она имеет локализованный графический интерфейс, что делает ее использование достаточно легким даже для неподготовленного пользователя.
Мы уже неоднократно использовали GParted ранее, например в контексте переноса системы на SSD.
Правда, при работе с LiveCD придется довольствоваться англоязычным интерфейсом, но это совершенно не проблема.
Если для дефолтной установки Linux Mint был предоставлен целый диск, то скорее всего он был размечен примерно таким образом:
Очевидно, что все папки Linux расположены на первом разделе диска /dev/sda1 и смонтированы в корневой каталог “/”.
- Уменьшаем размер основного раздела /dev/sda1 до нужного значения
Без пользовательских данных для нужд операционной системы Linux в большинстве случаев будет достаточно 10…15 Гб.
Как мы уже отметили выше, если /home занимает большой объем, то сразу уменьшить размер раздела до желаемого значения может не получиться. В этом случае нужно будет или все же постараться и временно разгрузить пользовательские папки, или изменять размеры разделов за два приема.
Выделяем первый раздел и выбираем в меню Partition –> Resize/Move.
Задать новый размер дискового раздела можно непосредственно в соответствующем окне или перемещая боковые границы верхнего прямоугольника.
Обратите внимание, что программа GParted сразу вычислила объем имеющихся данных и, соответственно, минимально возможный размер раздела.
После того, как вы нажмете «Resize/Move», ничего не произойдет – задание будет лишь добавлено в очередь.
В таблице разделов появилась (запланировано появление) незанятая область между sda1 и расширенным разделом sda2.
- Увеличиваем размер sda2 на величину незанятого пространства
Для этого сдвигаем начало sda2 в сторону sda1.
Если утилита GParted не позволяет это сделать, проверьте в ней же не произошло ли автомонтирование разделов. Например, мог подключиться linux-swap. В этом случае нужно выбрать “Swapoff”.
После этой операции появится незанятое пространство (unallocated) внутри расширенного раздела (контейнера) sda2.
- Передвигаем sda5 (linux-swap) в началоsda2
Делать это не обязательно. Причем GParted предупредит о том, что перемещение раздела подкачки может привести к проблемам при запуске системы.
Теоретически считается, что раздел подкачки лучше размещать ближе к началу жесткого диска HDD для ускорения операций чтения/записи. К SSD это, естественно, не относится. На практике почувствовать это ускорение вряд ли получится.
- Создаем на диске новый раздел для /home
Выделяем область unallocated и нажимаем “New”.
Если под домашний каталог планируется отдать все высвобожденное место, то менять ничего не придется.
При желании можно создать два новых раздела: один для /home, еще один, например, для больших или временных файлов. Такую конфигурацию файловой системы мы рассматривали в прошлый раз, когда разбирали “правильную” установку операционной системы Linux на компьютер.
Проверяем или задаем желаемый тип файловой системы — File system. По умолчанию будет выбрана ext4. В подавляющем большинстве случаев имеет смысл оставить этот дефолтный тип файловой системы.
Еще раз напоминаю, что пока никаких реальных изменений на диске не произошло. До тех пор, пока не запущен процесс выполнения заданий, их можно менять, удалять, добавлять новые и т.д.
- Принимаем новую разметку разделов
Нажимаем “Apply All Operations” и ждем завершения операций. Их продолжительность будет определятся объемом перемещаемых данных и скоростью дисковой подсистемы компьютера.
В конечном итоге должно получиться примерно так:
Для того, чтобы убедиться, что манипуляции с разделами прошли успешно, выходим из GParted и перезапускаем компьютер в обычном режиме (не с LiveCD).
2. Перенос пользовательских данных в новый раздел
Если компьютер запустился нормально, выключаем его и вновь стартуем с загрузочной флешки.
Теперь нам нужно перенести все содержимое /home на только что созданный новый раздел.
- Создаем в каталоге /media Live-системы две временные папки
Назовем их, например, fs_old и home_new. Создать их можно в терминале (Terminal) с помощью команд:
sudo mkdir /media/fs_old
sudo mkdir /media/home_new
Или непосредственно в файловом менеджере. Для Linux Mint 17, в котором выполнены примеры для статьи, это “Nemo”. Однако запустить его нужно с повышенными привилегиями:
- Для доступа к данным смонтируем нужные разделы в созданные папки
Название (номер) ранее созданного раздела можно посмотреть в GParted или с помощью команды blkid.
sudo mount /dev/sda1 /media/fs_old
sudo mount /dev/sda6 /media/home_new
- Копируем все содержимое /home в новый раздел:
sudo cp -a /media/fs_old/home/* /media/home_new
На всякий случай можно запустить файловый менеджер и убедиться, что данные скопированы.
- Удаляем пользовательские данные из их предыдущего расположения (с раздела sda1):
sudo rm -rf /media/fs_old/home/*
3. Монтируем новый раздел в каталог /home при загрузке системы
Для того, чтобы система увидела перенесенные на другой диск пользовательские каталоги при старте, необходимо добавить соответствующую инструкцию в файл fstab.
fstab (file systems table) – один из основных конфигурационных файлов системы Linux, в котором прописаны точки и опции монтирования разделов жесткого диска и других носителей в процессе загрузки операционной системы. Этот файл находится в папке /etc.
sudo gedit /media/fs_old/etc/fstab
Параллельно запускаем GParted и из окна свойств раздела sda6 копируем его UUID.
Далее в открытом окне текстового редактора добавляем в конец fstab такую строку с только что найденным UUID:
UUID=1734e4c4-9755-41ff-9e75-739966cdf365 /home ext4 defaults 0 2
Альтернативным вариантом узнать UUID раздела является команда blkid.
Записываем файл, закрываем все приложения и перезапускаем компьютер в обычном режиме.
Наслаждаемся полученным результатом. Как видите, все очень просто и быстро.
4. Оптимизация размеров дисковых томов
Данный пункт актуален только в том случае, если из-за большого объема пользовательских данных на первом шаге не получилось уменьшить размер системного раздела Linux до желаемого значения.
Вновь загружаем компьютер с флешки с Live-дистрибутивом Linux и запускаем GParted. Далее выполняем необходимые операции Partition –> Resize/Move.
Что делать если после внесенных изменений система не запускается
Если все было сделано аккуратно, то в подавляющем большинстве случаев никаких проблем с загрузкой не возникнет.
Точнее сказать, никаких проблем с загрузкой системы, как таковой, возникнуть и не может. Но если допустить ошибку при редактировании fstab, то могут возникнуть неприятности со входом в пользовательский сеанс.
Если во время старта системы на экране появилось приглашение: “keys:Нажмите “S”, чтобы пропустить подключение или “M” для…” и загрузка остановилась, то, вероятнее всего, что-то не так в добавленной строке в файле fstab.
Это совершенно не причина для паники – ничего страшного не произошло и в любом случае легко поправимо.
Вводим root пароль и вручную монтируем раздел sda6 (в нашем случае) в домашний каталог /home:
mount /dev/sda6/ /home
Нажимаем “Control-D”, после чего система возобновит загрузку и благополучно запустится в пользовательском сеансе.
Теперь вновь открываем файл fstab на редактирование:
sudo gedit /etc/fstab
и спокойно ищем ошибку.
Интересно, что явной ошибки может и не быть. Так, получив однажды такой “сюрприз” при первом после переноса пользовательских папок на отдельный раздел старте компьютера, я долго глядел на содержимое конфигурационного файла и не мог понять, что в нем не так.
Оказалось, что Linux Mint требует обязательного указания атрибута “defaults” и без него директиву монтирования тома не выполняет.
Если есть проблемы с описанным вариантом старта системы, то всегда можно загрузиться с имеющейся загрузочной флешки и поправить файл fstab в Live сеансе.
Источник