Souborový systém XFS je vysoce výkonný žurnálovací souborový systém. XFS je výchozí systém souborů pro RedHat Linux 7. XFS podporuje maximální velikost systému souborů 500 TB a maximální velikost souboru 16 TB. Souborový systém XFS můžete vytvořit na běžném diskovém oddílu a na logickém svazku.
Datová část systému souborů XFS obsahuje metadata systému souborů (inody, adresáře a nepřímé bloky) a data uživatelských souborů. Datová sekce je rozdělena do alokačních skupin, což jsou oblasti virtuálního úložiště pevné velikosti. Jakékoli soubory a adresáře, které vytvoříte, mohou zahrnovat více alokačních skupin. Každá alokační skupina spravuje svou vlastní sadu inodů a volné místo nezávisle na ostatních alokačních skupinách, aby byla zajištěna škálovatelnost a paralelnost I/O operací.
Žurnál XFS (nebo protokol) může být umístěn interně v datové části systému souborů nebo externě na samostatném zařízení, aby se snížil počet vyhledávání disku. Žurnál ukládá změny metadat systému souborů, zatímco systém souborů běží, dokud tyto změny nejsou zapsány do datové sekce. Žurnálování XFS zaručuje konzistenci souborového systému po ztrátě napájení nebo havárii systému. Při připojování souborového systému po havárii se žurnál přečte, aby se dokončily operace, které probíhaly v době havárie.
Příklady vytvoření systému souborů XFS
1. Vytvoření souborového systému XFS s interním logem na stejném zařízení
K vytvoření systému souborů XFS použijte příkaz mkfs.xfs nebo mkfs –t xfs. Následující příklad vytvoří systém souborů XFS s interním protokolem na disku /dev/sdc. Jak je znázorněno na snímku, parametry systému souborů jsou zobrazeny jako výstup.
# mkfs.xfs /dev/sdc meta-data=/dev/sdc isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
2. Vytvoření souborového systému XFS s žurnálem na jiném zařízení
Následující příklad vytvoří souborový systém XFS na /dev/sdb, ale umístí žurnál na jiné zařízení, /dev/sdc. Volba velikosti určuje žurnál s 10 000 bloky:
# mkfs.xfs -l logdev=/dev/sdc,size=10000b /dev/sdb meta-data=/dev/sdb isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =/dev/sdc bsize=4096 blocks=10000, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
3. Vytváření souborového systému XFS na logickém svazku
Následující příklad vytvoří souborový systém XFS s velikostí prokládané jednotky 32 KB a 6 jednotek na proužek na logickém svazku:
# mkfs.xfs -d su=32k,sw=6 /dev/mapper/vg_test-test_lv meta-data=/dev/mapper/vg_test-test_lv isize=512 agcount=8, agsize=9592 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=76736, imaxpct=25 = sunit=8 swidth=48 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=624, version=2 = sectsz=512 sunit=8 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
XFS používá velikost stripe-unit a počet jednotek na stripe informaci k tomu, aby zarovnal data, inody a žurnál pro úložiště. Na svazcích LVM a Multiple Devices (MD) a některých hardwarových konfiguracích RAID může XFS automaticky vybrat optimální parametry prokládání.
4. Přepsání existujícího souborového systému souborovým systémem XFS
Další příklad obsahuje výstup příkazu mkfs.xfs. -f volba vynutí přepsání existujícího typu systému souborů. –L možnost nastaví štítek systému souborů na „XFS “. -b size=1024 nastaví velikost logického bloku na 1024 bajtů.
# mkfs.xfs -f -L XFS -b size=1024 /dev/sdb meta-data=/dev/sdb isize=512 agcount=4, agsize=5242880 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=1024 blocks=20971520, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=1024 blocks=10240, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
Porozumění výstupu příkazu mkfs.xfs
Výstup ukazuje, že souborový systém XFS má až tři části:
- datovou sekci
- sekce protokolu (deník)
- sekce v reálném čase
Při použití výchozích voleb mkfs.xfs chybí sekce reálného času a oblast protokolu je obsažena v sekci dat. Oblast pojmenování určuje nastavení pro adresář systému souborů.
Následují některé další volby k příkazu mkfs.xfs:
- -b [velikost_bloku] :Každá sekce souborového systému je rozdělena do určitého počtu bloků. XFS vám umožňuje zvolit velikost logického bloku pro každou sekci systému souborů. Bloky fyzického disku mají vždy 512 bajtů. Výchozí hodnota velikosti logického bloku je 4 KB. Toto je doporučená velikost bloku pro systémy souborů větší než 100 MB. Minimální logický blok je 512 bajtů a doporučuje se pro systémy souborů menší než 100 MB a pro systémy souborů s mnoha malými soubory. Maximální velikost bloku je velikost stránky jádra.
- -d [data_section_options] :Tyto volby určují umístění, velikost a další parametry datové části systému souborů. Datová část souborového systému je rozdělena do alokačních skupin, aby se zlepšil výkon XFS. Více alokačních skupin znamená, že můžete dosáhnout větší paralelnosti při přidělování bloků a inodů. Pomocí možnosti – d agcount=[value] vyberte počet alokačních skupin. Výchozí počet alokačních skupin je 8, když je velikost systému souborů mezi 128 MB a 8 GB. Alternativně můžete pro výběr velikosti alokačních skupin použít volbu –d agsize=[value]. Parametry agcount a agsize se vzájemně vylučují. Minimální velikost alokační skupiny je 16 MB; maximální velikost je těsně pod 1 TB. Zvyšte počet alokačních skupin z výchozí hodnoty, pokud je dostatek paměti a velké množství alokační aktivity. Nenastavujte příliš vysoký počet alokačních skupin, protože to může způsobit, že systém souborů bude spotřebovávat velké množství času CPU, zvláště když je systém souborů téměř plný.
- -n [volby_názvů] :Tyto volby určují parametry verze a velikosti pro adresář systému souborů (nebo oblast pojmenování). To vám umožňuje zvolit velikost logického bloku pro adresář systému souborů, která je větší než velikost logického bloku systému souborů. Například v systému souborů s mnoha malými soubory může být velikost logického bloku systému souborů malá (512 bajtů) a velikost logického bloku pro adresář systému souborů může být velká (4 KB). To může zlepšit výkon vyhledávání v adresáři, protože strom uchovávající informace o indexu má větší bloky.