файловая система Btrfs

Thank you for reading this post, don't forget to subscribe!

Btrfs (B-Tree Filesystem) – это совре­мен­ная фай­ло­вая систе­ма с копи­ро­ва­ни­ем при запи­си (CoW) для Linux. Btrfs стре­мит­ся реа­ли­зо­вать мно­же­ство рас­ши­рен­ных функ­ций фай­ло­вой систе­мы, уде­ляя осо­бое вни­ма­ние отка­зо­устой­чи­во­сти, вос­ста­нов­ле­нию и про­сто­му адми­ни­стри­ро­ва­нию. Фай­ло­вая систе­ма btrfs раз­ра­бо­та­на для под­держ­ки тре­бо­ва­ний к высо­кой про­из­во­ди­тель­но­сти и боль­шим сер­ве­рам хра­не­ния. Он под­хо­дит для пета­байт­ных цен­тров обра­бот­ки дан­ных, а так­же для сото­вых смарт­фо­нов. В этой ста­тье мы соби­ра­ем­ся обсу­дить фай­ло­вую систе­му Btrfs и ее осо­бен­но­сти. Итак, приступим.

 

Копировать при записи – файловая система CoW:

Btrfs – это фай­ло­вая систе­ма с копи­ро­ва­ни­ем при запи­си (CoW). В фай­ло­вой систе­ме CoW, когда вы пыта­е­тесь изме­нить дан­ные в фай­ло­вой систе­ме, фай­ло­вая систе­ма копи­ру­ет дан­ные, изме­ня­ет дан­ные, а затем запи­сы­ва­ет изме­нен­ные дан­ные обрат­но в дру­гое сво­бод­ное место фай­ло­вой системы.

Основ­ное пре­иму­ще­ство фай­ло­вой систе­мы Copy-on-Write (CoW) заклю­ча­ет­ся в том, что экс­тент дан­ных, кото­рый он хочет изме­нить, копи­ру­ет­ся в дру­гое место, изме­ня­ет­ся и сохра­ня­ет­ся в дру­гом экс­тен­те фай­ло­вой систе­мы. Исход­ный экс­тент дан­ных не изме­ня­ет­ся. Таким обра­зом, фай­ло­вая систе­ма btrfs может устра­нить риск повре­жде­ния дан­ных или частич­но­го обнов­ле­ния в слу­чае сбоя пита­ния во вре­мя моди­фи­ка­ции дан­ных, посколь­ку исход­ные дан­ные оста­ют­ся неизменными.

Основ­ным недо­стат­ком фай­ло­вой систе­мы Copy-on-Write (CoW) явля­ет­ся то, что боль­шие фай­лы име­ют тен­ден­цию фраг­мен­ти­ро­вать­ся при изме­не­нии. Таким обра­зом, дефраг­мен­та­ция тре­бу­ет­ся вре­мя от вре­ме­ни. К сча­стью, фай­ло­вая систе­ма btrfs под­дер­жи­ва­ет онлайн-дефраг­мен­та­цию. Таким обра­зом, вам не нуж­но отклю­чать фай­ло­вую систе­му для дефраг­мен­та­ции фай­ло­вой систе­мы btrfs.

 

Основные характеристики файловой системы Btrfs:

Основ­ны­ми осо­бен­но­стя­ми фай­ло­вой систе­мы Btrfs являются:

 

