Оптимізований ZFS в умовах низької оперативної пам'яті?


10

Наразі я налаштовую файловий сервер і дійсно налаштував накопичувачі даних. У системі є 4 накопичувачі (один диск ОС, 3 диски даних). Диск ОС відформатований як ext4 і не буде доданий до пулу ZFS (якщо я вирішу запустити ZFS). Основна проблема - цілісність даних та мінімальний ризик втрати даних (кешування диска вимкнено у біосах). Для цього ZFS, здається, є ідеальним кандидатом, оскільки він має стабільну версію для Linux (правильно?), А також підтримує дублювання даних, об'єднання та raidz, де жорсткі диски не повинні бути однакового розміру.

Але ось моя проблема. Сервер має лише 2 Гб оперативної пам’яті, і це не може бути оновлено найближчим часом, і реально лише 1,5 фактично будуть доступні ZFS після того, як я встановлю всі інші сервіси. Максимум близько 10 клієнтів будуть користуватися ним будь-коли (більше, як 4 в середньому). Це занадто низько, щоб вважати його безпечним?

Як я розумію, ZFS може вийти з ладу в умовах низької оперативної пам’яті і взяти пул із собою. Я чув суперечливі думки, чи допоможе своп полегшити цю проблему (у мене є виділений накопичувач розміром 20 ГБ). Хто-небудь відчував втрату даних із ZFS з невеликою кількістю оперативної пам’яті та які оптимізації ви включили для запобігання цього?

Зважаючи на вищесказане, чи можна було б все-таки запустити ZFS, хоча зменшити розмір акка та трохи зменшити його чи це буде занадто ризиковано?

Характеристики системи: ОС 2 ГБ оперативної пам’яті 20 Гб своп-накопичувача, Debian 7, мінімальна установка, з FTP, і XBMC, DNLA, (щоб дати уявлення про потребу в ОЗУ). Використовується для передачі потоку серверів і музичних носіїв інформації на інші пристрої.


1
Я не гуру ZFS, але я взагалі знаю небагато про файлові системи, і я знаю, що на одне місце вам доведеться звернути увагу - великий час - для споживання пам'яті - це дедуплікація даних. Ви не вказуєте, наскільки великі ваші диски, а також скільки даних буде розміщено на них; це величезна кількість, оскільки ZFS потребує збереження таблиці пошуку в пам'яті. Я не можу говорити з іншими проблемами, але я б точно вбив дедуплікацію. Також btrfs зараз досить зрілий для резервних даних; ти це розглядав? Перевірте arstechnica.com/civis/viewtopic.php?f=16&t=1226135, щоб дізнатися про деякі відомості (з якими деякі, без сумніву, не згодні).
ravenpi

О так, я пропустив це. Пул складе 3,35 Тб (і диски, і дані, оскільки він буде створювати резервне копіювання 9 клієнтів щодня, тому я думаю, що він заповниться швидко, я думаю, що це означає не дублювання, принаймні, оскільки freebsd пропонує 5 ГБ оперативної пам’яті для кожного місця зберігання в тб дякую за вказівку на btrfs, я не знав, що вона тепер стабільна, я думаю, я добре розберуся в цьому
Thomas E

"Стабільний" - це те, що я, можливо, не поспішаю називати це; хтось не вагається називати БУДЕ навіть своєрідну нову файлову систему "стабільною". Але це дістається. LWN (Linux Weekly News) щойно зробив серію про нього; це добре - перевірити це тут: lwn.net/Articles/576276
ravenpi

Відповіді:


5

Ви заявляєте цілісність даних та мінімальний ризик втрати даних як основні проблеми. Запуск ZFS з лише 2 Гбіт оперативної пам’яті є ризикованим і недоцільним. Занадто мало оперативної пам’яті вбиває продуктивність і стало причиною численних незмінних пулів у минулому. Проект FreeNAS зазначає як мінімум 8 ГБ оперативної пам’яті.

Крім того, оскільки ви турбуєтеся про втрату даних, вам потрібно буде використовувати оперативну пам’ять ECC. Оскільки ваш ящик може підтримувати лише 2 Гбіт оперативної пам’яті, я вважаю, що це дійсно стара коробка, яка не буде хорошим вибором для ZFS.

Щоб відповісти на ваші запитання:

[…] Та підтримує дублювання даних

На практиці забудьте про дедуплікацію, коли у вас немає хоча б 32GiB, як правило. Можливо, вам знадобиться значно більше оперативної пам’яті, залежно від розміру пулу. По-друге, зробіть математику, якщо дедуплікація + оперативна пам'ять коштує дешевше, ніж кілька додаткових дисків. Найчастіше більше дисків є дешевшою альтернативою.

Це занадто низько, щоб вважати його безпечним?

Так, це занадто низько.

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

Це правда, і багато людей втратили пул через низьку оперативну пам’ять.

Я чув суперечливі думки, чи допоможе своп полегшити цю проблему

Забудьте про своп, ваш вікно ZFS ніколи не повинен використовувати своп.

EDIT: Якщо ви відчуваєте пригоди і не заперечуєте проти ризику виникнення паніки або втрати даних, прочитайте посібник з налаштування ZFS та адаптуйте згадані налаштування. Ось приклад налаштувань для системи 768MiB пам'яті.

vm.kmem_size="330M"
vm.kmem_size_max="330M"
vfs.zfs.arc_max="40M"
vfs.zfs.vdev.cache.size="5M"

Інакше вкладіть сто доларів у смужку пам’яті та насолоджуйтесь стабільною та ефективною системою.


3
Розумію. Тільки для розробки так, у мене є ecc ram, і машина є потужним мікросервером HP7, який підтримує до 8 / 16gb таран, зараз він не є фінансово вигідним придбати більше оперативної пам’яті. Мені було відомо, що Freenas рекомендує 8 ГБ, однак документація на freebsd та Solaris пропонує мінімум 1 гб, що є причиною для цього питання. Я вважаю, що з огляду на це я повинен дотримуватися ext4 і дзеркально вручну з rsync та dd до офлайнових дисків, можливо, найбезпечнішим рішенням.
Томас Е

Чи можете ви детальніше пояснити, чому ZFS не повинен використовувати SWAP?
CMCDragonkai

Немає причин використовувати ZFS без ECC небезпечніше, ніж запускати одне і те ж обладнання з іншою файловою системою.
Алісія

5
Чому спільнота ZFS завжди коментує такий зарозумілий снобізм? Далеко не кожен, хто бажає надійної капелюшки даних, становить 100 доларів, просто лежачи навколо, щоб служити деяким абсолютно смішним вимогам до дизайну! У мене, наприклад, є невеликий домашній сервер ARM з 1 Гб оперативної пам'яті та жорсткі диски USB. Я хочу, щоб дані на ньому були захищені від бітової гнилі, оскільки вони були виявлені і виправлені, і вони мали знімки для цілей резервного копіювання. Немає потреби в швидкості. І btrfs звичайний, порушений дизайном. Таким чином, ZFS було б розумним, якби якийсь ідіот не спроектував його, щоб уникнути депресії щоразу, коли він має <128 екзабайтів оперативної пам'яті.
Evi1M4chine

0

У системах високого тиску пам'яті (Linux) дійсно потрібно оновити пам'ять. Все ще є помилка ( посилання ), де свопінг блокує IO (завдання, яке вивішене ядро), що робить його непридатним, якщо не перезавантажено. Я вважаю, що vm.swappiness = X не впливає на zfs, тому обмеження дуги певним числом може трохи допомогти.

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