Яка файлова система для великих LVM дисків (8 ТБ)?


21

У мене є сервер Linux з багатьма 2 ТБ дисками, всі в даний час знаходяться в LVM, що призводить до приблизно 10 ТБ місця. Я використовую весь цей простір на розділі ext4 і наразі маю близько 8,8 ТБ даних.

Проблема полягає в тому, що я часто отримую помилки на своїх дисках, і навіть якщо я замінюю (тобто я копіюю старий диск на новий разом з dd, то я кладу новий на сервер), як тільки з’являються помилки, Я часто отримую на ньому близько 100 Мб пошкоджених даних. Це змушує e2fsck щоразу зникати з розуму, і часто потрібно тиждень, щоб знову повернути файлову систему ext4 у здоровий стан.

Отже, питання: Що б ви порадили мені використовувати як файлову систему в моєму LVM? Або що б ви порадили мені зробити замість цього (мені LVM не дуже потрібен)?

Профіль моєї файлової системи:

  • багато папок різного загального розміру (деякі на 2 ТБ, а інші на 100 МБ)
  • майже 200 000 файлів різного розміру (3/4 з них близько 10 МБ, 1/4 від 100 Мб до 4 Гб; наразі я не можу отримати більше статистичних даних щодо файлів, оскільки мій розділ ext4 повністю руйнується протягом декількох днів)
  • багато читає, але мало пише
  • і мені потрібна відмова (я перестав використовувати mdadm RAID, тому що це не подобається мати ОДНУ помилку на всьому диску, і іноді у мене несправні диски, які я замінюю, як тільки можу, але це означає, що я можу отримати пошкоджені дані на моя файлова система)

Основна проблема - несправні диски; Я можу втратити деякі файли, але не можу дозволити собі втратити все одночасно.

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

Я чув, що btrfs було б непогано, але я не можу знайти жодної підказки щодо того, як він управляє втратою частини диска (або цілого диска), коли дані НЕ реплікуються ( mkfs.btrfs -d single?).

Будь-яка порада з питання буде вітатися, заздалегідь дякую!


1
Точно, які дискові помилки ви отримуєте. Це має дати підказку
Сохам Чакраборті

Погані сектори, часто це лише один чи два погані сектори на всьому диску ...
alphatiger

Це означає, що ваш диск погано працює. Навряд чи щось стосується файлової системи. Якщо диск поганий, незалежно від того, якими файлами ви користуєтеся, буде зручно. Як уже згадували інші, заходьте на RAID-диски та / або купуйте корпоративні диски. Також шукайте контролерів якості.
Сохам Чакраборті

Так, я знаю, тому я замінюю диски, які йдуть погано. Вибачте, якщо моє питання не було зрозумілим. Але все ж я думав, що деякі файлові системи будуть поводитись краще з пошкодженими даними ...
alphatiger

Ви дійсно повинні замінити несправні частини вашого обладнання. Це подібно до того, щоб дивитися на манекен з краш-тестом після того, як автомобіль був приведений до стіни 200 км / год. "О, дивіться! Ліва нога майже в порядку! Тест був успішним!" ... жодна файлова система не може допомогти вам, якщо основне обладнання загниє. XFS має швидший fsck, ніж ext *, і після закінчення достатнього часу, і файлова система дозріває трохи більше, можливо, btrfs також буде працювати. Тоді є ZFS, але в Linux його стан трохи сумний.
Janne Pikkarainen

Відповіді:


22

Це не проблема файлової системи, це фізичні обмеження дисків. Ось деякі дані:

Приводи SATA зазвичай задаються зі швидкістю помилок читання (URE), яку не можна отримати, 10 ^ 14. Це означає, що 1 байт на 12 ТБ буде безповоротно втрачений, навіть якщо диски працюватимуть нормально.

Це означає, що без RAID ви втратите дані, навіть якщо жоден диск не вийде з ладу - RAID - ваш єдиний варіант.

Якщо ви вибрали RAID5 (загальна ємність n-1, де n = кількість дисків), це все одно недостатньо. З 10 ТБ RAID5, що складається з 6 x 2 ТБ жорсткого диска, ви матимете 20% шансів на один збій накопичувача на рік, і при одному з ладу одного диска, через URE у вас буде 50% шансів успішно відновити RAID5 і відновити 100% своїх даних .

В основному з високою ємністю дисків і відносно високим URE вам потрібен RAID6, щоб забезпечити ще раз пошкодження одного диска.

