Участник:Filicorn — различия между версиями

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Полностью удалено содержимое страницы)
 
Строка 1: Строка 1:
= <big>'''Установка Rosa в btrfs с подтомами на этапе установки.'''</big> =
 
  
Статья рассчитана на повышение уровня владения операционной системой Роса, а также более глубокое понимание файловой системы btrfs. Статья позволит повысить вам стабильность, отказоустойчивость системы.
 
Система btrfs уникальна тем, что являясь по себе файловой системой, внутри может содержать подтома, которые имеют функции разделов.
 
В данной инструкции нужно строго следить за номерами разделов. Своими действиями. Понимать принцип монтирования разделов, команд копирования и иметь минимальный опыт работы в терминале.
 
 
== Основные команды, которыми мы будем пользоваться ==
 
mount
 
umount
 
btrfs subvolume list
 
btrfs subvolume create
 
btrfs subvolume snapshot
 
mv
 
 
== Разметим диск ==
 
Грузимся в liveCD открываем gparted и делаем простую разметку. Создадим три раздела загрузочный /boot, корневой / и раздел подкачки /swap.
 
Если система UEFI, то раздел /boot будет в fat32. Тут же стоит указать, что раздел подкачки не нужен, если у вас более 4Gb оперативной памяти.
 
Получим три раздела:
 
/sda1 /boot  ext4  350Mb-500Mb
 
/sda2 / btrfs 50Gb
 
/sda3  swap 4Gb
 
Если вылазит ошибка 23 (rsync) во время установки, нужно увеличить /boot.
 
 
== Создание подтомов в системе btrfs ==
 
Открываем терминал. Включаем суперюзера
 
su -
 
Смонтируем наш раздел с btrfs в /mnt
 
mount /dev/sda2 /mnt
 
 
Создадим подтома в системе btrfs на /dev/sda2 — @ и @home:
 
btrfs subvolume create /mnt/@
 
btrfs subvolume create /mnt/@home
 
 
Проверим, что подтома созданы верно @ и @home
 
ls /mnt
 
  @/ @home/
 
Видим наши подтома, все прекрасно. Продолжаем.
 
 
Отмонтируем наш раздел. После этого можно приступить к установке, кликнув мышкой по иконке «Установщик в режиме live».
 
umount /mnt
 
 
== Устанавливаем систему ==
 
Выбираем разметку диска в ручную. Монтируем разделы и выставляем параметры. /dev/sda2 с btrfs включим режим эксперта. Зайдем в параметры монтирования → Дополнительно → Различные и в строку вставим:
 
subvol=@
 
Далее продолжаем установку без форматирования разделов!!!!
 
 
== Создание снапшотов ==
 
После установки перезагружаемся опять в liveCD. Открываем терминал. Смонтируем /dev/sda2 под суперюзером
 
mount /dev/sda2 /mnt
 
Посмотрим наши подтома:
 
btrfs subvolume list /mnt
 
  ID 257 gen 44 top level 5 path @
 
  ID 261 gen 43 top level 5 path @home
 
В данном выводе мы видим, что на разделе /dev/sda2 присутствуют два подтома, корневой — @ и домашний — @home, который на данном этапе пуст.
 
 
Пояснение: level в нашем случае должен быть в пределах от 0 до 9. В ином случае (если значение трехзначное число) это будет вложенный подраздел (подраздел внутри подраздела).
 
Значит что-то пошло не так на этапе создания подтомов!!!
 
 
Создадим снапшот корня
 
btrfs subvolume snapshot /mnt/@ /mnt/@_snapshot
 
Проверяем list:
 
btrfs subvolume list /mnt
 
  ID 257 gen 44 top level 5 path @
 
  ID 261 gen 43 top level 5 path @home
 
  ID 262 gen 44 top level 5 path @_snapshot
 
 
== Перенос домашнего каталога в подтом на btrfs ==
 
Чтобы еще больше повысить отказоустойчивость. Мы перенесем домашний каталог в отдельный подтом @home, с которого в дальнейшем мы также сможем делать снапшоты.
 
 
Для отображения процесса переноса зададим команду через -v
 
