|
|
Строка 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]
| |
− |
| |
− |
| |
− |
| |
− | [[Категория:Документация]]
| |
− | [[Категория:Руководства]]
| |