JFS bestfs и лични дистрота
Обновена на: March 24, 2022EDIT: Дълго време съм живял с убеждението, че можеш да shrink-ваш жфс на Линукс. Не съм сигурен защо. Но явно не можеш. Трагично без майтап, чак ме е срам.
Коментарите по JFS ми се учестиха последни дни, поради щото реших да си играя със squashfs и ръчни инсталатори. Целта, всъщност, беше да направя нова инсталация на Debian Sid с GNOME3 и някои притурки – реално да направя базова инсталация, модифицирана както бих я ползвал – и да я скуошна. С това бих преместил скуоша в live ISO и бих написал инсталаторче, което да … инсталира скуоша на системата. Няколко дни по-късно привърших. Най-трудното се оказа да намеря достатъчно малко живо ИСО, чрез което да инсталирам. Спрях се на Slitaz, понеже си ме кефи от няколко години като in-RAM живо такова. Като изключим няколко часа занимавка по това, че стандартната дистрибуция е 32-битова, а на мен ми трябва да се chroot-вам в 64-битовата нова инсталация, натамънихме 64-битовата cooking база на Slitaz с по-малката (8MB) 32-битова такава. Имах проблеми с редакция на rootfs-a, затова реших да сложа дълъг help file в ISOLINUX менюто, за да не забравя какво правим. В крайна сметка инсталаторчето, което написах, инсталира няколко пакета в самата жива система, за да мога да продължа със скуоша. След cfdisk и няколко аутистични промпта за партиция, swap и файлова система unsquashfs-ваме във новата партиция, chroot-ваме и изпълняваме някакъв housekeeping: поправяме fstab-a и инсталираме LILО (защото GRUB смуче #changemymind), след което можем да си буутнем.
След тоя интерлюд почвам да говоря за самата Journaled Filesystem, понеже точно тя ми е формата по подразбиране. JFS (жфс) ползвах за пръв път преди няколко години на много странна, тъжна инсталация. Тъкмо започвах първата си remote работа и в мазето (офиса) имах само един останал настолен компютър. Pentium 4 на 3GHz, една гъба рам, два умиращи харда. Защо умиращи? Защото по-малко от седмица след инсталацията на Дебиан (на ext4) главният диск започна да цъка, systemd ми се панираше, накрая кернела и той се панира; оказа се, че имам тежък filesystem corruption. Абе има логика, обаче понеже имах файлове, които нямах намерение да губя, ми дойде идеята да ползвам Clonezilla и да рикавърна поне малко от тях. fsck не помогна много – все пак харда умира, нали – но поне виждах дървото. В някакъв странен форум пост някакви господа коментираха коя файлова система има най-добър self-heal, ако не ме лъже паметта, и там някъде прочетох, че жфс е системата с най-ниска утилизация на процесора и най-добрия (първия) журнал (journaled filesystem, дъа). Clonezilla има действително функция за мигриране на данни от един ФС към друг – и поддържа жфс. Ами пробвах – ако нещо се провалеше, губех файловете, а ако станеше, щях да скачам. Стана, скачах.
В следващата година ползвах тази машина безпроблемно въпреки проблемния хард. Ум не ми побираше защо аджеба ext4 не успя да издържи/счупи се/не желаеше да работи с тази Баракуда, а жфс просто fsck_jfs-на и запали. Но от тогава прецених, че мога да имам доверие на тази файлова система повече, отколкото на която и да била друга (гледам много остро UFS – ако не съм писал какво разочарование получих от нея, ще пиша). Това е и причината да реша да я ползвам по подразбиране за всички свои настолни (не бих експериментирал на сървър, въпреки че много постове твърдят, че жфс е перфектна за бази данни) инсталации, както и да я направя по подразбиране в малкия си инсталатор. Много бих искал да си поиграя с JFS2, която за съжаление не е портната за Линукс и съществува само на AIX, но или трябва да намеря начин да инсталирам второто във виртуалка, или да се задоволя с това, което имам. А то включва компресия, ако сте смели. Също, жфс е единствената (мисля?) система, която ви дава възможност да бъдете case-insensitive на Linux. Не съм сигурен защо бихте искали, но може. Предполагам обект на присмех би бил фактът, че TRIM бе имплементиран чак 2012та година, но и в крайна сметка не смятам, че е безкрайно нужен, имайки предвид macOS, който дори не го пуска по дефалт на third-party ССДта (о, Епъл), както и все по-умните такива, с вграден garbage collection и прочее.
В заключение бих споменал XFS като нещо, за което съм чувал добри неща от един админ, и което става система по подразбиране във Федора и/или RHEL. Колкото и напредък да има от 2011та насам с metadata проблемите й, аз не бих я ползвал, понеже не могат да се смаляват партиции на нея. Нещо друго – за btrfs можем да говорим, но там е малко страшно. За ReiserFS почти нищо не знам, а и можем да философстваме защо точно ext-фамилията се е наложила като стандард в момента (без “ми тя е mature и доказана”). За ZFS не мисля, че има смисъл да говорим. По-скоро бих коментирал OpenIndiana. :^)