Btrfs — различия между версиями

Материал из K.Wiki
Перейти к: навигация, поиск
(Ссылки)
(Как изменить метод сжатия файлов)
 
(не показано 15 промежуточных версии этого же участника)
Строка 3: Строка 3:
 
== Работа с файловой системой ==
 
== Работа с файловой системой ==
 
=== Как посмотреть информацию о системе? ===
 
=== Как посмотреть информацию о системе? ===
  btrfs filesystem show {путь к устройству}
+
  btrfs filesystem show {точка монтирования или устройство}
 +
 
 +
Например,
 +
btrfs filesystem show /mnt
 +
btrfs filesystem show /dev/sda
 +
 
 +
=== Как изменить метку? ===
 +
btrfs filesystem label {точка монтирования или устройство} {новая метка}
 +
 
 +
Например,
 +
btrfs filesystem label /mnt NewBtrfsLabel
 +
btrfs filesystem label /dev/sda NewBtrfsLabel
 +
 
 +
=== Как изменить размер? ===
 +
btrfs filesystem resize {новый размер} {точка монтирования}
 +
 
 +
Например,
 +
btrfs filesystem resize max /mnt
 +
 
 +
=== Как определить какой уровень RAID используется? ===
 +
btrfs filesystem df {точка монтирования}
 +
 
 +
Например,
 +
btrfs filesystem df /mnt
 +
 
 +
=== Как изменить уровень RAID? ===
 +
Делается с помощью перебалансировки данных:
 +
btrfs balance start -dconvert={уровень RAID для данных} -mconvert={уровень RAID для метаданных} {точка монтирования}
 +
 
 +
Например,
 +
btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt
 +
 
 +
=== Как установить операционную систему на раздел с ненулевым уровнем RAID? ===
 +
Перед разметкой разделов выполнить
 +
btrfs dev scan
 +
 
 +
=== Как изменить метод сжатия файлов ===
 +
Делается с помощью дефрагментации данных:
 +
btrfs filesystem defragment -c{метод сжатия} {файл или директория} [{файл или директория}]
 +
 
 +
Например,
 +
btrfs filesystem defragment -clzo /home /mnt
 +
 
 +
=== Как задать метод сжатия новых или изменённых файлов? ===
 +
Нужно задать свойство:
 +
btrfs property set {файл или директория} compression {метод сжатия}
 +
 
 +
Например,
 +
btrfs property set /mnt compression zlib
 +
или
 +
btrfs property set /mnt compression ""
  
 
== Работа с подразделами ==
 
== Работа с подразделами ==
 
=== Как посмотреть какие подразделы доступны? ===
 
=== Как посмотреть какие подразделы доступны? ===
  btrfs subvolume list {путь к директории с ФС}
+
  btrfs subvolume list {точка монтирования}
 +
Будет выведен список разделов с информацией о них: ID, gen, top, path.
 +
 
 +
Например,
 +
btrfs subvolume list /mnt
 +
 
 
=== Как добавить подраздел? ===
 
=== Как добавить подраздел? ===
  btrfs subvolume create [{путь к директории с ФС}/]{имя подраздела}
+
  btrfs subvolume create [{точка монтирования}/]{имя подраздела}
Если не указать <tt>{путь к директории с ФС}</tt>, будет использована текущая директория.
+
Если <tt>{точка монтирования}</tt> не указана, будет использована текущая директория.
 +
 
 +
Например,
 +
btrfs subvolume create /mnt/@NewSubvolume
 +
btrfs subvolume create @NewSubvolume
 +
 
 +
=== Как добавить снимок? ===
 +
Снимок — это подраздел, разделяющий данные с другим. Данные копируются только тогда, когда происходит их изменение.
 +
btrfs subvolume snapshot [-r] {точка монтирования исходного подраздела} [{точка монтирования}/]{имя снимка}
 +
Если <tt>{точка монтирования}</tt> не указана, будет использована текущая директория.
 +
