Коя Linux файлова система трябва да използвате?
Когато форматирате дяловете на Linux компютър, ще видите голямо разнообразие от опции за файлова система. Тези опции не трябва да бъдат непреодолими. Ако не сте сигурни коя Linux файлова система да използвате, има прост отговор.
Бързият отговор: Използвайте Ext4, ако не сте сигурни
Ще влезем в плевелите и ще преодолеем разликата между различните файлови системи в един момент, но ако не сте сигурни: Използвайте Ext4.
Ext4 е файлова система по подразбиране на повечето Linux дистрибуции с определена причина. Това е подобрена версия на по-старата файлова система Ext3. Това не е най-модерната файлова система, но това е добре: това означава, че Ext4 е твърдо и стабилно.
В бъдеще дистрибуциите на Linux постепенно ще преминават към BtrFS. BtrFS все още е на преден план и вижда много развитие, така че ще искате да го избегнете в производствените системи. Рискът от корупция на данни или други проблеми не си струва потенциалното подобрение на скоростта.
Имайте предвид обаче, че този съвет "използва Ext4" се отнася само за системни дялове на Linux и други дялове на диска, до които ще има достъп само Linux. Ако форматирате външно устройство, което искате да споделите с други операционни системи, не трябва да използвате Ext4, защото Windows, MacOS и други устройства не могат да четат файловите системи Ext4. Вие ще искате да използвате exFAT или FAT32, когато форматирате външно устройство в Linux.
Ако настройвате дялове на основния си Linux драйв, ще искате също да създадете swap дял с размер поне няколко GB, когато настройвате тези дялове. Този дял се използва за “swap space”. Подобен е на файла за виртуална памет в Windows. Linux прехвърля паметта си към пространството за размяна, когато RAM е пълна. Този дял трябва да бъде форматиран като “swap” вместо с определена файлова система.
Какво е журналиране?
Едно нещо, което ще забележите, когато избирате между файловите системи е, че някои от тях са маркирани като “журналинг” файлова система, а други не. Това е важно.
Журналирането е предназначено за предотвратяване на корупцията в данните от сривове и внезапна загуба на мощност. Да кажем, че вашата система е част от писането на файл на диска и изведнъж губи мощност. Без дневник вашият компютър няма да има представа дали файлът е напълно записан на диск. Файлът ще остане там на диск, повреден.
С дневник вашият компютър ще отбележи, че ще напише определен файл на диск в дневника, ще запише този файл на диск и ще премахне заданието от дневника. Ако захранването изчезне по време на писане на файла, Linux ще провери дневника на файловата система, когато се стартира и възобнови всички частично завършени задачи. Това предотвратява загубата на данни и повреждането на файловете.
Журналистът забавя скоростта на запис на диска, но е на стойност на настолен или лаптоп. Това не е толкова натоварване, колкото си мислите. Пълният файл не е записан в дневника. Вместо това, в дневника се записва само метаданните на файла, inode или мястото на диска, преди да бъде записан на диск.
Всяка съвременна файлова система поддържа журналиране и вие ще искате да използвате файлова система, която поддържа журналиране при настройка на десктоп или лаптоп.
Файловите системи, които не предлагат журналиране, са достъпни за използване на високопроизводителни сървъри и други такива системи, където администраторът иска да изтръгне допълнителна производителност. Те също са идеални за сменяеми флаш дискове, където не искате по-високи режийни и допълнителни записи на журнали.
Каква е разликата между всички тези Linux файлови системи?
Докато Microsoft разработва MacOS за управление на Windows и Apple, Linux е проект с отворен код, разработен от общността. Всеки (или всяка компания) с уменията и времето може да създаде нова файлова система Linux. Това е една от причините, поради които има толкова много възможности. Ето различията:
- Ext означава "Разширена файлова система" и е първата, създадена специално за Linux. Имаше четири основни ревизии. "Ext" е първата версия на файловата система, въведена през 1992 г. Това беше основен ъпгрейд от файловата система Minix, използвана по това време, но му липсваха важни функции. Много дистрибуции на Linux вече не поддържат Ext.
- Ext2 не е файлова система за журналиране. Когато е въведена, тя е първата файлова система, която поддържа разширени файлови атрибути и 2 терабайтни диска. Липсата на журнал от Ext2 означава, че записва на диск по-малко, което го прави полезен за флаш памет като USB устройства. Въпреки това, файловите системи като exFAT и FAT32 също не използват дневник и са по-съвместими с различни операционни системи, затова ви препоръчваме да избягвате Ext2, освен ако знаете, че се нуждаете от нея по някаква причина.
- Ext3 е просто Ext2 с журналиране. Ext3 е проектиран да бъде обратно съвместим с Ext2, което позволява на дяловете да бъдат конвертирани между Ext2 и Ext3, без да е необходимо форматиране. Той е бил по-дълъг от Ext4, но Ext4 съществува от 2008 г. и е широко тестван. В този момент е по-добре да използвате Ext4.
- Ext4 също е проектиран да бъде обратно съвместим. Можете да монтирате файлова система Ext4 като Ext3 или монтирайте файлова система Ext2 или Ext3 като Ext4. Тя включва по-нови функции, които намаляват фрагментацията на файловете, позволяват по-големи обеми и файлове и използват забавено разпределение за подобряване на живота на флаш паметта. Това е най-модерната версия на файловата система Ext и е по подразбиране на повечето дистрибуции на Linux.
- Btrfs, "Масло" или "По-добро" FS, първоначално е проектирано от Oracle. Той означава “файлова система B-Tree” и позволява пул на устройства, на мухи снимки, прозрачно компресиране и онлайн дефрагментиране. Той споделя редица същите идеи, които се срещат в ReiserFS - файлова система, използвана от някои дистрибуции на Linux по подразбиране. BtrFS е проектиран да бъде чиста почивка от серията Ext на файловите sytstems. Ted Ts'o, поддържащ файловата система Ext4, счита Ext4 за краткосрочно решение и вярва, че BtrFS е пътят напред. Очаквайте BtrFS да стане по подразбиране и в двете корпоративни сървъри и потребителски настолни Linux дистрибуции през следващите няколко години, тъй като е тествано допълнително.
- ReiserFS е голям скок напред за Linux файловите системи, когато е въведена през 2001 г. и включва много нови функции, които Ext никога няма да може да приложи. ReiserFS бе заменен от Reiser4, който се подобри в много от функциите, които бяха непълни или липсваха в първоначалното издание, през 2004 г. Но разработката на Reiser4 спря след като главният разработчик, Hans Reiser, беше изпратен в затвора през 2008 г. Reiser4 все още не е в основното ядро на Linux и е малко вероятно да стигне до там. BtrFS е по-добрият дългосрочен избор.
- ZFS е проектирана от Sun Microsystems за Solaris и сега е собственост на Oracle. ZFS поддържа много разширени функции, включително пул на устройство, моментни снимки и динамично прокарване на дискове - BtrFS ще доведе много от тези функции до Linux по подразбиране. Всеки файл има контролна сума, така че ZFS може да определи дали даден файл е повреден или не. Sun ZFS с отворен код под лиценза на Sun CDDL, което означава, че не може да бъде включен в ядрото на Linux. Въпреки това, можете да инсталирате ZFS поддръжка на всяка дистрибуция на Linux. Ubuntu вече предлага и официална ZFS поддръжка, започвайки с Ubuntu 16.04. Ubuntu използва ZFS по подразбиране за контейнери.
- XFS е разработена от Silicon Graphics през 1994 г. за операционната система SGI IRX и е пренесена на Linux през 2001 г. Подобно на Ext4 по някакъв начин, тъй като използва забавено разпределение, за да помогне с фрагментирането на файлове и не позволява монтирани снимки. Тя може да се разширява, но не и да се свива в движение. XFS има добри резултати при работа с големи файлове, но има по-лошо представяне от други файлови системи при работа с много малки файлове. Може да е полезно за някои типове сървъри, които преди всичко трябва да се справят с големи файлове.
- JFS, или “Journaled File System”, разработена от IBM за операционната система IBM AIX през 1990 г. и по-късно пренесена на Linux. Той може да се похвали с ниска употреба на процесора и добра производителност за големи и малки файлове. JFS дяловете могат да се преоразмеряват динамично, но не и да се свиват. Той беше изключително добре планиран и има подкрепа в повечето големи дистрибуции, но тестването му на Linux сървъри не е толкова обширно, колкото Ext, тъй като е проектирано за AIX. Ext4 е по-често използван и е по-широко тестван.
- Размяна е опция при форматиране на устройство, но не е действителна файлова система. Използва се като виртуална памет и няма структура на файловата система. Не можете да го монтирате, за да видите съдържанието му. Swap се използва като “scratch space” от ядрото на Linux за временно съхраняване на данни, които не могат да попаднат в RAM. Използва се и за хибернация. Докато Windows съхранява своя файл за виртуална памет като файл на основния си системен дял, Linux запазва отделен празен дял за swap пространство.
- FAT16, FAT32, и exFAT: Файловите системи на FAT на Microsoft често са опция при форматирането на диск в Linux. Тези файлови системи не включват дневник, така че са идеални за външни USB устройства. Те са де факто стандарт, който всяка операционна система - Windows, MacOS, Linux и други устройства - може да чете. Това ги прави идеалната файлова система, която да се използва при форматирането на външно устройство, което ще искате да използвате с други операционни системи. FAT32 е по-стар. exFAT е идеалният вариант, тъй като поддържа файлове с размер над 4 GB и дялове с размер над 8 TB, за разлика от FAT32.
Има и други файлови системи на Linux, включително файлови системи, създадени специално за флаш памет в вградени устройства и SD карти. Но това са опциите, които най-често ще виждате, когато използвате Linux.