Btrfs поверх mdadm raid10 або btrfs raid10 на голих пристроях?


9

У мене RAID10, керований mdadmфайловою системою EXT4, і поверх нього. Однак мені подобається BTRFS і я хотів би перетворити файлову систему EXT4 в BTRFS, але я думав про продуктивність та ремонтопридатність. Наприклад, з BTRFS, я не можу легко бачити стан, коли я видаляю / додаю інший диск до масиву, як я можу з mdadm (або, можливо, я просто не знаю як - я шукав документи BTRFS і не міг цього знайти ).

Отже, зі свого досвіду, що краще вибрати:

  1. Щоб просто перетворити файлову систему EXT4 і дозволити mdadm управляти RAID10?

  2. Щоб позбутися mdadm, і дозволити BTRFS робити все?

Відповіді:


11

Нехай Btrfs все робить.

З одного боку, у Btrfs є власний інтегрований дзеркальний код, який може бути розумнішим, ніж божевільний.

Звичайно, якщо диск не виходить з ладу у дзеркальній парі в безумному рейді10, ви можете замінити поганий диск і продовжувати своє життя (хоч після важко складного набору команд оболонки). Проблема полягає в тому, якщо ваш диск виходить з ладу трохи м'якше: якщо кілька блоків просто повернуть неправильні біти замість того, щоб давати відповідні коди помилок для поганого блоку, то, читаючи дані, ви випадково отримаєте погані дані. Btrfs розумніший за це: він перевіряє суми кожного біта даних. Якщо чесно, я не знаю, чи правильніше сказати "кожен вузол BTree" або "кожен блок", але справа в тому, що коли він читає деякі дані з дзеркального масиву, він перевіряє контрольну суму перед тим, як повернути її до свого процес користувача. Якщо контрольна сума не відповідає, вона спочатку звертається до іншого дзеркала в масиві, і якщо це дає правильну контрольну суму,

Вікі Btrfs конкретно згадує ваше запитання :

Якщо Btrfs для дзеркального відображення покладаються на картографічний пристрій пристрою або MD, він не зможе вирішити збої контрольної суми, перевіривши дзеркальну копію . Нижні шари не знають контрольну суму або деталізацію блоків файлової системи, і тому вони не в змозі перевірити дані, які вони повертають.

Нарешті, навіть без цієї суттєвої переваги робочий процес командного рядка для роботи із видаленими чи доданими пристроями Btrfs є надто простим. Я навіть не впевнений, що міг би правильно виконати команди оболонки degraded-mount-then-fix-your-filesystem, але для Btrfs це дуже чітко зафіксовано на сторінці декількох пристроїв як:

mount -o degraded /dev/sdb /mnt
btrfs device delete missing /mnt

У цей момент, якщо у вас є достатньо місця на ваших дисках, які ви залишилися, ви завжди можете просто так btrfs rebalanceі робити з цим; не потрібно замінювати дзеркало, як вам би абсолютно не доводилося робити з madm! І якщо ви хочете його замінити, ви можете зробити btrfs device addспочатку.


3

BTRFS все ще експериментальний, і ви можете закінчити "цікаві" функції, якщо щось повинно вийти з ладу. Якщо ви дійсно маєте / хочете запустити btrfs, на даний час було б набагато безпечніше запустити його поверх програмного рейду, ніж просто запустити його безпосередньо. Коли btrfs дозріває і переходить у виробництво, це більше не може бути правдою.


Близько року тому я експериментував із налаштуваннями btrfs у VM. Мені вдалося послідовно заблокувати ядро ​​(!), Змішавшись з командою rebalance. Час пішов і, сподіваємось, це було виправлено.
Avery Payne
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.