Флаг <tt>r</tt> служит для создания снимка, доступного только для чтения.
 +
 
 +
Например,
 +
btrfs subvolume snapshot -r /mnt/@subvolume /mnt/snapshot
 +
 
 
=== Как назначить подраздел, который подключается по-умолчанию? ===
 
=== Как назначить подраздел, который подключается по-умолчанию? ===
  btrfs subvolume set-default {id} {путь к директории с ФС}
+
  btrfs subvolume set-default {id} {точка монтирования}
 +
 
 +
Например,
 +
btrfs subvolume set-default 257 /mnt
 +
 
 +
=== Как примонтировать корневой раздел? ===
 +
mount {устройство} {точка монтирования} -o subvolid=5
 +
 
 +
Например
 +
mount /dev/sda1 /mnt -o subvolid=5
 +
 
 +
=== Как вернуть корневой раздел для подключения по-умолчанию? ===
 +
btrfs subvolume set-default 5 {точка монтирования}
 +
 
 +
== Работа с несколькими устройствами ==
 +
=== Как подключить устройство к файловой системе? ===
 +
btrfs device add {устройство} [{еще устройство}..] {точка монтирования}
 +
Устройство будет добавлено к файловой системе,
 +
но распределение данных зависит от используемого уровня RAID.
 +
Вообще говоря, нужно выполнить балансировку для переноса метаданных на новое подключенное устройство:
 +
btrfs filesystem balance {точка монтирования}
 +
Это также перераспределит данные.
 +
 
 +
Например,
 +
btrfs device add /dev/sda /dev/sdb1 /mnt
 +
btrfs filesystem balance /mnt
 +
 
 +
=== Как отключить устройство от файловой системы? ===
 +
btrfs device delete {устройство} [{еще устройство}..] {точка монтирования}
 +
Все файлы будут перераспределены между оставшимися устройствами согласно используемому уровню RAID.
 +
 
 +
Например,
 +
btrfs device delete /dev/sda /dev/sdb1 /mnt
  
 
== Ссылки ==
 
