Linux файлови системи

Поредица от статии за файлови системи Linux.

Малко теория за разбиране.

Можете да създадете файл във вътрешността на който - линията "Момиче Таня отиде в клетки." Запазете го на нормална файлова система, например, Ext4 или NTFS. Сега, ако отворите файл и добавяне на втора линия, "Отново не е необходимо да се хранят крокодил", файловата система, като същевременно се поддържа напълно замени предишната версия на файла. Това означава, че версията на файла, където има само една линия, вече не съществува.

Когато искате да прочетете този файл, ще видите само най-новата версия, но с помощта на инструменти Btrfs е възможно да го върне към предишното си състояние. По този начин може да се запази Btrfs историята на промените на всеки файл - премахва необходимостта от сеч, Btrfs просто периодично спомня състоянието на FS, и най-малката грешка се завъртя обратно към предишната версия.

Използването Btrfs в Ubuntu.

Ubuntu Installer отдавна подкрепя Btrfs, така че няма проблеми с него:

Linux файлови системи

Btrfs дръжки обеми или подкубове - така да се каже секции във файловата система. "Каквото и да" - защото обемите са по-скоро като каталози, отколкото в секции. Но такава специална директория може да се монтира като клон. Ubuntu инсталатор създава отделен обем за системата и за собствената директория:

Linux файлови системи

Това се прави, защото е много по-бързо и по-лесно да се поддържа състоянието на целия обем, от състоянието на всеки един от хилядите файлове в силата на звука. Втората команда показва, че Btrfs @ създаден обем и @Home, но за да ги видите в файл мениджър няма да работи. Първо трябва да се монтира в основата на Btrfs (да не се бърка с системната папка):

Linux файлови системи

Какво можете да направите с обеми Btrfs.

Запазване на място на вашия диск.

За всеки обем, можете да включите прозрачна компресия на един от двата алгоритми: Zlib и lzo. Първият компресира по-добре, но на втория порядък по-бързо минава. За системи обикновено използват lzo и Zlib има смисъл на големи обеми, които са рядко четат. Включване на компресия опция за монтиране компрес = lzo в файл / и т.н. / fstab:

Linux файлови системи

След рестартиране, компресията ще бъде активиран. Забележете как това се монтира към посочената директория - чрез опция subvol = nuzhnyy_tom.

Застраховка от неуспешен ъпгрейд.

Преди всяка актуализация на системата да направя моментна снимка на вашия обем система. Ето как може да изглежда в Ubuntu:

Linux файлови системи

Можете да запишете, както и че с домашна директория, и като цяло всеки обем. Snapshot подразбиране Btrfs е отворен за записи, но можете да създадете моментна снимка на само за четене:

Sudo Btrfs subvolume снимка -r iskhodnyy_tom снимка

Представете си, че след надграждане на вашата система не работи правилно, или не се зарежда. Тогава просто ще трябва да се уточни в / и т.н. / fstab последната снимка като системата обем чрез опцията subvol = nuzhnyy_tom. Това може да стане чрез LiveCD.

Един FS на колкото се може повече устройства.

За виртуална машина с Ubuntu, съм създал един виртуален диск. Представете си, че от място на него. В този случай, мога да добавя още един виртуален диск в с настройки, а след това и Btrfs добави:

Linux файлови системи

Както можете да видите, Btrfs автоматично прилага RAID1 модел - otzerkalirovala данни за добавената диск, но можете да промените нивото на RAID. Същото може да се направи на недвижими машина - за да добавите или премахнете дискове без да е необходимо да прибегнете до тях форматирате отново.

Използването Btrfs на SSD.

Както бе споменато в предишната статия, крава технология води до силно раздробяване на файлове - всички промени в писмените си парчета на различни места FS. Ето защо Btrfs (и ZFS) се препоръчва да се използва на SSD, където фрагментация не се усеща.

Btrfs - доста модерна и напреднала файлова система, тя подкрепя SSD, както се казва, "извън кутията". Дневникът на ядрото, можете да видите в следните направления:

Според последния ред може да се види, че Btrfs ще се определи какво е на SSD и автоматично включени SSD дискове поддържат режим. Този режим може да се активира и да опция за монтиране на едно и също име. С този режим Btrfs показва висока скорост многонишкови операции.

Но трябва да се има предвид, че SSD-режим не включва поддръжка за TRIM! Поради това е необходимо или да се включи възможността за монтиране на изхвърлянията, или като редовно стартирате програмата fstrim. Ubuntu има отделна единица за периодични systemd работещи на тази програма, можете да го активират с командата:

Sudo systemctl позволи fstrim.timer

Предотвратяване на скоростта на разграждане.

В Btrfs има неприятна архитектурен акцент той съдържа малки файлове директно в дървото на метаданни. Дърво на метаданни е нещо подобно на съдържанието на книгата, или търсачката в интернет - като цяло, много важно нещо.

По подразбиране, дървото спаси файлове по-големи от 4 KB, и тук се крие опасността. Поради факта, че размерът на файла не е известна предварително, а границата на размера е широк, Btrfs дърво метаданни расте силно, която влияе неблагоприятно върху скоростта на файлова система.

За да избегнете това, можете значително да ограничи максималния размер на файла, който се пакетира в едно дърво. Това се прави с опция за монтиране max_inline посочи размера на файла в байтове - разбира се, във файла / и т.н. / fstab:

Linux файлови системи

Сега, дървото ще бъде спасен само файлове с размер до 256 байта. Можете да деактивирате пакета, като посочва 0 след знака "равно".

Между другото, това е полезно, за да забраните клеймото за актуализиране при достъп до файл. Това е опция, noatime. Тя добавя малко скорост FS, както и SSD повече смисъл, защото намаляването на броя на записите в него.

Деактивирането на крава за обеми и файлове.

Изключване на крава може да бъде на нивото на силата на звука с помощта на опциите при монтиране nodatacow:

Linux файлови системи

Въпреки това, тази опция може да не работи, защото на сложната система на зависимости между опции обемите на планината. В този случай, можете да деактивирате кравата на ниво файл атрибут, с командата:

chattr -R + C nuzhnyy_katalog

Тя ще изглежда, че ключовият «+ C" трябва логически да включва крава, но не и обратното. За да се даде възможност на крава, която искате да приложите същата команда, но с ключ «-C».

Анализ състояние Btrfs.

Често хората не разбират как да се разпознават количеството свободна и използвана място на Btrfs. Факт е, че благодарение на снимки и компресия на помощната програма за запазване на статуквото "полудявам" и да се покаже грешни данни. Поради това е необходимо да се използват за комунални услуги Btrfs:

Linux файлови системи

Заключението й не е много ясно, така че Нека разгледаме редовете.

Първият ред е написан от общия обем отпуснати и използваното място. Думата «единна» означава, че Btrfs се използва на едно и също устройство. «Общо» показва колко свободно място има, освен това тя може да бъде много по-малко от общата сума на място на диска. Не изпадайте в паника, просто Btrfs разпределя пространство порции. Край една част - тя ще се разпределят по един. Е, «използват» показва колко място заема всъщност на файловата система.

Вторият ред показва размера на пространството, заемано от резерва на системата. съществува нещо подобно в Ext4.

Третият ред е интересно - това е възможно да се види колко време е необходимо на едно и също дърво метаданни. Снимката показва, че дървесината се разпределят 2GB, от които заети около 600 MB. Тези цифри са взети под внимание в първия ред.

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

Така че, за да разберете колко място реално заеманата от Btrfs, трябва да погледнем към фигура «използват» в първия ред на изхода на командата:

Sudo Btrfs файлова система ге nuzhnyy_put

Може също така: