The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Использование расширенных возможностей Btrfs
В заметке представлены примеры использования таких расширенных функций Btrfs
как создания отказоустойчивых конфигураций, опции для обеспечения целостности
данных, хранение данных в сжатом виде, снапшоты.

Создадим тестовый раздел Btrfs на диске /dev/sdb:

   # mkfs.btrfs /dev/sdb

   adding device /dev/sdb id 2
   fs created label (null) on /dev/sdb
   nodesize 4096 leafsize 4096 sectorsize 4096 size 10.00GB
   Btrfs Btrfs v0.19


Примонтируем созданный раздел:

   # mount /dev/sdb /mnt

Создадим подраздел и скопируем на него тестовые файлы: 

   # cd /mnt
   # btrfs subvolume create MYFILES

   # cp myfile* /mnt/MYFILES

   # ls /mnt/MYFILES
   myfile1
   myfile2
   myfile3

Удалим один из файлов:

   # rm /mnt/MYFILES/myfile2

   # ls /mnt/MYFILES
   myfile1
   myfile3

Если файлов очень много, то удалять их командой "rm -rf" достаточно долгий и
ресурсоёмкий процесс. В этом случае проще воспользоваться командой удаления подраздела:


   # btrfs subvolume delete MYFILES

При этом важно понимать, что удалить можно только отдельно созданные
подразделы. Подраздел, создаваемый по умолчанию при форматировании ФС, удалению
не подлежит.


Настройка отказоустойчивой конфигурации с зеркалированием на несколько дисков.

Btrfs предоставляет достаточно гибкие средства по зерклированию данных и
расширению доступного пространства раздела. Дополнительные диски можно
подключить в любое время, расширив таким образом размер ФС или обеспечив
отказоустойчивость. По умолчанию при размещении радела на нескольких дисках
осуществляется зеркалирование метаданных на двух дисках, но сами данные
распределяются по данным дискам без резервирования (размер ФС получается равным
суммарному размеру дисков). Если диск один, то  две копии метаданных
размещаются на нём.

Добавим в уже созданный раздел дополнительный диск  /dev/sdc, все данные уже
сохранённые на первом диске останутся на месте, если не выполнить операцию ребалансировки:


   # btrfs device add /dev/sdc /mnt/btrfs

   # btrfs filesystem show

   Label: none  uuid: b4f5c9a8-d8ec-4a5b-84f0-2b8c8d18b257
	Total devices 2 FS bytes used 200.33MB
	devid    1 size 5.00GB used 5.00GB path /dev/sdb
	devid    2 size 5.00GB used 4.98GB path /dev/sdc


Использование RAID 

Btrfs имеет встроенную поддержку нескольких уровней RAID (RAID1, RAID5). В
отличии от обычных программных и аппаратных RAID, Btrfs оперирует не
формированием RAID на уровне дисков, а использует для создания логических RAID
разделов распределение chunk-ов, определяющих дисковую область заданного
размера (от 256 Мб). Каждый chunk может быть отзеркалирован на несколько дисков
или склеен из частей разных дисков. При создании RAID для данных и метаданных
могут применяться разные методы хранения, например, для метаданных и служебных
структур всегда применяется зеркалирование.

Создать RAID заданного уровня для данных и метаданных можно на этапе создания
ФС. Например, создадим RAID1 (зеркало) из двух дисков:

   # mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc

   mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc
   adding device /dev/sdc id 2
   fs created label (null) on /dev/sdb
	nodesize 4096 leafsize 4096 sectorsize 4096 size 10.00GB
   Btrfs Btrfs v0.19

После чего подключим ещё два диска и создадим RAID10 (зеркало на двух склеенных дисках):

   # mkfs.btrfs -m raid10 -d raid10 /dev/sdd /dev/sde

   adding device /dev/sde id 2
   fs created label (null) on /dev/sdd
	nodesize 4096 leafsize 4096 sectorsize 4096 size 10.00GB
   Btrfs Btrfs v0.19


Опция "-m" задаёт уровень RAID для метаданных, а "-d" для данных. Например,
можно использовать смешанные схемы:


   # mkfs.btrfs -m raid1 -d raid10 /dev/sdf /dev/sdg /dev/sdh /dev/sdi

Обеспечение целостности данных.

Btrfs поддерживает несколько встроенных механизмов обеспечения целостности: 

* Хранение контрольных сумм для проверки блоков данных и метаданных; 

* Изоляция сбоев (отдельное сохранение данных и метаданных с CRC-верификацией); 

* Средства выявления повреждений и их автоматической корректировки (проверка по
контрольным суммам осуществляется при каждом чтении блока, если выявлено
расхождение осуществляется попытка прочитать повреждённый блок с другого диска,
после чего осуществляется корректировка повреждённого блока);

* Поддержка операции фоновой перепроверки всего содержимого ФС (вычисляются и
сверяются контрольные суммы для всех блоков). Для запуска проверки следует выполнить:

   # btrfs scrub start /mnt/MYFILES

* Перестроение RAID при замене или добавлении новых дисков. Отличительной
чертой Btrfs является то, что в перестроении участвуют только занятые блоки,
что существенно сокращает время выполнения операции.

* В настоящее время в Btrfs нет встроенной возможности хранения информации в
зашифрованном виде, но обеспечить шифрование можно путем создания ФС поверх
шифрованных разделов, созданным при помощи подсистем dm_crypt и LUKS.

Использование сжатия данных.

Для оптимизации расходования дискового пространства при хранении хорошо
сжимаемых данных можно использовать встроенные в Btrfs механизмы сжатия.
Поддерживается сжатие методами  Lempel-Ziv-Oberhumer (LZO) или zlib (в
разработке поддержка Snappy и LZ4). Включить сжатие можно после создания ФС, на
этапе монтирования, при этом сжиматься будут только новые данные.

Монтируем раздел с включением сжатия:
 
   # mount -o compress=lzo /dev/sdb /mnt/MYFILES

Сжатие можно включить и для отдельного подраздела:

   # btrfs subvolume create /mnt/MYFILES/mysubvol

   # mount -o compress=lzo,subvol=mysubvol /dev/sdb /mnt/MYSUBVOL


Снапшоты и клонирование.

В рамках снапшота может быть сделан активный срез состояния ФС в заданный
момент времени. В дальнейшем, используя средства миграции данный, сохранённый
снапшот можно восстановить на другой машине. Кроме задействования
дополнительных метаданных снапшон не приводит к дополнительному расходованию
дискового пространства - физически хранится одна копия данных.

Создадим снапшот для ранее созданных данных:

    # ls /mnt/MYFILES
    myfile1
    myfile2

    # btrfs subvolume snapshot /mnt/MYFILES /mnt/SNAPSHOT

    # ls /mnt/SNAPSHOT
    myfile1
    myfile2


Для отдельных фалов можно создавать клоны, которые в отличие от копирования
используют один набор блоков на диске:

    # cp --reflink /mnt/MYFILES/myfile1 /mnt/MYFILES/myfile3

    # ls /mnt/MYFILES
    myfile1
    myfile2
    myfile3

Средства дефрагментации.

Btrfs поддерживает режим автоматической фоновой дефрагментации, активируемый
при помощи опции монтирования "-o autodefrag". Кроме того, дефрагментацию можно
запустить вручную:


   # btrfs filesystem defrag /mnt
 