Прочитайте це: http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162


3
Зачекайте, URE означає непоправну помилку читання, але це не означає, що диск насправді має помилку. Наступне читання може (і, ймовірно, поверне) правильний біт. ОС, ймовірно, просто перечитає сектор та отримає правильні дані. Ви також забули поговорити про SMART: перш ніж сектор буде пошкоджений, SMART спробує прочитати / записати дані з / до нього. Якщо він виявить занадто багато збоїв, SMART просто переміщує вміст сектора в інше місце і позначає сектор як BAD, і ніхто більше не зможе записати на нього.
Авіо

Отже, ви просто пропонуєте придбати тонни дисків, не запитуючи, Чому його диски такі несправні. Це може бути проблема з нагріванням, це може бути проблема з несправним контролером SATA, це може бути проблема з поганими роз'ємами SATA, і т. Д. І т.д. і т. Д.
Avio

@Avio Що я говорю, це те, що з 10 ТБ даних ви отримаєте помилки читання через обмеження жорсткого диска, навіть якщо всі диски, контролер SATA, роз'єми SATA і т. Д. Знаходяться в ідеальному стані та працюють відповідно до специфікацій. Я також кажу, що навіть якщо ви вирішили використовувати RAID для пом'якшення того, що вам варто перейти з RAID6, оскільки ємність диска + URE роблять навіть RAID5 недостатньо надійним. Навіть поломка одного диска на RAID5 має високий (50% FFS!) Шанс втрати даних.
c2h5oh

1
@ Avio U в URE означає Unrecoverable, як і назавжди.
c2h5oh

Це може бути проблема файлових систем, якщо ви використовуєте копію файлової системи запису, наприклад, btrfs або xfs, ви, швидше за все, можете відновити попередню версію файлу, тому втрачаючи лише останню зміну у файлі. (якщо це колись було змінено)
Єнс Тіммерман

13

Зробіть собі прихильність і використовуйте RAID для своїх дисків, це може бути навіть програмний RAID з mdadm. Також подумайте, чому ви «часто отримуєте помилки на своїх дисках» - це не нормально, за винятком випадків, коли ви використовуєте дешеві накопичувачі SATA настільних класів замість дисків класу RAID.

Після цього файлова система вже не важлива - ext4, xfs - це обидва варіанти.


1
Я погоджуюся, що мені слід;), але я не використовую RAID з багатьох причин. Головна - ціна, оскільки вони в 2-3 рази дорожчі, і я не можу цього собі дозволити. Друга причина - це те, що востаннє, коли я використовував RAID 5, мені пощастило отримати два погані диски, перш ніж я міг підключити новий та відновити його (у мене тоді не було запасних дисків, мені довелося чекати новий; я погоджуюся, що з дисками класу RAID у мене була б ця проблема). Третя причина полягає в тому, що в міру зростання даних, які я повинен зберігати, я поступово додаю нові диски більшого розміру, що я не можу зробити з конфігурацією RAID.
alphatiger

Тому я намагаюся перевірити, чи існує файлова система, яку хтось порекомендував би мені використовувати в конфігурації, де я не можу покластися на непошкоджені дані. Все-таки дякую за вашу відповідь!
alphatiger

4
Отже, ви говорите, що ваші дані не варті додаткових витрат? Якщо ви не можете дозволити собі мати принаймні дві копії своїх даних, то слід вважати їх втраченими. Ви маєте рацію, що RAID5, мабуть, не є вдалим вибором, вам, мабуть, слід поглянути на RAID6 або RAID10.
Зоредаче

@alphatiger: Диски є занадто дорогими, якщо ваш час і ваші дані занадто дешеві.
Відновіть Моніку - М. Шредер

8

Мені пощастило із ZFS, ви можете перевірити, чи доступний він у будь-якому дистрибутиві, який ви використовуєте. Справедливе попередження, це, ймовірно, означатиме відновлення всієї вашої системи, але це дає справді хороші показники та відмовостійкість.


Зараз я використовую Debian GNU / Linux, схоже, є реалізація FUSE, але немає пакету (через проблеми з ліцензуванням). Я, мабуть, спробую це (після компіляції з джерел, оскільки використання FUSE - це не дуже приємно для високого виводу), я не переживаю за необхідність перебудувати всю свою файлову систему. Спасибі !
alphatiger

