btrfs Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
Последняя версия Следующая версия справа и слева
wiki:btrfs [2020/01/28 21:25]
[swap файл на btrfs]
wiki:btrfs [2021/06/04 10:55]
[swap файл на btrfs]
Строка 438: Строка 438:
  
 <note tip>​Существующие файлы которые не перезаписываются никак не меняют свое состояние сжатия,​ несмотря ни на опции монтирования,​ ни на свойства которые на них устанавливают. Если нужно упаковать всю ФС, то нужно воспользоваться дефрагментацией с ключом -c. <note tip>​Существующие файлы которые не перезаписываются никак не меняют свое состояние сжатия,​ несмотря ни на опции монтирования,​ ни на свойства которые на них устанавливают. Если нужно упаковать всю ФС, то нужно воспользоваться дефрагментацией с ключом -c.
-  btrfs filesystem ​defrag -r -c lzo {путь куда смонтирован подтом btrfs} ​   # упаковка всех файлов на ФС+  btrfs fi defrag -rc {путь куда смонтирован подтом btrfs} ​   # упаковка всех файлов на ФС
 Распаковка файлов с помощью команды defrag на данный момент невозможна. ​   Распаковка файлов с помощью команды defrag на данный момент невозможна. ​  
 </​note>​ </​note>​
Строка 862: Строка 862:
 В состав GRUB входят драйвера btrfs. Однако это очень урезанный драйвер и он не поддерживает запись. А отсутствие записи не позволяет GRUB-у записать служебную переменную recordfail. GRUB проверяет значение этой переменной и если она не сброшена,​ то обязательно показывается меню загрузки. Каждый раз когда GRUB начинает загружать ОС он устанавливает эту переменную в 1, а сбрасывает ее скрипт который запускается после загрузки системы. В состав GRUB входят драйвера btrfs. Однако это очень урезанный драйвер и он не поддерживает запись. А отсутствие записи не позволяет GRUB-у записать служебную переменную recordfail. GRUB проверяет значение этой переменной и если она не сброшена,​ то обязательно показывается меню загрузки. Каждый раз когда GRUB начинает загружать ОС он устанавливает эту переменную в 1, а сбрасывает ее скрипт который запускается после загрузки системы.
  
-Т.к. сохранить значение recordfail GRUB на btrfs не может, то он считает,​ что каждая загрузка происходит после фейла прошлой загрузки (т.е. recordfail=1). И в таком случае меню загрузки показывается 10 секунд. Изменить этот тайм-аут можно изменив в /​etc/​default/​grub значение переменной GRUB_RECORDFAIL_TIMEOUT. После задания разумного таймаута в /​etc/​default/​grub нужно запустить update-grub с правами root-а чтобы пересоздать скрипты загрузки GRUB-а. ​   ​+Т.к. сохранить значение recordfail GRUB на btrfs не может, то он считает,​ что каждая загрузка происходит после фейла прошлой загрузки (т.е. recordfail=1). И в таком случае меню загрузки показывается 10 или даже 30 секунд. Изменить этот тайм-аут можно изменив в /​etc/​default/​grub значение переменной ​**GRUB_RECORDFAIL_TIMEOUT**. После задания разумного таймаута в /​etc/​default/​grub нужно запустить update-grub с правами root-а чтобы пересоздать скрипты загрузки GRUB-а. ​   ​
   ​   ​
 =====swap файл на btrfs===== =====swap файл на btrfs=====
 +<note important>​Наличие работающего swap-файла на подтоме не дает возможности делать снимки с этого подтома. Поэтому для использования снимков необходимо размещать swap-файл на отдельном подтоме. Например создать @swap подтом и монтировать его в /​swap.</​note>​
 +
 Начиная с версии ядра 5.0+ на btrfs можно создать swap-файл,​ но с некоторыми ограничениями:​ swap-файл должен располагаться целиком на одном устройстве ((его нельзя будет создать на любом типе хранения кроме single)), создаваться обязательно с отключенным COW и сжатием((На btfs-wiki указано,​ что отключение COW блокирует возможность архивирования)). Кроме того swap-файл не может попасть в снимок((Если swap-файл смонтирован то невозможно сделать снимок с под-тома где он расположен,​ отключенный swap-файл дает сделать снимок вместе со swap-файлом,​ но больше такой swap-файл не подключить)). В перспективе предполагается снять часть ограничений.\\ Начиная с версии ядра 5.0+ на btrfs можно создать swap-файл,​ но с некоторыми ограничениями:​ swap-файл должен располагаться целиком на одном устройстве ((его нельзя будет создать на любом типе хранения кроме single)), создаваться обязательно с отключенным COW и сжатием((На btfs-wiki указано,​ что отключение COW блокирует возможность архивирования)). Кроме того swap-файл не может попасть в снимок((Если swap-файл смонтирован то невозможно сделать снимок с под-тома где он расположен,​ отключенный swap-файл дает сделать снимок вместе со swap-файлом,​ но больше такой swap-файл не подключить)). В перспективе предполагается снять часть ограничений.\\
 +
 +С учетом озвученного,​ пока не сняты ограничения,​ swap-afqk стоит создавать в отдельном (специально для него созданном под-томе).
  
 Предположим что у нас btrfs на одном устройстве и у нас подходящая версия ядра 5.0+, дальше все довольно просто:​ Предположим что у нас btrfs на одном устройстве и у нас подходящая версия ядра 5.0+, дальше все довольно просто:​
Строка 1024: Строка 1028:
  
 [[https://​btrfs.wiki.kernel.org/​index.php/​Main_Page|Официальная вики]]\\ [[https://​btrfs.wiki.kernel.org/​index.php/​Main_Page|Официальная вики]]\\
-[[https://​btrfs.wiki.kernel.org/​index.php/​Mount_options|Параметры монтирования агл.]]\\+[[https://​btrfs.wiki.kernel.org/​index.php/​Manpage/​btrfs(5)#​MOUNT_OPTIONS|Параметры монтирования агл.]]\\
 [[http://​help.ubuntu.ru/​wiki/​fstab#​btrfs|Перевод параметров]]\\ [[http://​help.ubuntu.ru/​wiki/​fstab#​btrfs|Перевод параметров]]\\
  
 {{tag>​btrfs ext2 ext3 ext4 compression lzo gzip fstab}} {{tag>​btrfs ext2 ext3 ext4 compression lzo gzip fstab}}