i) Хра­не­ние фай­лов на осно­ве экс­тен­тов: в фай­ло­вой систе­ме на осно­ве экс­тен­тов еди­ни­ца хра­не­ния назы­ва­ет­ся экс­тен­том. Экс­тент – это непре­рыв­ная область хра­не­ния, заре­зер­ви­ро­ван­ная для фай­ла. Для одно­го фай­ла тре­бу­ет­ся один экс­тент, неза­ви­си­мо от раз­ме­ра фай­ла. Для боль­ших фай­лов (раз­мер фай­ла боль­ше раз­ме­ра экс­тен­та) потре­бу­ет­ся несколь­ко экс­тен­тов. Для фай­лов боль­ше­го раз­ме­ра будут исполь­зо­вать­ся мета­дан­ные, что­бы отсле­жи­вать исполь­зу­е­мые фай­лы. В фай­ло­вой систе­ме Btrfs раз­мер мета­дан­ных зна­чи­тель­но мень­ше. Мень­шие мета­дан­ные повы­ша­ют эффек­тив­ность хра­не­ния и про­из­во­ди­тель­ность фай­ло­вой системы.

 

ii) Под­держ­ка огром­но­го раз­ме­ра фай­ла: в фай­ло­вой систе­ме Btrfs раз­мер одно­го фай­ла может состав­лять при­мер­но 264 бай­та или 16 EiB (exbibytes). Неза­ви­си­мо от того, насколь­ко велик ваш файл, Btrfs может его поддержать.

 

iii) Ком­пакт­ная упа­ков­ка неболь­ших фай­лов: обыч­но, неза­ви­си­мо от раз­ме­ра фай­ла, для хра­не­ния фай­ла тре­бу­ет­ся один блок или один экс­тент. Это тра­тит мно­го места на дис­ке. Что­бы решить эту про­бле­му, фай­ло­вая систе­ма Btrfs встра­и­ва­ет фай­лы мень­ше­го раз­ме­ра в мета­дан­ные, что­бы эффек­тив­но хра­нить фай­лы мень­ше­го размера.

 

iv) Индек­си­ро­ван­ные ката­ло­ги с эффек­тив­ным исполь­зо­ва­ни­ем места: ката­ло­ги фай­ло­вой систе­мы btrfs индек­си­ру­ют­ся дву­мя раз­ны­ми спо­со­ба­ми. Для поис­ка име­ни фай­ла исполь­зу­ет­ся индек­са­ция на осно­ве клю­чей. Для ссыл­ки на дан­ные исполь­зу­ет­ся индек­си­ро­ва­ние клю­чей на осно­ве inode. Двух­уров­не­вое индек­си­ро­ва­ние повы­ша­ет про­из­во­ди­тель­ность поис­ка в каталогах/файлах и сни­жа­ет тре­бо­ва­ния к хра­ни­ли­щу для индексов.

 

v) Дина­ми­че­ское раз­ме­ще­ние inode: вам нужен 1 inode для ссыл­ки на 1 файл. Мно­гие фай­ло­вые систе­мы (напри­мер, Ext4) име­ют фик­си­ро­ван­ное коли­че­ство inodes. Итак, если вы созда­ди­те слиш­ком мно­го малень­ких фай­лов, на вашем дис­ке может остать­ся мно­го места, но вы не смо­же­те созда­вать новые фай­лы. Вы так­же не може­те уве­ли­чить мак­си­маль­ное коли­че­ство inodes после созда­ния фай­ло­вой системы.

Btrfs реша­ет эту про­бле­му, дина­ми­че­ски выде­ляя inodes по мере необ­хо­ди­мо­сти. Таким обра­зом, вы може­те созда­вать столь­ко фай­лов, сколь­ко хоти­те, при усло­вии, что у вас есть сво­бод­ное место на диске.

 

vi) Сним­ки с воз­мож­но­стью запи­си и сним­ки толь­ко для чте­ния: фай­ло­вая систе­ма Btrfs под­дер­жи­ва­ет сним­ки. Вы може­те сде­лать сни­мок теку­щей фай­ло­вой систе­мы, кото­рый вы може­те исполь­зо­вать для вос­ста­нов­ле­ния дан­ных, если вы слу­чай­но уда­ли­ли неко­то­рые фай­лы или повре­ди­ли неко­то­рые данные.