== Ссылки ==
* [https://btrfs.wiki.kernel.org/index.php/Btrfs(command) Btrfs(command)]
+
* [https://btrfs.wiki.kernel.org/index.php/Btrfs(command) Btrfs(command) - btrfs Wiki]
 +
* [https://btrfs.wiki.kernel.org/index.php/Mount_options Mount options - btrfs Wiki]
 +
* [https://btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices Using Btrfs with Multiple Devices - btrfs Wiki]
 
* [http://www.zdnet.com/btrfs-hands-on-an-extremely-cool-file-system-7000023734/ Btrfs hands on: An extremely cool file system]
 
* [http://www.zdnet.com/btrfs-hands-on-an-extremely-cool-file-system-7000023734/ Btrfs hands on: An extremely cool file system]
 
* [http://help.ubuntu.ru/wiki/btrfs btrfs | Русскоязычная документация по Ubuntu]
 
* [http://help.ubuntu.ru/wiki/btrfs btrfs | Русскоязычная документация по Ubuntu]
 
* [http://help.ubuntu.ru/wiki/fstab#btrfs Файл fstab | Русскоязычная документация по Ubuntu]
 
* [http://help.ubuntu.ru/wiki/fstab#btrfs Файл fstab | Русскоязычная документация по Ubuntu]
 +
* [https://help.ubuntu.com/community/btrfs btrfs - Community Help Wiki]
  
 
[[Категория:База знаний]]
 
[[Категория:База знаний]]
 
[[Категория:Linux]]
 
[[Категория:Linux]]

Текущая версия на 03:17, 14 декабря 2017

btrfs — файловая система для Linux, основанная на структурах Б-деревьев и работающая по принципу «копирование при записи» (copy-on-write).

Работа с файловой системой[править]

Как посмотреть информацию о системе?[править]

btrfs filesystem show {точка монтирования или устройство}

Например,

btrfs filesystem show /mnt
btrfs filesystem show /dev/sda

Как изменить метку?[править]

btrfs filesystem label {точка монтирования или устройство} {новая метка}

Например,

btrfs filesystem label /mnt NewBtrfsLabel
btrfs filesystem label /dev/sda NewBtrfsLabel

Как изменить размер?[править]

btrfs filesystem resize {новый размер} {точка монтирования}

Например,

btrfs filesystem resize max /mnt

Как определить какой уровень RAID используется?[править]

btrfs filesystem df {точка монтирования}

Например,

btrfs filesystem df /mnt

Как изменить уровень RAID?[править]

Делается с помощью перебалансировки данных:

btrfs balance start -dconvert={уровень RAID для данных} -mconvert={уровень RAID для метаданных} {точка монтирования}

Например,

btrfs balance start -dconvert=raid1 -mconvert=raid1 /mnt

Как установить операционную систему на раздел с ненулевым уровнем RAID?[править]

Перед разметкой разделов выполнить

btrfs dev scan

Как изменить метод сжатия файлов[править]

Делается с помощью дефрагментации данных:

btrfs filesystem defragment -c{метод сжатия} {файл или директория} [{файл или директория}]

Например,

btrfs filesystem defragment -clzo /home /mnt

Как задать метод сжатия новых или изменённых файлов?[править]

Нужно задать свойство:

btrfs property set {файл или директория} compression {метод сжатия}

Например,

btrfs property set /mnt compression zlib

или

btrfs property set /mnt compression ""

Работа с подразделами[править]

Как посмотреть какие подразделы доступны?[править]

btrfs subvolume list {точка монтирования}

Будет выведен список разделов с информацией о них: ID, gen, top, path.

Например,

btrfs subvolume list /mnt

Как добавить подраздел?[править]

btrfs subvolume create [{точка монтирования}/]{имя подраздела}

Если {точка монтирования} не указана, будет использована текущая директория.

Например,

btrfs subvolume create /mnt/@NewSubvolume
btrfs subvolume create @NewSubvolume

Как добавить снимок?[править]

Снимок — это подраздел, разделяющий данные с другим. Данные копируются только тогда, когда происходит их изменение.

btrfs subvolume snapshot [-r] {точка монтирования исходного подраздела} [{точка монтирования}/]{имя снимка}

Если {точка монтирования} не указана, будет использована текущая директория. Флаг r служит для создания снимка, доступного только для чтения.

Например,

btrfs subvolume snapshot -r /mnt/@subvolume /mnt/snapshot

Как назначить подраздел, который подключается по-умолчанию?[править]

btrfs subvolume set-default {id} {точка монтирования}

Например,

btrfs subvolume set-default 257 /mnt

Как примонтировать корневой раздел?[править]

mount {устройство} {точка монтирования} -o subvolid=5

Например

mount /dev/sda1 /mnt -o subvolid=5

Как вернуть корневой раздел для подключения по-умолчанию?[править]

btrfs subvolume set-default 5 {точка монтирования}

Работа с несколькими устройствами[править]

Как подключить устройство к файловой системе?[править]

btrfs device add {устройство} [{еще устройство}..] {точка монтирования}

Устройство будет добавлено к файловой системе, но распределение данных зависит от используемого уровня RAID. Вообще говоря, нужно выполнить балансировку для переноса метаданных на новое подключенное устройство:

btrfs filesystem balance {точка монтирования}

Это также перераспределит данные.

Например,

btrfs device add /dev/sda /dev/sdb1 /mnt
btrfs filesystem balance /mnt

Как отключить устройство от файловой системы?[править]

btrfs device delete {устройство} [{еще устройство}..] {точка монтирования}

Все файлы будут перераспределены между оставшимися устройствами согласно используемому уровню RAID.

Например,

btrfs device delete /dev/sda /dev/sdb1 /mnt

Ссылки[править]