Základy
Souborový systém btrfs je navržen tak, aby splňoval rozšiřující se požadavky na škálovatelnost velkých úložných subsystémů. Vzhledem k tomu, že souborový systém btrfs používá při své implementaci B-stromy, je jeho název odvozen od názvu těchto datových struktur, i když to není skutečná zkratka. B-strom je stromová datová struktura, která umožňuje souborovým systémům a databázím efektivně přistupovat a aktualizovat velké bloky dat bez ohledu na to, jak velký strom roste.
Souborový systém btrfs poskytuje následující důležité funkce:
- Funkce kopírování při zápisu vám umožňuje vytvářet jak čitelné, tak zapisovatelné snímky a vrátit souborový systém do předchozího stavu, i když jste jej převedli ze souborového systému ext3 nebo ext4.
- Funkce kontrolního součtu zajišťuje integritu dat.
- Transparentní komprese šetří místo na disku.
- Transparentní defragmentace zlepšuje výkon.
- Integrovaná správa logických svazků umožňuje implementovat konfigurace RAID 0, RAID 1 nebo RAID 10 a dynamicky přidávat a odebírat kapacitu úložiště.
Počínaje aktualizací CentOS/RHEL 6 Update 3 vám bootovací ISO umožňuje konfigurovat kořenový souborový systém btrfs. Před aktualizací CentOS/RHEL 6 Update 3 jste během instalace nemohli vytvořit kořenový souborový systém btrfs.
S UEK R3 podporuje btrfs následující dodatečné funkce:
- Funkce odesílání a přijímání vám umožňuje zaznamenat rozdíly mezi dvěma dílčími svazky, které mohou být snímky stejného podsvazku nebo nadřazeného a podřízeného podsvazku.
- Skupiny kvót (qgroups) umožňují nastavit různé limity velikosti pro svazek a jeho podsvazky.
- Zařízení můžete vyměnit bez odpojení nebo jiného přerušení přístupu k systému souborů.
Tento dokument má vysvětlit, jak vytvořit souborový systém BTRFS v jednom zařízení v systému CentOS/RHEL. Následující kroky byly provedeny na virtuálním počítači se systémem CentOS/RHEL 7 s virtuálním diskem o velikosti 5 GB.
Vytvořte souborový systém BTRFS
Přidejte požadovaný disk na místo, kde bude konfigurován souborový systém btrfs, a ujistěte se, že systém disk rozpozná:
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 20G 0 disk ├─xvda1 202:1 0 1G 0 part /boot └─xvda2 202:2 0 19G 0 part ├─ol-root 251:0 0 17G 0 lvm / └─ol-swap 251:1 0 2G 0 lvm [SWAP] xvdb 202:16 0 5G 0 disk
Ve výše uvedeném výstupu bude náš disk „xvdb“. Zařízeními mohou být jednoduché diskové oddíly, zařízení zpětné smyčky (tj. obrazy disku v paměti), vícecestná zařízení nebo logické jednotky, které implementují RAID v hardwaru.
1. Nainstalujte balíček btrfs-progs, pokud ještě není nainstalován ve vašem systému:
# yum install btrfs-progs
2. Vytvořte souborový systém Btrfs pomocí příkazu mkfs.brtfs:
# mkfs.btrfs /dev/xvdb btrfs-progs v4.9.1 See http://btrfs.wiki.kernel.org for more information. Detected a SSD, turning off metadata duplication. Mkfs with -m dup if you want to force metadata duplication. Label: (null) UUID: c7d1687d-fe91-4837-b14a-4870466d1a3f Node size: 16384 Sector size: 4096 Filesystem size: 5.00GiB Block group profiles: Data: single 8.00MiB Metadata: single 8.00MiB System: single 4.00MiB SSD detected: yes Incompat features: extref Number of devices: 1 Devices: ID SIZE PATH 1 5.00GiB /dev/xvdb
3. Pomocí příkazu btrfs filesystem show ověřte, že byl na zařízení vytvořen souborový systém:
# btrfs filesystem show Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f Total devices 1 FS bytes used 112.00KiB devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb
Výše uvedený příkaz zobrazí všechny systémy souborů btrfs v systému
nebo
# btrfs filesystem show /dev/xvdb Label: none uuid: c7d1687d-fe91-4837-b14a-4870466d1a3f Total devices 1 FS bytes used 112.00KiB devid 1 size 5.00GiB used 20.00MiB path /dev/xvdb
Výše uvedený příkaz zobrazí informace o systému souborů btrfs pouze na určeném potřebném zařízení (/dev/xvdb)
4. Připojte odpovídající systém souborů:
# mount /dev/xvdb /btrfsTest
5. Ujistěte se, že souborový systém btrfs je nyní připojen:
# mount | grep btrfs /dev/xvdb on /btrfsTest type btrfs (rw,relatime,seclabel,ssd,space_cache)
Dotaz na souborový systém BTRFS
Spusťte příkaz btrfs filesystem df pro zobrazení přesnějších informací o prostoru využívaném souborovým systémem btrfs.
# btrfs filesystem df /btrfsTest/ Data, single: total=8.00MiB, used=64.00KiB System, single: total=4.00MiB, used=16.00KiB Metadata, single: total=264.00MiB, used=112.00KiB GlobalReserve, single: total=16.00MiB, used=0.00B
K dotazu na systém souborů můžeme použít běžný příkaz df, ale zobrazené informace nemusí být přesné.
# df -h /btrfsTest/ Filesystem Size Used Avail Use% Mounted on /dev/xvdb 5.0G 17M 4.8G 1% /btrfsTest
Více informací a možností lze nalézt na manuálové stránce mkfs.btrfs:
# man mkfs.btrfs