По умол­ча­нию момен­таль­ные сним­ки btrfs доступ­ны толь­ко для чте­ния. После того, как вы сде­ла­ли сни­мок состо­я­ния, доступ­ный толь­ко для чте­ния, вы не смо­же­те изме­нить какие-либо файлы/каталоги в этом сним­ке. В любом слу­чае, если вы хоти­те изме­нить какие-либо файлы/каталоги после того, как вы сде­ла­ли сни­мок суще­ству­ю­щей фай­ло­вой систе­мы Btrfs, вы може­те изме­нить сни­мок, доступ­ный толь­ко для чте­ния, на сни­мок с воз­мож­но­стью запи­си и изме­нить любые файлы/каталоги в этом снимке.

 

vii) Под­то­мы: фай­ло­вая систе­ма Btrfs может иметь мно­го под­то­мов. Под­том – это име­но­ван­ное дво­ич­ное дере­во (B-дере­во) (или корень внутренней/логической фай­ло­вой систе­мы) суще­ству­ю­ще­го кор­не­во­го дере­ва фай­ло­вой систе­мы (глав­но­го) фай­ло­вой систе­мы btrfs. Под­том не явля­ет­ся само­сто­я­тель­ным блоч­ным устрой­ством. Но вы може­те мон­ти­ро­вать под­то­мы Btrfs по отдель­но­сти. Под­то­мы мож­но рас­смат­ри­вать как про­стран­ства имен.

viii) Под­держ­ка квот с уче­том суб­то­мов: вы так­же може­те выде­лить кво­ты для суб­то­мов. После пре­вы­ше­ния кво­ты вы не смо­же­те добав­лять новые дан­ные в под­том. Для созда­ния квот под­то­ма Btrfs вам не потре­бу­ют­ся отдель­ные программы.

 

ix) Кон­троль­ные сум­мы дан­ных и мета­дан­ных: что­бы избе­жать повре­жде­ния дан­ных, Btrfs по умол­ча­нию исполь­зу­ет алго­рит­мы кон­троль­ной сум­мы crc32c для дан­ных и мета­дан­ных фай­ло­вой систе­мы. Кон­троль­ные сум­мы хра­нят­ся в фай­ло­вой систе­ме для авто­ма­ти­че­ской про­вер­ки оши­бок фай­ло­вой систе­мы и повре­жде­ний дан­ных в фоно­вом режиме.

Btrfs под­дер­жи­ва­ет мно­же­ство дру­гих алго­рит­мов кон­троль­ной сум­мы: xxhash, sha256 и blake2b.

 

x) Сжа­тие: фай­ло­вая систе­ма Btrfs под­дер­жи­ва­ет про­зрач­ное сжа­тие фай­лов. Сжа­тие и рас­па­ков­ка фай­лов в фай­ло­вой систе­ме btrfs авто­ма­ти­че­ски выпол­ня­ет­ся в фоно­вом режиме.

Btrfs под­дер­жи­ва­ет 3 алго­рит­ма сжа­тия: ZLIB, LZO и ZSTD.

ZLIB – это метод сжа­тия фай­ло­вой систе­мы btrfs по умолчанию.

 

xi) Инте­гри­ро­ван­ная под­держ­ка несколь­ких устройств: фай­ло­вые систе­мы Btrfs име­ют под­держ­ку встро­ен­но­го мене­дже­ра логи­че­ских томов (LVM). Вы може­те доба­вить несколь­ко устройств хра­не­ния в одну фай­ло­вую систе­му btrfs. Вы так­же може­те настро­ить RAID-мас­си­вы в фай­ло­вой систе­ме btrfs без необ­хо­ди­мо­сти в допол­ни­тель­ном про­грамм­ном обеспечении.

Фай­ло­вая систе­ма Btrfs под­дер­жи­ва­ет чере­до­ва­ние дан­ных, зер­каль­ное отоб­ра­же­ние дан­ных, чере­до­ва­ние дан­ных + зер­ка­ли­ро­ва­ние, а так­же реа­ли­за­ции с оди­нар­ной и двой­ной четностью.

 

