Home » Технические мелочи и фичи – Как перенести /home на другой диск?
Технические мелочи и фичи – Как перенести /home на другой диск?

Технические мелочи и фичи – Как перенести /home на другой диск?

Введение: Зачем вообще переносить /home на другой диск?

Бывалые системные админы, вебмастера и даже некоторые SEO-шники рано или поздно сталкиваются с ситуацией: “Диск, на котором у меня /home, забился под завязку! Что делать?”
Кто-то начинает чистить, кто-то — паниковать, а кто-то — гуглить “как перенести /home на другой диск”.
И вот тут начинается магия Linux: оказывается, можно не только расширять раздел, но и вообще вынести /home на отдельный винт или SSD, не потеряв ни байта данных.
В этой статье разложу всё по полочкам: зачем это нужно, как сделать правильно, какие подводные камни бывают, и как не угробить систему в процессе.

Зачем переносить /home?

  • Больше места для пользовательских файлов. Особенно если у тебя SSD для системы и HDD для данных.
  • Упрощение бэкапов и апгрейдов. Переустановка системы не трогает твои файлы.
  • Разделение IO-нагрузки. Система на одном диске, файлы пользователей — на другом, меньше лагов.
  • Гибкость. Можно быстро заменить диск с /home, не трогая систему.

Короче, если ты не фанат “всё на одном разделе”, вынос /home — это мастхэв. Но как это сделать правильно и безопасно?

Пошаговая инструкция: Как перенести /home на другой диск

1. Подготовка нового диска или раздела

В идеале — новый физический диск или SSD. Можно использовать и свободное место на уже существующем диске, но с отдельным разделом.
Смотрим, какие устройства у нас есть:


lsblk

Допустим, новый диск — это /dev/sdb. Создаём на нём раздел под /home (например, /dev/sdb1):


sudo fdisk /dev/sdb

Создаём файловую систему на новом разделе (ext4 — стандарт, но можно и xfs, btrfs, как душе угодно):


sudo mkfs.ext4 /dev/sdb1

2. Монтируем новый раздел временно


sudo mkdir /mnt/newhome
sudo mount /dev/sdb1 /mnt/newhome

3. Копируем данные из старого /home

Лучше всего использовать rsync, чтобы сохранить права и симлинки:


sudo rsync -aXS --progress /home/ /mnt/newhome/

  • -a — архивный режим (копирует всё как есть)
  • -X — сохраняет xattrs (например, для SELinux)
  • -S — sparse files
  • --progress — показывает прогресс (чтобы не скучать)

4. Проверяем, что всё скопировалось


sudo diff -r /home /mnt/newhome

Если всё ок — идём дальше. Если есть отличия — ищем баги, повторяем копирование.

5. Монтируем новый /home на постоянку через /etc/fstab

  1. Узнаём UUID нового раздела:

    sudo blkid /dev/sdb1
  2. Редактируем /etc/fstab:

    sudo nano /etc/fstab
    Добавляем строку (пример):


    UUID=your-uuid-here /home ext4 defaults 0 2

    Где your-uuid-here — это UUID из blkid.

6. Переключаемся на новый /home

  1. Уходим в однопользовательский режим (лучше делать всё из-под root и не под своим юзером):

    sudo systemctl isolate rescue.target
    или


    sudo init 1

  2. Переименовываем старый /home (на всякий случай):

    mv /home /home.backup
  3. Создаём новую пустую директорию /home:

    mkdir /home
  4. Монтируем новый раздел:

    mount -a
  5. Проверяем, что всё ок:

    ls /home
    Должно быть всё, что было в /home.backup.
  6. Перезагружаемся:

    reboot

7. Убираем старый /home (после тестирования!)

Когда убедишься, что всё работает, можно удалить /home.backup и освободить место.


sudo rm -rf /home.backup

Плюсы и минусы подхода

  • Плюсы:
    • Данные пользователей не пропадают при переустановке системы.
    • Можно использовать быстрый SSD для системы, а /home держать на большом HDD.
    • Проще делать бэкапы (можно просто копировать раздел).
    • Легче масштабировать место под пользовательские данные.
  • Минусы:
    • Если новый диск умрёт — потеряешь все пользовательские данные.
    • Неправильное копирование — можно потерять права, симлинки, xattrs.
    • Если случайно не отредактировать /etc/fstab — система может не загрузиться или загрузиться без /home.

Кейсы: Позитивные и негативные

Позитивный кейс

Владелец дорвея решил обновить сервер: поставил SSD на 120Гб под систему, а старый 2Тб HDD использовал под /home. После переноса всё работает быстрее, система не тормозит, а файлы пользователей хранятся отдельно. Переустановка Ubuntu заняла 15 минут — /home не тронут.

Негативный кейс

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

Практические советы и фишки

  • Перед началом работ сделай бэкап каталога /home на внешний диск или в облако.
  • Используй rsync или cp -a — не cp -r!
  • Всегда проверяй права и владельцев файлов после копирования.
  • Добавь новый раздел в /etc/fstab по UUID — не по /dev/sdX (буквы могут меняться).
  • Если сервер важный — делай всё из LiveCD или в rescue-режиме.
  • Проверь, что в /home нет монтированных подкаталогов (например, /home/user/.gvfs), иначе rsync зациклится.

Ошибки новичков и частые мифы

  • Миф: “Если просто скопировать /home, всё заработает”.
    Реальность: Нужно правильно монтировать, сохранять права и владельцев.
  • Ошибка: Копирование без -a или -p — теряются права и симлинки.
  • Ошибка: Не обновлён /etc/fstab — после перезагрузки система не видит /home.
  • Ошибка: Копирование из-под пользователя, а не root — часть файлов не копируется из-за прав.
  • Миф: “Перенос /home — это только для гиков”.
    Реальность: Это стандартная практика для серверов и рабочих станций.

Похожие решения и альтернативы

  • Использовать LVM — позволяет расширять разделы “на лету”, переносить /home без ребута.
  • Использовать симлинки для отдельных папок (например, /home/user/videos на отдельном диске), но это костыль.
  • Разделять не только /home, но и /var, /srv, если нужно.
  • Использовать RAID для отказоустойчивости пользовательских данных.

Официальные ресурсы

Заключение: Итоги и рекомендации

Перенос /home на отдельный диск — это не только про удобство, но и про безопасность, масштабируемость и простоту администрирования. Не важно, кто ты — SEO-шник, дорвейщик, вебмастер или просто человек со вкусом к системному администрированию — этот навык пригодится в любой момент.
Главное — не торопиться, делать бэкапы, проверять всё по чек-листу и не бояться учиться на чужих ошибках.
Если всё сделать аккуратно — твой сервер или рабочая станция скажет тебе спасибо, а ты сэкономишь себе кучу нервов и времени при апгрейдах и переустановках.
Если остались вопросы — гугли, читай оф. вики, спрашивай у комьюнити.
Удачного апгрейда и стабильных файловых систем!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked