Как переместить /home/user в пул zfs?

Ubuntu 14.04 установлен на 128Gb SSD-пуле zfs ("zfshome") на дисках 3x3 ТБ, содержащих аудио / видео / ТВ и т. д.

Первоначально я построил это как NAS NASAFree, обслуживающее мои оконные коробки по всему дому. Сейчас я пытаюсь превратить его в медиасервер, и, будучи всегда включенным, хотел стабильности Ubuntu (теперь, когда это более удобно для пользователя, с точки зрения обычных пользователей...) Мне кажется, что установка / home / user на zpool имела смысл (будучи новичком, я часто переустанавливаю), но через неделю я не могу найти четких инструкций, как этого добиться, и после этого многие попытки полностью сбиты с толку.

Любая помощь приветствуется, Ян

3 ответа

Как переместить каталог / home в пул ZFS в Linux Mint 19XFCE-64bit

Ссылка: https://freedompenguin.com/articles/how-to/move-linux-home-zfs/

Эта процедура была протестирована на гостевой Linux Mint 19XFCE 64bit внутри VirtualBox V5.2.22

Хост-система Linux Mint 18 KDE 64 бит

  • Все, что описано ниже, относится к гостевой ОС.

  • Процедура не на 100% пошаговая. Описаны некоторые шаги, дающие их глобальное значение, а не

вдаваясь в глубокие детали.

  • Каждый раз, когда будет упоминаться слово "пользователь", оно означает ВАШЕ имя каталога пользователя (например, вместо / home / user / Documents put / home / jonathan / Documents, где jonathan - пример имени)

  • Следующая процедура действительна для одного пользователя.

  • Последнее, но не менее важное, простите мой английский. Я итальянец.

Процедура

установка утилит zfs терминалом

sudo apt install zfsutils-linux

Используя G-Parted:

Уменьшите единственное доступное разделение до разумного значения (скажем, 20-25 Гбайт).

На свободном месте, созданном предыдущим шагом, создайте новый раздел НЕ отформатированный.

В браузере файлов перейдите в /dev/disk/by-id/ и запишите имя второго раздела. Такой раздел является только что созданным (НЕ отформатированным), в котором будет размещен пул ZFS, выделенный для каталога / home. В моем случае второе имя раздела было ata-VBOX_HARDDISK_VB49b2d698-41fa84b3-part2. Такое имя вы увидите в синтаксисе создания пула здесь ниже.

Теперь мы создаем пул zhome, используя раздел 2 НЕ отформатированный, который мы только что создали.

По терминалу

zp=zhome

sudo zpool create -o ashift=12 -o autoexpand=on -o autoreplace=on -O atime=off -O compression=lz4 $zp /dev/disk/by-id/ata-VBOX_HARDDISK_VB49b2d698-41fa84b3-part2

Подробное значение различных параметров можно найти в справочной статье, упомянутой в начале.

Теперь мы должны сделать резервную копию каталога / home / user / во временный каталог, такой как / tmp / user-bck /

По терминалу

sudo rsync -avh /home/user/ /tmp/user-bck/

Теперь мы должны стереть каталог / home, я не знаю почему, но для успешного выполнения команды нужно дать дважды (первый раз, когда он предупреждает: "каталог не пустой"...)

По терминалу

sudo rm -r -f /home
sudo rm -r -f /home

НЕКОТОРЫЕ ЗАМЕЧАНИЯ

1) хорошо, если вместо важных каталогов есть наборы данных ZFS. Это потому, что это позволит делать выборочные снимки SPECIFIC для каждого каталога. ОЧЕНЬ полезно, просто чтобы упомянуть, в случае каждой директории виртуальной машины...

2) Каждый набор данных рассматривается файловым браузером как НОРМАЛЬНЫЙ каталог. Таким образом, внутри него мы можем создавать любые подкаталоги, которые мы хотим. НО ЗАПРЕЩАЕТСЯ создавать набор данных ZFS следующим образом: pool / dataset1 / directory / dataset2

3) Снимки применяются только к наборам данных, а НЕ к каталогам...

Теперь давайте создадим КАЖДЫЙ набор данных ZFS с ТОЧНЫМ именем, совпадающим с именем / home / user directory (Documents, Music и т. Д.). Будьте осторожны: я перевел названия каталогов с итальянского на английский. Пожалуйста, убедитесь в синтаксисе (документы, картинки, музыка и т. Д.)

По терминалу

sudo zfs create -o sharesmb=off $zp/home

sudo zfs create $zp/home/user

sudo zfs create $zp/home/user/Documents

sudo zfs create $zp/home/user/Pictures

sudo zfs create $zp/home/user/Music

sudo zfs create $zp/home/user/Video

sudo zfs create $zp/home/user/Models

sudo zfs create $zp/home/user/Download

sudo zfs create $zp/home/user/Desktop

Теперь мы даем (немедленную и постоянную) инструкцию ZFS о точке монтирования пула zhome/home. Монтирование выполняется немедленно и будет выполняться при каждой загрузке.

По терминалу

sudo zfs set mountpoint=/home $zp/home

Теперь мы должны восстановить / home / user резервную копию и поместить ее в новый, EMPTY, только что смонтированный, каталог / home.

По терминалу

cd /
sudo rsync -avh --ignore-existing /tmp/user-bck/ /home/user/

Опция –ignore-существующие задана, чтобы избежать перезаписи каталогов в одноименных наборах данных ZFS (Документы, Музыка и т. Д.)

Теперь перезагрузите систему

По терминалу

sudo reboot

Испытано 21 ноября 2018 года, руда 22:30.

С уважением

Michele

  1. YMMV. Убедитесь, что все сказанное ниже имеет смысл для вас.

  2. Убедитесь, что вы можете loginчерез хотя бы одну учетную запись с поддержкой администратора (может управлять ZFS), когда NAS не работает.

  3. Копировать через tar или же rsync (не cp) все твои старые HOME каталог (/home/you) к новому HOME директория, смонтированная временная строка места /media/$USER/newhome,

  4. Сделайте резервную копию, затем отредактируйте /etc/fstab в NFS смонтировать соответствующий NAS каталог как /home/you, Увидеть man fstab около NFS монтирует, man mount, тоже. Использовать auto вариант. НЕ устанавливайте его пока.

  5. Тщательно удалите большинство файлов / каталогов в вашем старом HOME каталог, просто оставляя достаточно структуры, чтобы вы могли login с файлами здесь, на случай, если mount выходит из строя.

  6. logout а также login чтобы проверить, что вы сделали в шаге 4.

  7. Если все в порядке, установите NASHOME каталог через:

    sudo mount / home / you

  8. sudo shutdown -r now перезагрузить систему, заставить все процессы забыть о вашей старой $HOMEи начать с /home/you установлен.

zstore - это пул, ian - это пользователь1

вошли как user1 делать;

..... создать user2 с правами администратора..... создать новую папку sudo mkdir /temphome .... переместить дом пользователя user2..... sudo usermod -m -d /temphome/user2 user2 ..reboot... ... войти в систему как user2.... переместить дом пользователя user1 sudo usermod -m -d / temphome / user1 user1

... создать пустой набор данных sudo zfs создать zstore / zhome..as / home теперь пусто, смонтировать новый набор данных в /home sudo zfs установить точку монтирования =/home zstore/zhome ... переместить дом пользователя user1 обратно в / home sudo usermod - m -d / home / user1 user1... reboot.. войдите как user1... переместить дом пользователя user2 из temp обратно в / home sudo usermod -m -d / home / user2 user2... убрать sudo rmdir / tmphome

все сделано,

Другие вопросы по тегам