Btrfs или ext4: преглед на системата, производителност, преобразуване

В Linux всичко е файл. Видът на организацията в Linux е добра основа за повишаване на сигурността на операционната система. Системите се монтират в директория, чието съдържание се състои от файлове. Тази директория се нарича точка на монтиране. Когато файловите системи BTRFS и EXT4 са монтирани, тя ще открие свои собствени файлове с точки на монтиране. Тази чудесна функция на Linux позволява бързо монтиране и демонтиране на различни файлови системи, без да са необходими драйвери. Това дава на потребителите и разработчиците свободата да обработват документи.

История на развитието на файловите системи

История на развитието на файловата система

При писането на оригиналното ядро на Linux Линус Торвалдс се нуждае от нова файлова система, но не иска да пише такава и просто използва Minix, написана от Андрю С. Таненбаум и като част от операционната система Minix, подобна на Unix, е написана за образователни цели. Нейният код все още е обществено достояние и е надлежно лицензиран.

Minix има структури, повечето от които се намират в дяла, в който е генерирана файловата система - това е стартовият сектор в първия сектор на твърдия диск, където е инсталиран. Блокът за зареждане включва запис за зареждане и таблица на дяловете.

Оригиналната файлова система EXT (Extended) е написана от Реми Кард и е пусната в Linux през 1992 г., за да се преодолеят някои ограничения на размера на Minix. Основните структурни промени са в метаданните на операционната система, базирана на Unix (UFS), известна също като FFS. EXT имаше сериозни проблеми и бързо беше заменен от EXT2, а след това и от EXT3.

EXT4 е най-новата модификация

EXT4 е най-новата модификация на оригиналната файлова система. Подобрява производителността, функционалността и честотната лента. Метаданни и контролни суми на дневниците са добавени за целите на сигурността. Времевите маркери бяха подобрени с интервали до наносекунда.

През 2014 г. настъпи значителна промяна - две от най-важните професионални дистрибуции на Linux, Red Hat и SUSE, се сбогуваха с класическата файлова система EXT и пуснаха нови стандарти - BTRFS и XFS. B-tree е следващото поколение файлова система за Linux, произнася се Butter FS или B-tree FS. Системата BTRFS има редица характеристики, които я правят привлекателно решение за локално дисково съхранение. Окончателният избор между BTRFS и EXT4 обаче зависи от потребителя.

Видове файлове

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

За да направите правилния избор между BTRFS и EXT4, трябва да разберете структурата на файловата система. Всички файлове в Unix могат да бъдат разделени на 3 вида, а именно

  • Обикновено;
  • директории;
  • устройства.

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

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

Третата категория, спомената по-горе, е устройство. Това е друг специален тип, който се използва за описание на физическо устройство, например принтер или преносимо устройство. В този случай BTRFS или EXT4 няма да съдържа никакви данни, а просто ще показва информацията, постъпваща в описваното устройство.

BTRFS: мащабиране за съхранение

BTRFS се базира на дърво B с копиране при запис COW. Според Крис Мейсън, автор на BTRFS, целта му е била да позволи на Linux да се мащабира спрямо наличното хранилище. Мащабируемостта не е свързана само с достъпа до хранилището, но и с възможността да го администрирате и управлявате с прост интерфейс, който позволява на потребителите да виждат какво се използва, което прави процеса по-надежден. Така че изборът на BTRFS или EXT4 има повече предимства пред първия стандарт.

BTRFS също е система за съхранение, базирана на инстанции, подобно на XFS. Той спестява пространство за малки файлове и индексирани директории и поддържа динамично поставяне "inode". Той работи с множество устройства за съхранение и осигурява поддръжка на RAID ленти, огледално копиране и споделено лентиране и огледално копиране. Той поддържа и флаш памети с директна поддръжка на операции TRIM/reset.

