За да не се повтарят статиите ще се постарая да покажа само основните моменти. По-точно как се разделя диска, как се правят субволумета, къде се монтират и от този род неща. Самата инсталация ще я прескоча. Иска ми се да покажа един клип, който е свързан с TimeShift но в началото за всяка по-известна дистрибуция обяснява проблемите с BTRFS: Резервное копирование в linux - точки восстановления в файловой системе BTRFS с timeshift Когато стартирате archinstall и стигнете до разделяне на диска трябва да се направи така, че да се получи долната картинка.

Диска ще го разделим на два дяла: EFI - 1GB, с точка на монтиране /boot, файлова система fat32 всичкото останало място - в един общ дял, файлова система btrfs, с компресия zstd. SUBVOLUME - може да се създадат само два: @ - с точка на монтиране / @home - с точка на монтиране /home Нарочно нахвърлям какво трябва да се прави, защото по-надолу ще има множество снимки и най-вероятно ще се загуби логиката.

Прескачаме стъпките от инсталацията до разделянето на диска. Манипулациите по диска ще се извършат ръчно.

Работим на виртуална машина, затова диска изглежда както на горната снимка. Избираме диска и натискаме Enter върху него.

Целия диск е празен. Ще го разделяме по наш избор. Маркираме свободното пространство и натискаме Enter.

Ще създадем първо EFI дял. Размера ще му е 1GB.

Файловата система на дяла ще е fat32.

Точката на монтиране ще е /boot.

Избираме останалото свободно пространство и натискаме Enter върху него.

Не дефинираме никакви размери просто натискаме Enter. Така на практика избираме цялото останало място.

Файловата система ще е btrfs.

До тук дефинирахме разделите. Сега ще настроим subvolume и типа компресия. Избираме втория дял и натискаме Enter върху него.

На втория дял ще създаваме subvolume.

Добавяме нов.

Даваме му име. Това ще е за корена на системата.

subvolume за корена го монтираме в /. Все пак това е корена за системата.

Ще добавим втори subvolume. В него ще разположим домашните папки.

Даваме му име.

Монтираме го в системата.

С това приключваме. Повече subvolume не създаваме. Понякога се налага по-подробно да се дефинират но за правилната работа и това е достатъчно.

Имаме изградени дялове. Имаме създадени subvolume. Необходимо е дяла с btrfs да се компресира. Тази операция се налага за да удължим живота на SSD диска. Когато има компресия много по-малко операции (четене/запис) се правят на диска. Вярно натоварването на процесора скача, но това е толкова незначително, че на практика не се усеща. Освен това се работи предимно в паметта, а от там скача скоростта на работа.

Ще използваме компресия на дяла.

С това приключваме дефинирането на диска.

Крайния резултат се вижда на горната снимка. Продължава самата инсталация, но в тази тема няма да се разглежда. След като завърши всичко и се влезе, трябва да се инсталира TimeShift. Това е програма за създаване на моментни снимки на системата.
Иска ми се малко по-подробно да обясня за нуждата от BTRFS. Какво се печели и какво се губи. Предимства: ● Гъвкави подтомове (Subvolumes): Btrfs позволява създаването на логически дялове (subvolumes) в рамките на едно общо дисково пространство. Можете да разделите директорията (/) и потребителските данни (/home), без да се притеснявате, че на единия дял ще му свърши мястото за сметка на другия. ● Създаване на моментни снимки: Можете да правите моментни снимки много лесно и бързо (много по-бързо от RSync). За целта обаче се ползва същия диск. Ако искате да прехвърляте системата на друг компютър то е необходим RSync. ● Вградена компресия (Transparent Compression): Опции като zstd компресират данните в движение. Това не само спестява значително дисково пространство, но и удължава живота на SSD дисковете (намалява броя записи) и може да ускори четенето от диска. Недостатъци: ● Фрагментация при бази данни и виртуални машини: Поради Copy-on-Write (CoW) архитектурата, файлове, които постоянно се модифицират на малки порции (като виртуални дискове на VirtualBox/QEMU, Torrent файлове или бази данни), се фрагментират изключително бързо на твърди дискове (HDD). Решение: За тези специфични папки трябва ръчно да се изключи CoW функцията (атрибут chattr +C). ● Сложно изчисляване на свободното пространство: Поради компресията и системните копия, стандартната команда df -h често не показва точното свободно пространство. Налага се използването на специализирани команди като btrfs filesystem usage. ● Проблеми при пълно запълване на диска: Ако запълните Btrfs диска на 100%, файловата система може да влезе в режим "само за четене" (Read-Only) и изтриването на файлове за освобождаване на място става сложно, тъй като самото изтриване в CoW изисква малко свободно пространство за метаданни. ● Нестабилен RAID 5/6: Ако планирате масиви от дискове, RAID 0 и RAID 1 работят отлично, но нивата RAID 5 и RAID 6 все още се считат за нестабилни и не се препоръчват за важна информация. ● По-ниска производителност в сравнение с Ext4: В сурови бенчмаркове за скорост Ext4 често е малко по-бърза от Btrfs. За ежедневна десктоп употреба разликата е незабележима, но е фактор при високо натоварени сървъри. Лично аз предпочитам ext4. Много по-ясна и лесна. Файловата система е доказана във времето. Ако нещо се счупи като зареждане или дял, то ремонта става с по-малко проблеми.