Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Обзор Btrfs

402 views

Published on

Краткий обзор основных алгоритмов и архитектура btrfs.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Обзор Btrfs

  1. 1. BTRFS Архитектура, основные алгоритмы
  2. 2. Основные требования к ФС ● Масштабируемость ● Обеспечение целостности данных ● Поддержка разнообразия дисков
  3. 3. Основные возможности ● Multi-volumes ● Copy-on-Write Style Update ● Data/Metadata Checksum ● Subvolume ● Snapshot ● Transparent Compression ● Поддержка SSD (TRIM)
  4. 4. Понятия ● Subvolume (том) – файловая система внутри файловой системы – монтируемая – с отдельными квотами ● Snapshot – копия тома (возможно RO) – btrfs subvolume snapshot [-r] ./sub ./snap
  5. 5. История и разработчики ● 2007 – начало разработки ● 2011 – поддержка компрессии ● 2013 – поддержка RAID ● 2014+ стабилизация, производительность ● Разработчики: – Fujitsu – Fusion-IO – Intel – Oracle – RedHat – SUSE
  6. 6. Статистика проекта © Satoru Takeuchi.
  7. 7. Архитектура ● Page block ● Extent ● COW
  8. 8. Вставка (19)
  9. 9. Удаление (6)
  10. 10. Клонирование (P->Q)
  11. 11. Подсчет ссылок (клонирование)
  12. 12. Вставка ключа (H=>Q) Исходные деревья P,Q Затенение Q Затенение С Затенение H
  13. 13. Удаление Исходные деревья P, Q Удаление Q Сборка мусора
  14. 14. Устройство каталога
  15. 15. Устройство листа (leaf node)
  16. 16. Деревья btrfs
  17. 17. Клонирование (1/3)
  18. 18. Клонирование (2/3)
  19. 19. Клонирование (3/3)
  20. 20. Текущий статус ● https://btrfs.wiki.kernel.org/index.php/Main_Pag e
  21. 21. Источники и ссылки ● Roden, Bacik, Mason BTRFS: The Linux B- Tree Filesystem – 2012 ● btrfs.wiki.kernel.org ● Satoru Takeuchi. Btrfs Current Status and Future Prospects ● https://www.howtoforge.com/a-beginners-guide-t o-btrfs
  22. 22. Демо ● apt-get install btrfs-tools ● mkfs.btrfs /dev/sdb /dev/sdc /dev/sdd ● btrfs filesystem show /dev/sdb ● btrfs filesystem df /mnt ● mount -o compress=lzo /dev/sdb /mnt ● btrfs filesystem resize -2g /mnt ● btrfs device delete /dev/sdc /mnt ● btrfs subvolume create /mnt/sv1 ● btrfs subvolume list /mnt ● mount -o subvolid=266 /dev/sdb /mnt ● btrfs subvolume snapshot /mnt/sv1 /mnt/sv1_snapshot ● cp --reflink /mnt/sv1/test1 /mnt/sv1/test3

×