Системата поддържа компресирани, записващи и четящи се данни от моментни снимки, както и ефективни инкрементални резервни копия. Епитомите позволяват споделяне на вътрешните корени на файловата система, както и прилагане на квоти и външно дедуплициране. Тези функции са много полезни при вградените системи с висока степен на наличност.

BTRFS има минимална информация, съхранявана на фиксирани места. Това е предимство при миграция към EXT2/3/4, тъй като преобразуването е възможно на място, стига да има достатъчно свободно място. Стандартът е и основата за съхранение на Ceph, клъстерната файлова система. За потребителя тези аргументи са достатъчни при избора на BTRFS и EXT4.

Разширена система

Разширена система

Този дългогодишен стандарт представлява семейство, което включва EXT2, EXT3 и EXT4 и де факто все още се използва широко.

EXT2 е въведена през 1993 г. и поддържа функции на Linux, като символни връзки и дълги имена на файлове, работи с томове до 32 TB и файлове до 2 TB. Форматът все още се използва в много флаш-базирани хранилища заедно с FAT. В него липсва системата за регистриране, присъща на стандартите EXT3 и EXT4. EXT2 използва многостепенна йерархия, която позволява бърз достъп до по-малки файлове. Големи файлове добавят връзка на едно или две нива, преди да бъдат достъпни.

EXT4 въвежда редица функции, включително файлови системи до 1 байт и файлове до 16 TB. Екстентите заменят традиционния механизъм за картографиране на блокове, използван при по-ранните роднини. Въпреки обратната съвместимост EXT4 не може да се монтира като EXT3, ако са активирани по-нови функции, като например поддръжка на екстенти.

EXT4 поддържа постоянно предварително разпределение - полезно за приложения, като например стрийминг на мултимедия, при които производителността на последователния достъп е от първостепенно значение. Той също така поддържа отложено разпределение, разпределител на моноблокове, бърза проверка и регистри за по-голяма надеждност.

Формат от следващо поколение

BTRFS е стандарт от следващо поколение за Linux, предназначен за големи файлове и система от нулата, моментни снимки, опростено администриране, интегриран RAID и управление на томове.

BTRFS има предимства пред EXT4:

  1. Вградена цялост на данните - контролни суми и метаданни.
  2. Открива и отстранява повреди в данните, подобрява цялостната надеждност на файловата система.
  3. Създаване на леки копия и клонинги на файлове или цели структури от директории с минимални изисквания за допълнително дисково пространство. Тази функция е особено полезна в комбинация с технологии за виртуализация, например, за съхранение Изображения на виртуални машини и контейнери на Linux.
  4. По-бързо извличане на последните промени във файловете.
  5. Усъвършенстване на операциите по архивиране - вместо да се налага да се претърсва цялата структура на директорията за променени файлове, файловата система може да предостави тази информация директно.
  6. Поддръжка на Discard и TRIM.
  7. Оптимизирана поддръжка за твърдотелни (флаш) устройства за съхранение, което им позволява да възстановяват сектори от изтрити файлове за бъдещи операции по запис.
  8. Интегриране на моментни снимки с управлението на пакети yum.
  9. Позволява бързо връщане на софтуерни и операционни актуализации или бързо зареждане на по-старо ниво на кръпките.
  10. Онлайн дефрагментиране. Предотвратява фрагментацията, при която се създават и изтриват много малки файлове в бърза последователност, като по този начин се подобрява цялостната производителност на файловата система чрез намаляване на броя на достъпванията на диска.
  11. Почистване за отстраняване на грешки. Открива и поправя Повреда на файловата система системи автоматично.
  12. Онлайн компресиране на данни. Увеличаване на капацитета за съхранение и намаляване на входно-изходните операции.
  13. Интегрирана поддръжка на няколко устройства. Позволява използването на една файлова система на няколко диска без отделен мениджър на томове и осигурява RAID функционалност за увеличаване на резервираността или производителността.

Сравнение: BTRFS срещу EXT4

Сравнение: BTRFS срещу EXT4