21.08.2012 , Источник: http://www.oracle.com/technetwork/a...
Ключи: btrfs, snapshot, clone, raid, mirror, defrag / Лицензия: CC-BY
Раздел:    Корень / Администратору / Система / Диски и файлы / Файловые системы

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Александр, 18:14, 21/08/2012 [ответить] [смотреть все]
  • –2 +/
    Вот мне интересно, вот создали вы снапшот, а может и сотни снапшотов и как узнать что это за снапшоты, чего они снапшотят. Хренатень не доработанная, толи дело ZFS, все есть. Я бы рад эту фс, но она сырая как почка на дереве.
     
     
  • 2.5, Аноним, 12:34, 22/08/2012 [^] [ответить] [смотреть все] [показать ветку]
  • +1 +/
    > толи дело ZFS, все есть.

    Очередной бсдишнег?


     
     
  • 3.26, Аноним, 17:44, 26/08/2012 [^] [ответить] [смотреть все]
  • +/
    Им бросили подачку, а они и рады Вот только оракл - не сан, подачек кидать не с... весь текст скрыт [показать]
     
     
  • 4.28, iZEN, 17:50, 26/08/2012 [^] [ответить] [смотреть все]  
  • +/
    GEOM ELI пофигу на ФС 8212 работает под ней ... весь текст скрыт [показать]
     
  • 2.25, Аноним, 17:43, 26/08/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Так же, как и в ZFS А что ZFS - Хренатень не доработанная , это уже другой воп... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.27, iZEN, 17:48, 26/08/2012 [^] [ответить] [смотреть все]  
  • +/
    zfs diff roxy usr local 201208261212 roxy usr local M usr local bin M usr lo... весь текст скрыт [показать]
     
     
  • 4.39, ананим, 22:04, 28/08/2012 [^] [ответить] [смотреть все]  
  • +/
    http kuther net blog using-opensuses-snapper-archlinux-manage-btrfs-snapshots ... весь текст скрыт [показать]
     
  • 1.2, iZEN, 00:04, 22/08/2012 [ответить] [смотреть все]  
  • +/
    А как в Btrfs создать RAID-5?
     
     
  • 2.3, pavlinux, 03:35, 22/08/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Как нех я делать За три шага 1 Купить http russia emc com products deta... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.4, Аноним, 12:33, 22/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Оптимизм - это круто А в каком месте XFS делает полное журналирование Или напр... весь текст скрыт [показать]
     
     
  • 4.9, pavlinux, 17:35, 22/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Нахер эти детские поделки, ключевые слова - EMC CLARiiON, а тип ФС там ваще поку... весь текст скрыт [показать]
     
     
  • 5.10, Аноним, 21:41, 22/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Тебя Ынтырпрайз укусил? :)
     
  • 5.11, i, 08:34, 23/08/2012 [^] [ответить] [смотреть все]  
  • +/
    http://www.hds.com/ - все что нужно.
     
     
  • 6.33, RNZ, 13:09, 28/08/2012 [^] [ответить] [смотреть все]  
  • +/
    знали-бы вы какие бивни разработкой этих ds заняты, никогда бы этого не сказали ... весь текст скрыт [показать]
     
  • 5.12, Аноним, 08:42, 24/08/2012 [^] [ответить] [смотреть все]  
  • +/
    И чего ты на этом ресурсе забыл Тебе за деньги все хорошо сделают и в красивой ... весь текст скрыт [показать]
     
     
  • 6.18, Аноним, 15:18, 24/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Троллит он тут, имхо И хоть он это делает довольно топорно, не то чтобы совс... весь текст скрыт [показать]
     
  • 6.23, pavlinux, 20:07, 25/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Фу, пля, ацтой, Ви таки не знаете кто такие EMC Гы EMC - это мировой ли... весь текст скрыт [показать]
     
     
  • 7.29, Аноним, 07:47, 27/08/2012 [^] [ответить] [смотреть все]  
  • +/
    хорошая статистика, ты не из росстата случаем ... весь текст скрыт [показать]
     
  • 7.45, Cmp, 08:14, 17/09/2012 [^] [ответить] [смотреть все]  
  • +/
    Да знаем, знаем, пришла как-то указивка поставить их софт, 2 дня е ли с зависим... весь текст скрыт [показать]
     
  • 5.41, Aquarius, 23:02, 30/08/2012 [^] [ответить] [смотреть все]  
  • +/
    [an error occurred while processing this directive]
     
  • 3.14, Аноним, 10:40, 24/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Сам это использую плюс LVM Пока нашел только один недостаток - невозможно уме... весь текст скрыт [показать]
     
     
  • 4.19, nagual, 10:26, 25/08/2012 [^] [ответить] [смотреть все]  
  • +/
    У меня как то в LVM улетели данные ... после этого я отношусь к нему с опаской.
     
     
  • 5.20, Andrey Mitrofanov, 11:55, 25/08/2012 [^] [ответить] [смотреть все]  
  • +/
    А от отсутствия бэкапов -- каждую ночь в хододном просыпаешься, да ... весь текст скрыт [показать]
     
  • 3.15, Elhana, 10:55, 24/08/2012 [^] [ответить] [смотреть все]  
  • +/
    А почему тогда не сразу NetApp если деньги девать некуда http www netapp com ... весь текст скрыт [показать]
     
     
  • 4.16, Аноним, 11:41, 24/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Почемуж сразу некуда Решение выбирается исходя из имеющихся потребностей и нали... весь текст скрыт [показать]
     
  • 4.40, anodminus, 17:39, 29/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Извините но не удержусь от комента Купили эту нетапину, работает пристойно и ... весь текст скрыт [показать]
     
  • 3.21, iZEN, 12:29, 25/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Не-не-не Давайте программный рейд-5 покажите в Btrfs как создавать Я запишу ... весь текст скрыт [показать]
     
     
  • 4.34, Crazy Alex, 15:55, 28/08/2012 [^] [ответить] [смотреть все]  
  • +/
    У меня BTRFS нет нафига мне комбайны , но логика подсказывает, что достаточно ... весь текст скрыт [показать]
     
  • 4.37, ананим, 20:22, 28/08/2012 [^] [ответить] [смотреть все]  
  • +/
    так это ты, толличья душа, и написал первым в этой ветке зачем писал а не тру... весь текст скрыт [показать]
     
  • 1.6, filosofem, 13:49, 22/08/2012 [ответить] [смотреть все]  
  • +/
    >Btrfs имеет встроенную поддержку нескольких уровней RAID (RAID1, RAID5)

    Вот с этого места поподробнее.

     
  • 1.7, anonymousX, 14:34, 22/08/2012 [ответить] [смотреть все]  
  • +/
    >После чего подключим ещё два диска и создадим RAID10 (зеркало на двух склеенных дисках):
    ># mkfs.btrfs -m raid10 -d raid10 /dev/sdd /dev/sde

    Я всегда думал что для raid10 надо как минимум 6 дисков...

     
     
  • 2.8, Аноним, 15:55, 22/08/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вас глючило, для этого достаточно 4-х дисков Догадайтесь сами почему Если фант... весь текст скрыт [показать] [показать ветку]
     
  • 2.30, sanDro, 13:17, 27/08/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    6 дисков нужно для RAID 50.
     
  • 1.13, Аноним, 08:50, 24/08/2012 [ответить] [смотреть все]  
  • +/
    Остались такие вопросы 1 если ФС размазывается на 2 диска, то как размещаются ... весь текст скрыт [показать]
     
     
  • 2.17, Аноним, 15:15, 24/08/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    1 По дефолту, метаданные ФС резервируются на оба диска, данные - размазываюстя ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.22, Anonim, 20:00, 25/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Спасибо
     
  • 3.31, EugeneT, 14:03, 27/08/2012 [^] [ответить] [смотреть все]  
  • –1 +/
    по поводу загрузки с таких разделов, я вот все жду, кто ж из linux-дистрибутивов воспользуется древней идеей (solaris, zfs) апдейтить не себя, а свой снэпшот и, соответственно, пользователь получит возможность загрузиться в старую или новую версию системы.
     
     
  • 4.35, Crazy Alex, 15:57, 28/08/2012 [^] [ответить] [смотреть все]  
  • +/
    Для этого надо сначала толком стабилизировать btrfs. Так что сейчас разве что какой арч такое счудить может.
     
  • 4.38, ананим, 20:50, 28/08/2012 [^] [ответить] [смотреть все]  
  • +/
    >по поводу загрузки с таких разделов, я вот все жду, кто ж из linux-дистрибутивов воспользуется древней идеей (solaris, zfs) апдейтить не себя, а свой снэпшот

    а нахрена так делать, если у бтр лучше схема.
    перед обновлением делаешь снэпшот, обновляешься, перегружаешься, если не устраивает, то просто грузишься с этого снэпшота, а старый субволум можешь удаляешь.
    при этом практически все (апт/емердж/рпм) можно настроить делать такой снэпшот перед обновлением автоматом.
    вот тут обсуждали - http://www.opennet.ru/openforum/vsluhforumID3/86056.html#58

    зыж
    всё дело в плохом понимании работы бтр.
    а секрет прост - root (как и другие типа /home, /usr, /opt,..) должен находится в subvolume (а в бтр любой снапшот - это именно субволум).

     
  • 4.44, Stellarwind, 16:26, 14/09/2012 [^] [ответить] [смотреть все]  
  • +/
    Ничего особо не мешает клонировать пул, потом обновлятся... если не взлетело - грузится с клона.
     
  • 1.24, sig_wall, 23:10, 25/08/2012 [ответить] [смотреть все]  
  • +/
    я бы ещё добавил инфы про cp --reflink.
     
     
  • 2.32, Аноним, 00:49, 28/08/2012 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Тогда уж и про ls -l полезной инфы до кучи.
     
     
  • 3.36, ананим, 19:38, 28/08/2012 [^] [ответить] [смотреть все]  
  • +/
    угу. походу дела и это тоже.
    иначе бы ты эту ахиненю не написал.
     
     
  • 4.42, Аноним, 17:13, 08/09/2012 [^] [ответить] [смотреть все]  
  • +/
    Зачем писать ахинею, когда можно посочувствовать бедняжкам не способным осилить ... весь текст скрыт [показать]
     
     
  • 5.43, Anonimus, 17:16, 08/09/2012 [^] [ответить] [смотреть все]  
  • +/
    > Зачем писать ахинею, когда можно посочувствовать бедняжкам не способным осилить маны?

    и часто Вы перечитываете маны? Когда я последний раз читал ман по cp там этой опции не было.

     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor