Установка Alt Linux на Btrfs: различия между версиями
Asy (обсуждение | вклад) (→Подготовка жестких дисков: Замена описания swap на ссылку в статье "Разбиение диска".) |
|||
Строка 59: | Строка 59: | ||
Приступаем к настройке структуры подтомов. Для работы нам необходим пользователь с доступом к sudo. | Приступаем к настройке структуры подтомов. Для работы нам необходим пользователь с доступом к sudo. | ||
Для начала создадим в корне папку, в которой мы будем в дальнейшем хранить рабочие подтома и их снапшоты. | |||
''sudo mkdir /subvol'' | |||
Btrfs использует подтома внутри файловой системы. Для вывода подтомов воспользуемся командой: | |||
''sudo btrfs subvolume list /'' # '/' показывает btrfs-prog в каком разделе файловой системы смотреть подтома Пока что у нас существует только корневой подтом. | |||
Приступим к созданию подтома для корня системы. Поскольку установщик AltLinux не поддерживает установку на подтома btrfs, установка у нас производилась сразу в корневой раздел системы, то есть в подтом с subvolume id = 5. Сделаем его снапшот: | |||
'' sudo btrfs subvolume snap / /@ '' # Этой командой мы создает снапшот корневой системы. В Файловом менеджере подтом будет выглядеть обычной папкой, поэтому "@" используется в этой инструкции исключительно для удобства идентификации, в остальном никаких ограничений не существует. | |||
Теперь создадим подтом для домашних папок: | |||
''sudo btrfs subvolume create /@home'' | |||
На этом этапе нам необходимо скопировать папки с пользователями из папки /home в папку /@home. Убедитесь, что необходимые права выставлены. | |||
Если на этом этапе запросить список подтомов, то выглядеть он будет примерно следующим образом: | |||
''sudo btrfs subvolume list /'' | |||
''ID 257 gen 600 top level 5 path @'' | |||
''ID 258 gen 35 top level 5 path @home'' | |||
Для дальнейшей настройки нам потребуются ID подтомов. | |||
Корректируем fstab для настройки монтирования корневого подтома (в котором у нас будут храниться наши снапшоты) к папке subvols, и монтирование подтома @home к папке /home. Для этого вставляем в /etc/fstab следующиу строки: | |||
''UUID=XXXX /subvols btrfs noatime,subvolid=5,nofail 1 1'' #где XXXX- уникальный UUID вашего раздела с файловой системой btrfs. | |||
''UUID=XXXX /home btrfs noatime,subvol=@home,nofail 1 1'' #UUID у обоих дисков будет одинаковый, поскольку том один, а вот опция subvol/subvolid - разная. Если используется subvol, то необходимо прописывать адрес к подтому (в нашем случае @home лежит в корневом томе), если subvolid, то достаточно просто ID из ''btrfs subvolume list'', в примере это 258. | |||
В принципе, с помощью fstab можно настроить монтирование и корневого диска, однако при этом придется прописывать опции для Grub, поэтому я предлагаю для корня использовать средства btrfs-prog. Собственно, делается это так: | |||
''sudo btrfs subvolume set-default 257 /'' # где 257 ID подтома @, в нашем примере это 257. Этой командой мы указываем, что подтомом по умолчанию для папки / будет @ | |||
После перезагрузки компьютера у нас получится следующая структура: | |||
В корневом подтоме btrfs (subvolid 5) у нас созданы два подтома @ и @home, которые примонтированы как корневая папка операционной системы и папка пользователей соответственно, доступ в подтом 5 осуществляется через папку subvols в корне операционной системы. | |||
Если у вас все так и получилось, то теперь можно удалить файлы операционной системы из папки /subvols (кроме двух подтомов, естественно), и установка AltLinux на btrfs закончена. | |||
[[Category:FileSystems]] | [[Category:FileSystems]] |
Версия от 06:32, 21 ноября 2018
От Автора
Данная статья все еще находиться в процессе написания, а потому следоватьс одержащимся в ней указаниями имеет смысл только если вы не видите эту шапку=
Обязательно к прочтению
Поскольку официально установщик операционной системы AltLinux не поддерживает полноценную работу с файловой системой btrfs, данная статья является, по большому счету, лабораторным журналом и описывает наиболее удачную и работоспособную из опробованных ее автором конфигураций. Исходя из этого, необходимо понимать, что действия, описанные здесь не всегда являются оптимальными, просто они заработали. Также необходимо понимать, что их пошаговое повторение не дает 100% гарантии успеха на вашем оборудовании, поэтому применяйте все действия на свой страх и риск. И, пожалуйста, если у вас получилось лучше, вносите изменения в эту статью.
Установка AltLinux на файловую систему BTRFS на примере AltLinuxStarterkit P8 XFCE
Зачем он нужен это ваш BTRFS?
BTRFS, как файловая система, обладает целым набором преимуществ, наиболее интересным из которых, с точки зрения использования на предприятиях, является возможность быстрого (практически мгновенного) создания снимков состояния (снапшотов) операционной системы (как целиком, так и любой из необходимых ее частей, как то: папки пользователей, корень файловой системы, любая папка внутри системы, которую вы посчитаете необходимым сохранить) и легкое переключение между этими снимками.
Перед установкой
Для установки операционной системы использовался P8 Starterkit с рабочим столом XFCE4. Данное требование не является обязательным и большой разницы между другими дистрибутивами операционной системы AltLinux быть не должно.
Legacy и UEFI - установка немного отличается, что будет отображено в дальнейшей инструкции.
Подготовка жестких дисков
После загрузки с Live cd необходимо создать таблицу разделов на жестком диске приблизительно следующего вида (sdX - жесткий диск, выбранный вами для установки операционной системы).
Подготовка жесткого диска для Legacy-установки:
sdX1 ~500 mb - форматируем в файловой системе ext2/3/4, это у нас будет раздел /boot. sdX2 - форматируем в файловой системе btrfs (все свободное место, которое вы не планируете потратить под sdX1 и sdX3. sdX3 - swap-раздел
Подготовка жесткого диска для UEFI-установки:
sdX1 ~500 mb - форматируем в файловой системе ext2/3/4, раздел /boot sdX2 ~500 mb - форматируем в файловой системе fat32, для установки UEFI делаем отдельный раздел /boot/efi sdX3 - форматируем в файловой системе btrfs (все свободное место, которое вы не планируете потратить под sdX1, sdX2 и sdX4. sdX4 - swap-раздел
Выносить на отдельный раздел /home нет необходимости, поскольку он у нас будет на подтоме внутри раздела файловой системы.
Выбор размера и расположения swap обуславливается его последующей эксплуатацией. Подробнее тут.
Установка
Установка Legacy:
Установка операционной системы производится с помощью стандартного инсталлятора. В установщике выбираем пункт "Настроить разделы вручную". При установке указываем точку монтирования /boot для sdX1 и / для sdX2. Активируем swap. Дальнейшие действия ничем не отличаются от обычной установки на любую другую файловую систему
Установка UEFI:
Установку производим с помощью стандартного инсталлятора операционной системы. Указываем точки монтирования /boot для sdX1, /boot/efi для sdX2 и / для sdX3. При необходимости активируем swap. В дальнейшем устанавливаем как обычно. После установки необходимо проверить, чтобы в fstab строчка, описывающая монтирование раздела /boot находилась выше строки, описывающей монтирование раздела /boot/efi
После установки
Приступаем к настройке структуры подтомов. Для работы нам необходим пользователь с доступом к sudo.
Для начала создадим в корне папку, в которой мы будем в дальнейшем хранить рабочие подтома и их снапшоты.
sudo mkdir /subvol
Btrfs использует подтома внутри файловой системы. Для вывода подтомов воспользуемся командой:
sudo btrfs subvolume list / # '/' показывает btrfs-prog в каком разделе файловой системы смотреть подтома Пока что у нас существует только корневой подтом.
Приступим к созданию подтома для корня системы. Поскольку установщик AltLinux не поддерживает установку на подтома btrfs, установка у нас производилась сразу в корневой раздел системы, то есть в подтом с subvolume id = 5. Сделаем его снапшот:
sudo btrfs subvolume snap / /@ # Этой командой мы создает снапшот корневой системы. В Файловом менеджере подтом будет выглядеть обычной папкой, поэтому "@" используется в этой инструкции исключительно для удобства идентификации, в остальном никаких ограничений не существует.
Теперь создадим подтом для домашних папок:
sudo btrfs subvolume create /@home
На этом этапе нам необходимо скопировать папки с пользователями из папки /home в папку /@home. Убедитесь, что необходимые права выставлены.
Если на этом этапе запросить список подтомов, то выглядеть он будет примерно следующим образом:
sudo btrfs subvolume list / ID 257 gen 600 top level 5 path @ ID 258 gen 35 top level 5 path @home
Для дальнейшей настройки нам потребуются ID подтомов.
Корректируем fstab для настройки монтирования корневого подтома (в котором у нас будут храниться наши снапшоты) к папке subvols, и монтирование подтома @home к папке /home. Для этого вставляем в /etc/fstab следующиу строки:
UUID=XXXX /subvols btrfs noatime,subvolid=5,nofail 1 1 #где XXXX- уникальный UUID вашего раздела с файловой системой btrfs. UUID=XXXX /home btrfs noatime,subvol=@home,nofail 1 1 #UUID у обоих дисков будет одинаковый, поскольку том один, а вот опция subvol/subvolid - разная. Если используется subvol, то необходимо прописывать адрес к подтому (в нашем случае @home лежит в корневом томе), если subvolid, то достаточно просто ID из btrfs subvolume list, в примере это 258.
В принципе, с помощью fstab можно настроить монтирование и корневого диска, однако при этом придется прописывать опции для Grub, поэтому я предлагаю для корня использовать средства btrfs-prog. Собственно, делается это так:
sudo btrfs subvolume set-default 257 / # где 257 ID подтома @, в нашем примере это 257. Этой командой мы указываем, что подтомом по умолчанию для папки / будет @
После перезагрузки компьютера у нас получится следующая структура: В корневом подтоме btrfs (subvolid 5) у нас созданы два подтома @ и @home, которые примонтированы как корневая папка операционной системы и папка пользователей соответственно, доступ в подтом 5 осуществляется через папку subvols в корне операционной системы. Если у вас все так и получилось, то теперь можно удалить файлы операционной системы из папки /subvols (кроме двух подтомов, естественно), и установка AltLinux на btrfs закончена.