Не толкова отдавна потребителите на Linux все още работеха с файлови системи, които не са се променили много от времето на Unix, като EXT3. Стандартът използва блокови указатели, индекс на всеки файл в централната структура от данни, съдържаща цялата информация за файла, и списък от указатели към всеки отделен блок.

Сравнение на стандартите

По-късните стандарти EXT4 използват указатели към "екстентите". Всеки от тях е група от съседни блокове. Тъй като те работят с непрекъснато съхранение на данни с множество разширения, това значително намалява разходите за управление на файловото пространство.

BTRFS също използва екстенти, но те се различават значително от другите операционни системи Linux и могат да се копират при запис на COW. Когато се презаписват данни в EXT4, новите данни се записват върху съществуващите данни на устройството за съхранение, като се унищожава старото копие. BTRFS премества презаписаните блокове на друго място и записва нови блокове там, като оставя предишното копие на мястото му.

Друга важна характеристика на BTRFS е вграденият мениджър. BTRFS може да обхваща множество физически устройства в редица конфигурации RAID. Всеки том е набор от единичен или множество физически дискове могат да бъдат разделени и на "асансьори", които се разглеждат като независими системи, споделящи един набор от физически обеми. По този начин BTRFS позволява част или цялото хранилище да се групира в голям пул, а след това този пул да се разпредели между набор от файлови системи, всяка със свои собствени ограничения.

BTRFS предлага голямо разнообразие от други функции, които не се поддържат от другите файлови стандарти на Linux. Той може да извършва пълна контролна сума както на данните, така и на метаданните, което го прави надежден срещу евентуално повреждане на данните в хардуера. Пълната контролна сума е скъпа, така че ще се използва само в малък брой инсталации.

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

Въпреки че сравнението между EXT4 и BTRFS е в полза на втория стандарт, отличната нова функционалност на BTRFS не е безплатна. В много случаи администраторите могат да решат, че разходите за BTRFS са по-големи от ползите. След като бъде общоприето, че BTRFS е готов за общо ползване в реалния свят, вероятно стандартът ще си проправи път в много системи.

Избор на модел за вашия SSD диск

Избор на модел за вашия SSD диск

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

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

BTRFS не води дневник за разлика от други системи, спестяване на ценно място за вашия SSD. Поддържа и TRIM - важна функция за собствениците на SSD дискове. TRIM ви позволява да изтривате неизползвани блокове, което е от решаващо значение за поддържането на такъв диск работоспособен под Linux.

SSD-EXT4 е най-използваната и надеждна система в Linux днес. Използва се в големи центрове за данни и в производството, за всички видове твърди дискове, включително SSD.

Конвертиране на файлове

По време на зареждане от Live USB разделът с главната директория трябва да се преобразува от EXT4 в BTRFS. В противен случай няма да можете да стартирате командата BTRFS-convert, когато получите подкана: /dev/sda1 е монтиран.

Алгоритъм за изпълнение:

  1. Отидете на приложението> Софтуерен център на Ubuntu от менюто Редактиране> Източници софтуер.
  2. Проверете целия списък: Повторете apt-get install BTRFS-tools. Препоръчително е да използвате актуализиран Версия на BTRFS-tools. Например, вземете BTRFS-tools_0.19+20100601-3ubuntu3_amd64.deb и въведете: sudo dpkg -i BTRFS-tools v0.19+20100601-3ubuntu3 _amd64.deb
  3. Без този актуализиран инструмент не е възможно да се премахне моментната снимка от BTRFS.
  4. Ако EXT4 е конвертиран успешно в BTRFS и функцията BTRFS-convert е стартирана, ще се появят следните съобщения.
Конвертиране на файлове

След това променете UUID в менюто.lst файл. С Grub Legacy трябва да промените стойността на root=UUID в менюто.lst файл за дяла BTRFS ръчно. Използвайте следните редове за менюто Grub s.lst файл. Тъй като скриптовете и куките се добавят към initramfs, initrd, образите в директорията за зареждане трябва да се актуализират в.