Чере­до­ва­ние дан­ных: если вы доба­ви­ли несколь­ко устройств хра­не­ния в одну фай­ло­вую систе­му btrfs, btrfs может хра­нить один и тот же файл на раз­ных физи­че­ских устройствах/разделах. Это назы­ва­ет­ся чере­до­ва­ни­ем дан­ных. Чере­до­ва­ние дан­ных улуч­ша­ет про­из­во­ди­тель­ность чтения/записи фай­ло­вой систе­мы. RAID-0 широ­ко исполь­зу­ет функ­цию чере­до­ва­ния данных.

 

Зер­каль­ное отоб­ра­же­ние дан­ных: если вы доба­ви­ли несколь­ко устройств хра­не­ния в одну фай­ло­вую систе­му btrfs, все дан­ные, запи­сан­ные на одно устрой­ство хра­не­ния, будут запи­са­ны на все дру­гие устрой­ства хра­не­ния. Это назы­ва­ет­ся зер­ка­ли­ро­ва­ни­ем дан­ных. RAID-1 широ­ко исполь­зу­ет функ­цию зер­ка­ли­ро­ва­ния данных.

 

Чере­до­ва­ние дан­ных + еди­ная чет­ность: RAID-5 исполь­зу­ет чере­до­ва­ние дан­ных и еди­ную рас­пре­де­лен­ную чет­ность. Если вы доба­ви­ли несколь­ко устройств хра­не­ния в фай­ло­вую систе­му btrfs, то RAID-5 раз­де­лит дан­ные на несколь­ких устрой­ствах хра­не­ния и вычис­лит и сохра­нит бло­ки чет­но­сти на устрой­ствах хра­не­ния. RAID-5 может выдер­жать отказ одно­го диска.

 

Чере­до­ва­ние дан­ных + двой­ная чет­ность: RAID-6 исполь­зу­ет чере­до­ва­ние дан­ных и двой­ную рас­пре­де­лен­ную чет­ность. Если вы доба­ви­ли несколь­ко устройств хра­не­ния в фай­ло­вую систе­му btrfs, то RAID-6 раз­де­лит дан­ные на несколь­ких устрой­ствах хра­не­ния и вычис­лит и сохра­нит бло­ки двой­ной чет­но­сти на устрой­ствах хра­не­ния. RAID-6 может выдер­жать отказ двух дис­ков. В осталь­ном он такой же, как RAID-5 (чере­до­ва­ние дан­ных + еди­ная четность).

 

Чере­до­ва­ние дан­ных + зер­ка­ли­ро­ва­ние: RAID-10 исполь­зу­ет чере­до­ва­ние дан­ных и зер­ка­ли­ро­ва­ние дан­ных одно­вре­мен­но. RAID-10 тре­бу­ет добав­ле­ния чет­но­го чис­ла устройств хра­не­ния оди­на­ко­во­го раз­ме­ра в одну фай­ло­вую систе­му btrfs. Мини­маль­ное коли­че­ство устройств хра­не­ния, кото­рое вы може­те доба­вить в фай­ло­вую систе­му RAID-10 btrfs, состав­ля­ет 4. Поло­ви­на устрой­ства хра­не­ния будет исполь­зо­вать­ся для чере­до­ва­ния дан­ных, а дру­гая поло­ви­на – для зер­каль­но­го отоб­ра­же­ния дан­ных пер­вой поло­ви­ны устройств хра­не­ния (где дан­ные чередуются).

 

xii) Под­держ­ка и опти­ми­за­ция SSD: фай­ло­вая систе­ма btrfs под­дер­жи­ва­ет SSD и име­ет неко­то­рые функ­ции опти­ми­за­ции SSD. Фай­ло­вая систе­ма btrfs так­же под­дер­жи­ва­ет TRIM/Discard для устройств хра­не­ния SSD.

Функ­ция TRIM может обна­ру­жи­вать и отме­чать экс­тен­ты дан­ных, кото­рые боль­ше не исполь­зу­ют­ся. Как толь­ко рас­ши­ре­ния отме­че­ны, фай­ло­вая систе­ма btrfs может авто­ма­ти­че­ски сте­реть их, что­бы дру­гие фай­лы мог­ли исполь­зо­вать эти экс­тен­ты данных.

Функ­ция Discard уда­лит все дан­ные SSD. Если вы хоти­те про­дать свой SSD, эта функ­ция может вам пригодиться.

 

xiii) Эффек­тив­ное инкре­мент­ное резерв­ное копи­ро­ва­ние : Btrfs под­дер­жи­ва­ет инкре­мент­ное резерв­ное копи­ро­ва­ние. При пер­вом резерв­ном копи­ро­ва­нии фай­ло­вой систе­мы btrfs созда­ет­ся момен­таль­ный сни­мок теку­щей фай­ло­вой систе­мы. Затем все после­ду­ю­щие резерв­ные копии будут срав­ни­вать­ся с пер­вым момен­таль­ным сним­ком, и на дис­ке будут сохра­не­ны толь­ко изме­не­ния. Таким обра­зом, любые после­ду­ю­щие резерв­ные копии будут зани­мать мень­ше места на дис­ке, а резерв­ные копии будут выпол­нять­ся быстрее.

 

xiv) Фоно­вая очист­ка: это про­цесс фай­ло­вой систе­мы Btrfs, исполь­зу­е­мый для поис­ка и исправ­ле­ния оши­бок в фай­лах, кото­рые име­ют избы­точ­ные копии (мно­же­ствен­ные копии), хра­ня­щи­е­ся в фай­ло­вой систе­ме Btrfs.

 

xv) Дефраг­мен­та­ция фай­ло­вой систе­мы в режи­ме онлайн: ранее я объ­яс­нил, как рабо­та­ет фай­ло­вая систе­ма Btrfs Copy-on-Write. Фай­лы боль­шо­го раз­ме­ра хра­нят­ся в несколь­ких частях фай­ло­вой систе­мы Btrfs. Когда вы изме­ня­е­те боль­шие фай­лы, изме­ня­е­мые экс­тен­ты копи­ру­ют­ся в раз­лич­ные сво­бод­ные экс­тен­ты фай­ло­вой систе­мы и моди­фи­ци­ру­ют­ся там. Таким обра­зом, неиз­ме­нен­ные экс­тен­ты дан­ных так­же сохра­ня­ют­ся на слу­чай, если это потре­бу­ет­ся для вос­ста­нов­ле­ния фай­ло­вой систе­мы. Это вызы­ва­ет фраг­мен­та­цию (экс­тен­ты дан­ных боль­шо­го фай­ла не будут непре­рыв­ны­ми и будут раз­бро­са­ны по все­му устрой­ству хра­не­ния) в фай­ло­вой систе­ме по мере изме­не­ния боль­ших фай­лов. Слиш­ком силь­ная фраг­мен­та­ция нега­тив­но вли­я­ет на фай­ло­вую систе­му (замед­ля­ет опе­ра­цию чтения/записи фай­ло­вой системы).

Что­бы решить эту про­бле­му, фай­ло­вая систе­ма btrfs под­дер­жи­ва­ет онлайн-дефраг­мен­та­цию фай­ло­вой систе­мы. При онлайн-дефраг­мен­та­ции вам не нуж­но отклю­чать фай­ло­вую систе­му для дефраг­мен­та­ции фай­ло­вой систе­мы. Вы може­те под­дер­жи­вать фай­ло­вую систе­му в рабо­чем состо­я­нии и при этом дефраг­мен­ти­ро­вать ее. Дефраг­мен­та­ция будет пере­ме­щать экс­тен­ты фай­ла по фай­ло­вой систе­ме, что­бы сохра­нить экс­тен­ты одно­го и того же боль­шо­го фай­ла как мож­но более непре­рыв­ны­ми. Дефраг­мен­та­ция улуч­ша­ет про­из­во­ди­тель­ность фай­ло­вой системы.

 