+1 для ZFS. Традиційний RAID мовчки пошкодить дані, оскільки він недостатньо розумний, щоб знати, коли блоки помиляються, або як їх виправити. З іншого боку, ZFS виявить пошкоджені блоки (за допомогою контрольних сум) та відновить їх з відомих хороших дзеркальних копій. Запуск ZFS в режимі FUSE, хоча не є ідеальним, буде працювати досить добре для багатьох навантажень. Зважаючи на це, ви повинні завантажити тест своєї програми, перш ніж використовувати це у виробничому середовищі.
bahamat

1
Ще +1 для ZFS. Вже майже всі сервери тут працюють під Linux і я великий фанат цього, але ZFS виявився настільки корисним для мене за останні 3+ роки, що я фактично доклав зусиль для вивчення та налаштування FreeBSD на велика машина для зберігання даних, щоб мати можливість користуватися ZFS без будь-яких проблем з ліцензуванням та продуктивністю.
ssc

Я запускаю його під Solaris на моїй старій робочій станції Sun, а продуктивність - не дивовижна, враховуючи апаратне забезпечення (одноядерний Opteron @ 2,2 ГГц з 3G пам’яттю та парою 250G SATA-накопичувачів).
TMN

8

Я додаю нові диски більшого розміру поступово

Оскільки вам цікаво використовувати LVM, і ви хочете працювати з декількома накопичувачами, простою відповіддю було б просто використовувати дзеркальну функцію, яка є частиною LVM. Просто додайте всі фізичні обсяги у свій LVM. Під час створення логічного обсягу передайте цей --mirrorsпараметр. Це дублює ваші дані.

Іншим варіантом може бути просто встановити кілька пар RAID1. Потім додайте всі томи RAID1 у вигляді PV до вашого VG. Тоді, коли ви хочете розширити своє сховище, просто купіть пару дисків.


7

Ви дійсно повинні використовувати RAID 5, 6, 10, 50 або 60. Ось деякі ресурси, щоб розпочати:

довідкова інформація про RAID

як і налаштування

Перегляньте мої смачні посилання на додаткові посилання RAID: http://delicious.com/slmingol/raid


Перегляньте мої коментарі до відповіді SvenW, щоб дізнатися, чому я не хочу дуже RAID. (Насправді я вже робив налаштування декількох програмних RAID в компанії, яка могла собі це дозволити ...) Все-таки дякую!
alphatiger

Я завжди використовував товарні накопичувачі для RAID, ніколи не використовував ті, які оцінювались для використання RAID, і ніколи не мав проблем з цим, доки ви не вибрали RAID, у якому достатньо надмірності в ньому (RAID 6 або RAID 60). Використовуючи RAID 6, вам потрібно парне число. Ви можете легко розробити RAID, замінивши існуючі члени на більші диски, а потім переростаючи в нові місця.
slm

4

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

Немає гарантії, що дані, прочитані (навіть успішно прочитані) з диска, будуть правильними. У блоках є контрольні суми, але вони прості контрольні суми, які не завжди вловлюють помилки. Більш нові файлові системи, такі як ZFS, прикріплюють до файлів більш здатні контрольні суми і можуть (і, як повідомляється, робити) помилки даних і виправлення помилок, не помічені жорстким диском або контролером RAID.


1

Як говорить @ c2h5oh , Unrecoverable є критичним - це означає, що диск вже спробував і не зміг перечитати сектор.

На мій досвід, коли диск починає створювати непоправні помилки читання (URE), деякі дані втрачаються назавжди, і ваша єдина надія - негайно створити резервну копію всіх даних за допомогою GNU ddrescue , яка може повторно спробувати відмовити сектори, а також пропустити невідновлювані.

Якщо припустити, що у вас є резервні копії, вони, можливо, вийшли з ладу через URE, і, безумовно, будуть деякі пошкоджені файли, тому вам доведеться зібрати повний набір даних з різних резервних копій тієї ж файлової системи.

Інші відповіді, що рекомендують ZFS, варто прочитати, оскільки його постійне очищення даних та RAID-функції допоможуть зберегти ваші дані в майбутньому безпечнішими - хоча це все ще не є заміною резервного копіювання, що також захищає від помилок користувача та адміністратора.

Я використовую LVM лише тоді, коли вам не потрібні знімки - він не так добре інтегрується з RAID, не включає скраб даних / контрольні суми даних, і вам все одно потрібні резервні копії, тому щось на зразок ZFS, мабуть, кращий варіант. Додаткову інформацію див. У відповіді на проблеми та ризики LVM .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.