Преобразуване на дискови дялове

Конвертиране на дяла на диска

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

Процес на конвертиране на EXT2, EXT3 или EXT4 в коренови файлове на BTRFS

  1. Изпълнете командата за монтиране, за да определите устройството, което е монтирано като root, и типа на файловата система.
  2. Използвайте ls -l, за да проверите дали картографираното устройство съвпада с /dev/vg hostol6/lv_root и дали кореновата файлова система съвпада с дяла на диска /dev/sda2.
  3. Изключете компютъра.
  4. Зареждане от CD, DVD или ISO на Oracle Linux.
  5. Изберете Rescue Installed System (Спасяване на инсталираната система) от менюто за настройка. Когато бъдете подканени, изберете език и клавиатура, локален CD/DVD като инсталационен носител и след това "Не", за да заобиколите стартирането на мрежовия интерфейс.
  6. Изберете "Skip", за да заобиколите избора на среда за възстановяване.
  7. Изберете Start shell, за да получите подкана за bash shell (bash-4.1#) в долната част на екрана.
  8. Ако съществуващата основна система е настроена като LVM том, използвайте следната команда за стартиране на група томове: vg_hostol6.
  9. Стартиране на подходяща версия на fsck, като fsck.ext3 или fsck. Използвайте ext4, за да проверите и поправите целостта на системата.
  10. Преобразуване на системата в BTRFS.
  11. Създаване на точка за монтиране (/mnt 1) за преобразуваната основна система.
  12. Използвайте командата, за да редактирате файла /mnt1/etc/fstab и да промените типа на кореновата система BTRFS.
  13. Създаване на файл .Файлът с автоетикет в корена на монтираната система.
  14. Разполагате с .Файлът с автоетикет инструктира SE Linux да пресъздаде атрибутите за сигурност за всички файлове в системата.
  15. Премахване на конвертираната коренова система.
  16. Възстановете стартовия CD, DVD или ISO и рестартирайте системата.

Synology: Оптимизация на SSD

Synology: Оптимизиране на SSD устройството

BTRFS е сравнително нов за syno и вече се счита за стабилно решение и се предлага като стандарт в повечето дистрибуции. Изборът на файлова система за SSD дискове е BTRFS и EXT4 въз основа на следните аргументи.

BTRFS е файлова система с множество корени, вградена в ядрото на Linux през 2013 г. и обявена за стабилна. Той може да съхранява 16 милиона TB обем (16 Eo) и предоставя много функции:

  1. Автоматично откриване и оптимизиране на SSD. Задвижванията без плочи се ползват от някои оптимизации и това е въпрос на разработка. Първоначално се считаше за SF, особено в EXT4, ако искате да деактивирате определени опции по време на редактиране, като например времето за запис на файла.
  2. Линейният RAID е полезен, когато потребителят разполага с различни и разнообразни носители за съхранение, които трябва да обедини за рециклиране, например NAS чрез добавяне на NFS сървър. Това не е възможно с RAID карта, с MDADM или с LVM. BTRFS JBOD предлага по-големи шансове за запазване на данни, особено при малък брой дискове, така че изборът на стандарт за Synology е между BTRFS и EXT4, оставяйки първия тип.
  3. След първоначалното пълно резервно копие само за четене, BTRFS може да извършва инкрементални резервни копия с ротация, например да поддържа по едно резервно копие на ден, след това по едно на месец, след това по едно на година. Прехвърлянето на снимки също е постепенно, по-лесно и по-бързо от използването на "rsync", тъй като системата може да направи разлика между изтриването на файл и простото преименуване на дървото.

BTRFS е следващото поколение файлова система на Linux и променя предпочитанията на потребителите. Това е истински мобилен инструмент, който се нуждае от обучение с нарастването на потребителските изисквания.

Статии по темата