xvi) Авто­ном­ная про­вер­ка фай­ло­вой систе­мы: фай­ло­вая систе­ма Btrfs име­ет мно­же­ство встро­ен­ных инстру­мен­тов, кото­рые вы може­те исполь­зо­вать для про­вер­ки оши­бок фай­ло­вой систе­мы и их исправ­ле­ния. Вы так­же може­те испра­вить сло­ман­ную фай­ло­вую систе­му Btrfs (кото­рая не может быть смон­ти­ро­ва­на) с помо­щью этих инструментов.

 

xvii) Пре­об­ра­зо­ва­ние на месте суще­ству­ю­щих фай­ло­вых систем Ext2/3/4 и ReiserFS: фай­ло­вая систе­ма Btrfs име­ет встро­ен­ную ути­ли­ту btrfs-convert, кото­рую вы може­те исполь­зо­вать для пре­об­ра­зо­ва­ния суще­ству­ю­щих фай­ло­вых систем Ext2/3/4 и ReiserFS в фай­ло­вую систе­му Btrfs. .

Про­грам­ма пре­об­ра­зо­ва­ния фай­ло­вой систе­мы Btrfs счи­ты­ва­ет мета­дан­ные суще­ству­ю­щей фай­ло­вой систе­мы Ext2/3/4 (или ReiserFS), созда­ет мета­дан­ные Btrfs и сохра­ня­ет их в фай­ло­вой систе­ме. Фай­ло­вая систе­ма хра­нит мета­дан­ные как Btrfs, так и Ext2/3/4 (или ReiserFS). Фай­ло­вая систе­ма Btrfs ука­зы­ва­ет на те же бло­ки фай­лов, кото­рые исполь­зу­ют­ся фай­ла­ми фай­ло­вой систе­мы Ext2/3/4 (или ReiserFS). Суще­ству­ю­щая фай­ло­вая систе­ма и бло­ки дан­ных оста­ют­ся нетро­ну­ты­ми, посколь­ку Btrfs явля­ет­ся фай­ло­вой систе­мой с функ­ци­ей копи­ро­ва­ния при запи­си (CoW). Когда файл изме­ня­ет­ся, фай­ло­вая систе­ма Btrfs копи­ру­ет исход­ные бло­ки дан­ных в новые сво­бод­ные экс­тен­ты и моди­фи­ци­ру­ет их там.

 

xviii) Семен­ные устрой­ства: фай­ло­вая систе­ма Btrfs под­дер­жи­ва­ет семен­ные устрой­ства. Вы може­те создать фай­ло­вую систе­му, доступ­ную толь­ко для чте­ния, и исполь­зо­вать ее в каче­стве шаб­ло­на (началь­но­го устрой­ства) для созда­ния дру­гих фай­ло­вых систем Btrfs. Пре­иму­ще­ство это­го заклю­ча­ет­ся в том, что в новую фай­ло­вую систе­му будут запи­са­ны толь­ко изме­нен­ные дан­ные. Исход­ные дан­ные (на семен­ных устрой­ствах) будут сохра­не­ны как есть. Эту функ­цию мож­но исполь­зо­вать для эко­но­мии места на дис­ке и избы­точ­но­сти данных.

 

xix) Отправка/получение изме­не­ний суб­то­ма: фай­ло­вая систе­ма btrfs может отправлять/получать изме­не­ния суб­то­ма. Фай­ло­вая систе­ма Btrfs может отправ­лять инкре­мент­ные изме­не­ния суб­то­ма в дру­гую фай­ло­вую систе­му Btrfs (так­же может нахо­дить­ся на дру­гом ком­пью­те­ре), кото­рая может полу­чать изме­не­ния суб­то­ма. Эта функ­ция исполь­зу­ет­ся для созда­ния инкре­мент­ных резерв­ных копий фай­ло­вой систе­мы Btrfs локаль­но или уда­лен­но. Этот метод быст­рее и эффек­тив­нее, чем rsync.

 

xx) Пакетная/внеполосная деду­пли­ка­ция: фай­ло­вая систе­ма Btrfs под­дер­жи­ва­ет пакет­ную или вне­по­лос­ную деду­пли­ка­цию. Дуб­ли­ро­ва­ние про­ис­хо­дит после запи­си фай­ла в фай­ло­вую систе­му. Фай­ло­вая систе­ма Btrfs актив­но ска­ни­ру­ет всю фай­ло­вую систе­му на нали­чие иден­тич­ных экс­тен­тов и сохра­ня­ет толь­ко одну копию каж­до­го экс­тен­та (уда­ля­ет избыточные/повторяющиеся экс­тен­ты). Для этой зада­чи исполь­зу­ет­ся тот же прин­цип копи­ро­ва­ния при запи­си (CoW). Деду­пли­ка­ция эко­но­мит мно­го дис­ко­во­го пространства.

 

xxi) Под­держ­ка фай­лов под­кач­ки: если вы исполь­зу­е­те Linux Kernel 5.0 или новее, вы може­те созда­вать фай­лы под­кач­ки в фай­ло­вой систе­ме Btrfs.

Есть неко­то­рые огра­ни­че­ния Swapfile в фай­ло­вой систе­ме Btrfs:

  • Файл под­кач­ки дол­жен быть выде­лен как NoCoW (не копи­ро­ва­ние при записи)
  • В фай­ле под­кач­ки не долж­но быть вклю­че­но сжатие.

 

Стабильность файловой системы Btrfs:

Фай­ло­вая систе­ма Btrfs актив­но раз­ви­ва­ет­ся коман­дой Btrfs. На момент напи­са­ния этой ста­тьи боль­шин­ство функ­ций фай­ло­вой систе­мы оста­ва­лись ста­биль­ны­ми. Неко­то­рые из рас­ши­рен­ных функ­ций еще недо­ста­точ­но ста­биль­ны для про­из­вод­ствен­ной сре­ды. Коман­да Btrfs усерд­но рабо­та­ет над реше­ни­ем этих про­блем со стабильностью.

Если вы хоти­те исполь­зо­вать фай­ло­вую систе­му Btrfs на сво­ем про­из­вод­ствен­ном сер­ве­ре, про­верь­те офи­ци­аль­ную стра­ни­цу Status – btrfs Wiki, что­бы узнать, доста­точ­но ли ста­биль­ны функ­ции фай­ло­вой систе­мы, кото­рые вам нуж­ны. Кро­ме того, не забудь­те запу­стить несколь­ко тестов перед окон­ча­тель­ным раз­вер­ты­ва­ни­ем фай­ло­вой систе­мы Btrfs и не забудь­те сохра­нить резерв­ные копии важ­ных дан­ных. Хра­не­ние резерв­ных копий все­гда важ­но для про­из­вод­ствен­ных сред.

 

Будущая замена файловой системы Ext4:

Фай­ло­вая систе­ма Btrfs быст­ро раз­ви­ва­ет­ся. Коман­да раз­ра­бот­чи­ков Btrfs так­же забо­тит­ся о ста­биль­но­сти фай­ло­вой систе­мы. Поэто­му они изо всех сил ста­ра­ют­ся сде­лать ее мак­си­маль­но ста­биль­ной при раз­ра­бот­ке фай­ло­вой систе­мы btrfs. Как толь­ко фай­ло­вая систе­ма btrfs будет пол­но­стью раз­ра­бо­та­на и все функ­ции ста­нут доста­точ­но ста­биль­ны­ми, она может заме­нить фай­ло­вую систе­му Ext4.