mv -v /mnt/@/home/* /mnt/@home
 
Проверяем, что перенесли правильно:
 
ls /mnt/@home
 
  vik/
 
Видим нашего пользователя, все верно! Проверим каталог /home в @, он должен быть пуст
 
ls /mnt/@/home
 
 
== Поправим fstab ==
 
Установим текстовый редактор nano
 
urpmi nano
 
Горячие клавиши в nano:
 
 
выделить строку '''shift+end''', копировать '''Alt+6''', вставить '''Ctrl+U''', сохранить изменения  '''Ctrl+O''', выход '''Ctrl+X'''.
 
 
Сейчас нам нужно подправить настройки параметров монтирования разделов на диске в /etc/fstab. Из-за того, что наш домашний каталог теперь располагается в отдельном подтоме. Откроем fstab в nano
 
nano /mnt/@/etc/fstab
 
Скопируем строку с / для /dev/sda2, с помощью горячих клавишь и приведем ее к виду
 
UUID=“номер раздела с /home“ /home btrfs subvol=@home 0 0
 
<small>Дополнительные опции монтирования опущены для упрощения инструкции, добавить их можно будет в /etc/fstab при желании. Это опции — compress=lzo, autodefrag, space_cache</small>
 
 
Теперь отмонтируем наш раздел
 
umount /mnt
 
'''Перезагружаемся в нашу систему. Если всё сделано правильно, то всё загрузится и заработает!'''
 
 
== Переходы по снапшотам ==
 
Можно осуществлять в рабочей системе. Все изменения вступят в силу после перезагрузки. Переход на снапшот в данной схеме будет осуществляться через команду mv.
 
Также можно делать снапшоты @ и @home, следите только за пространством жесткого диска и именами подразделов!
 
 
Перейдем на снапшот в качестве корневого каталога. Все дальнейшие действия происходят в рабочей системе
 
su -
 
Смонтируем /dev/sdа2 в /mnt:
 
mount /dev/sdа2 /mnt
 
Переименуем наш кореневой подтом @ в @_old:
 
mv /mnt/@ /mnt/@_old
 
А снапшот @_snapshot переименуем в кореневой подтом @:
 
mv /mnt/@_snapshot /mnt/@
 
Отмонтируем
 
umount /mnt
 
Все изменения вступят в силу после перезагрузки!!!! До этого работа продолжиться в созданном @_old!!!!
 
Удалить лишние подтома можно командой
 
btrfs subvolume delete /mnt/@_old
 
Перезагружаемся и смотрим cat /etc/fstab. Если все верно, то получим вывод без отдельного раздела /home.
 
Примечание: Команда btrfs subvolume set-default нарушит макет установленный по умолчанию, применение ее после проделанной инструкции не рекомендуется!
 
Btrfs моментальные снимки подобъемов сами по себе, и самодостаточны, могут работать, как самостоятельная система, удаление старого @ подтома возможно, если у нас есть замена.
 
 
== Последние шаги ==
 
После того, как все настроено можно провести дефрагментацию и перебалансировку системы
 
Смонтируем /dev/sdа2 в /mnt:
 
mount /dev/sdа2 /mnt
 
Сделаем дефрагментацию:
 
btrfs fi defrag -r /mnt
 
Перебалансировка системы
 
btrfs balance start /mnt
 
 
== Макет системы ==
 
subvolid=5
 
|
 
| ────  @
 
| |
 
| |── /usr
 
| |
 
| |── /bin
 
| |
 
| |── /home (пустой каталог)
 
| |── …
 
|
 
|
 
|── @home
 
|── @_snapshot
 
|
 
└── @...
 
 
Внешние ссылки
 
[https://btrfs.wiki.kernel.org/index.php/Main_Page Вики btrfs]
 
[https://btrfs.wiki.kernel.org/index.php/Manpage/btrfs%285%29#MOUNT_OPTIONS Опции монтирования]
 
[https://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3 Балансировка btrfs]
 
 
 
 
[[Категория:Документация]]
 
[[Категория:Руководства]]
 

Текущая версия на 02:06, 24 января 2018