Чи має сенс ZFS як локальне зберігання?


0

Я читав про ZFS і на мить замислювався про те, щоб використовувати його на своєму комп’ютері, але, ніж читати про його потреби в пам’яті, думав двічі.

Чи є сенс використовувати ZFS як локальне сховище або це має сенс для сервера, що використовується як сховище? (Навіть для серверів іншого використання це здається непосильним).


1
У деяких випадках це має чудовий сенс, у деяких - ні. Загалом відповіді, які ви можете отримати, будуть дуже різними, і багато з них будуть засновані на думці. Якщо ви хочете правильно відповісти, скористайтеся посиланням редагування, щоб зробити питання значно більш детальним і зосередити увагу на практичній справі, на яку ми можемо надати практичні відповіді.
Геннес

Що стосується вимог до пам'яті, то вони залежать від вибраних функцій. Наприклад, увімкнення функції повторного дублювання значно збільшує використання пам'яті. Якщо вам це не потрібно, то вам потрібно менше пам’яті. Але як написано, ми можемо лише здогадуватися.
Геннес

@Hennes спасибі Чи не постане запитання на кшталт того, в яких радіомовленнях має сенс ZFS як місцевий сховище?
nsn

Спочатку подумайте, що ви намагаєтеся зробити. Ви просто хочете зберігати файли? Ви хочете зберігати файли та підтримувати систему, якщо диск не виходить (у такому випадку RAID стає цікавим, обидва звичайні варіанти ZFS). Ви хочете контрольні суми файлів? Ви хочете вміти робити дуже складні речі (ZFS - це набагато більше, ніж проста файлова система), чи ви хочете, щоб все було просто (у такому випадку: ZFS може бути нерозумним) ..... Потім відредагуйте публікацію .
Геннес

@hennes Те, що я зараз дуже хочу, - це вивчити ZFS. Хороший спосіб - встановити його перед тим, як використовуватись ще. Коли я почав читати про це, все більше і більше з'являлася думка, що це буде надмірність з точки зору пам’яті. У мене немає точного плану. Надалі мене найбільше цікавлять RAID / дедуплікація та продуктивність (що може звучати протилежною сумішшю)
nsn

Відповіді:


-1

ZFS не має особливо високих вимог до пам'яті.

Як зазначається в коментарях, певні особливості ZFS (зокрема дедуплікація, але також і L2ARC) потребують певного обсягу пам'яті, щоб бути корисним.

Однак ці функції не є тими, які ти можеш використовувати, якщо у тебе немає конкретного випадку використання, який передбачає їх використання.

ZFS зі своїм першим шаром ARC (Adaptive Replacement Cache) не має значно більшого обсягу пам'яті, ніж будь-яка інша файлова система та кеш. Через використання ARC замість, наприклад, алгоритму кеш-пам'яті з останнім часом , у деяких робочих навантаженнях він може ефективніше використовувати наявну оперативну пам'ять кешу.

Що вимагає ZFS , це оперативна пам'ять ECC. Це повсюдно на серверах, але рідко зустрічається в персональних системах (багато процесорів нижчого рівня Intel навіть не підтримують оперативну пам’ять ECC). Ця вимога випливає із властивостей самолікування ZFS, оскільки проблеми з оперативною пам’яттю можуть потенційно знищити ваші дані під час роботи ZFS. Немає коду для перевірки цього в ZFS, ймовірно, частково, тому що, мабуть, немає 100% певного способу сказати з програмного забезпечення, чи система використовує оперативну пам'ять ECC.

Від того, чи має сенс ZFS, залежить від того, що ви намагаєтесь зробити, так само, як має значення NTFS, також залежить від того, що ви намагаєтеся зробити. Однак, ZFS пропонує декілька функцій, які мало або взагалі не пропонують інші файлові системи, які можуть бути дуже корисними у певних сценаріях. Деякі з них:

  • Гарантована цілісність даних. Ви точно знатимете, що якщо певне читання вдалося, воно поверне ті самі дані, які були спочатку записані до цього місця. Це означає, що немає такого поняття, як мовчазна корупція даних; ви або отримуєте свої дані назад, або ви отримуєте помилку вводу / виводу.
  • Смуга і резервування файлових систем. Звичайні контролери RAID розглядають весь запам'ятовуючий пристрій як лише велику купу блоків, у яких немає ніяких знань про будь-які структури даних на диску. Оскільки ZFS поєднує управління обсягом та файловою системою, він може приймати більш розумні рішення на тлі помилок. У нього також є "найважливіший перший" режим перезавантаження, який означає, що дані, що є критичними для функціонування файлової системи, перезавантажуються першими після відмови, і менш критичні дані отримують чекати, незалежно від того, де на диску є дані зберігається.
  • Багатоярусне кешування Наприклад, ви можете мати ARC оперативної пам'яті, доповнений швидким SSD L2ARC, з великою частиною зберігання даних на обертових жорстких дисках. Для робочих навантажень, де набір робочих даних можна оцінити з розумною точністю, це може забезпечити величезні покращення продуктивності вводу / виводу при відносно низькій вартості і, безперечно, не потрібно використовувати весь SSD.
  • Практично безкоштовні файлові системи. З ZFS створення "файлової системи" мало чим відрізняється від створення каталогу в більшості сучасних файлових систем. Файлові системи можуть мати різні квоти, як максимальні, так і гарантовані. З цієї причини у системі ZFS файлові системи часто рекомендується використовувати як адміністративні межі; наприклад, на великому сервері домашній каталог кожного користувача може бути власною файловою системою. Це ізолює частини дерева каталогів один від одного без накладних витрат, створюваних окремими регулярними розділами та файловими системами. Я використовую файлові системи для розділення, наприклад, архівів електронної пошти на рік або фотографій на місяць.
  • Практично безкоштовні знімки. Я не знаю, скільки разів факт, що мені вдалося повернутися до того, як файл виглядав за кілька годин до того, врятував мене від якоїсь химерної помилки. Резервні копії забезпечують подібну здатність (і все ще потрібні, оскільки жодна кількість RAID не є резервною копією ), але знімки набагато доступніші. У ZFS сам знімок вимагає лише декількох кілобайт сховища метаданих, незалежно від кількості даних у відповідній файловій системі, і не має значних витрат на продуктивність.

Жодне з них не потрібно використовувати лише тому, що ви використовуєте ZFS. Але вони є, як правило, лише одна команда, якщо ви бажаєте їх включити.

Тепер це "надмір"? Це дійсно багато залежить від того, що ви намагаєтеся зробити. Я запускаю ZFS (з ECC RAM) у своїй домашній системі. Здебільшого він тихо тикає, не створюючи більше шуму, ніж будь-яка інша файлова система (і, мабуть, менше), але насправді врятувала мене від пошкодження даних хоча б раз (скраб знайшов кілька секторів які мали проблеми, і автоматично і безшумно відновлювали дані, не вимагаючи від мене втручання). Особисто я вважаю, що я зберег ці дані чомусь, і найімовірніше, що я хочу посилатися на ці дані пізніше. Подумайте тепер, що Всесвіт ненавидить ваші дані .

Із постійно зростаючими розмірами пам’яті та, по суті, постійно постійними частотами помилок бітів (за медіа-клас), помилки вводу-виводу не стануть менш поширеними. Дивлячись на мого уподобаного реселлера, Seagate та HGST пропонують 8 ТБ жорстких дисків за високими, але не екстремальними цінами, і, безумовно, в межах досяжності людей. Це приблизно 6,4 × 10 ^ 13 біт. Із частотою помилок 10 ^ -14 біт навіть один пропуск повного зчитування на носії є статистично великим, імовірно, виникне проблема вводу / виводу, що робить цілий сектор (4 КБ) нечитабельним. (До того моменту, коли ми потрапили на 10 ТБ HDD, статистично одне зчитування повного диска зіткнеться щонайменше з одним нечитабельним сектором .) Були проведені дослідження, які показують, що непоміченіПомилки читання трапляються набагато частіше, ніж ми хочемо визнати, відчайдушні зусилля виробників жорстких дисків щодо вдосконалення алгоритмів ECC на диску, хоча я не маю доступного посилання. Сучасні файлові системи, такі як NTFS, ext4, UFS +, HFS + тощо, просто не готові вирішувати таку ситуацію.

Ось націлена файлова система на зразок ZFS та Btrfs.


1
ZFS абсолютно не вимагає оперативної пам'яті ECC.
qasdfdsaq

@qasdfdsaq Ну, так і ні. Він не вимагає оперативної пам’яті ECC в тому сенсі, що для запуску коду ZFS RAM повинен бути ECC. (Або, принаймні, я не думаю. ZoL, звичайно, не робить.) Це вимагає оперативної пам'яті ECC в тому сенсі, що будь-які проблеми з пам'яттю потенційно є більш руйнівними; врахуйте кеш-запис запису в оперативній пам’яті і що трапиться, якщо між обчисленням контрольної суми та записом диска є бітні перевертання. Однак, дискусія, яка починається тут, здається актуальною, і люди заперечують і проти, і проти позиції "потрібна оперативна пам'ять ECC".
CVn

З цим я можу погодитися. Немає вимоги для оперативної пам'яті ECC, щоб мати можливість використовувати ZFS або запускати код. Потрібен ЕЦК для надійності чи ні, це дискусія, яка, швидше за все, триватиме до тих пір, поки дебати "проти" проти "emacs". Для мене факт, що багато розробників та ранні прихильники ZFS використовували його на своїх ноутбуках, робить це досить зрозумілим. Часто повторюваний аргумент "тому що він використовує контрольні суми" був повністю розблокований як Microsoft, так і Linux, представивши власні файлові системи, які також використовують контрольні суми без рекомендацій для ECC.
qasdfdsaq

@qasdfdsaq Microsoft має щось подібне? Я знаю, що це питання не пов'язане, але яка файлова система це?
CVn

ReFS: en.wikipedia.org/wiki/ReFS Хоча вперше випущений на сервері 2012, він доступний на робочому столі Windows 8.1 і вище.
qasdfdsaq
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.