Я будую домашній файловий сервер FreeBSD за допомогою ZFS.
Це AMD X2 3200+ з 3 Гб оперативної пам’яті. Він має PCI Express Gig-E. У завантажувальному пристрої розміщено 400 Гб, я маю 4 диски Seagte на 750 Гб (один із різною версією прошивки, про всяк випадок).
Завантаження з ZFS було б непогано (це зробить установку простішою), але я використав інструкції ZFSOnRoot для установки приводу Root / OS за допомогою ZFS (якщо всі розділи ZFS, тоді не потрібно робити fsck при завантаженні перевірити файлові системи UFS). З тієї причини, що ви хочете цього, ви зможете налаштувати всі ваші розділи (/ var, / usr, / tmp тощо) за допомогою необхідних різних варіантів (наприклад, time-time та async for / usr / obj, що пришвидшить ядро компілює), але всі вони поділять простір із загального пулу. Потім ви можете налаштувати диск даних та надати кожному користувачеві свій власний розділ (з різними котируваннями та налаштуваннями). Потім ви можете робити знімки (що на ZFS низька вартість).
My home server has a df that looks like:
/dev/ad0s1a 1.9G 744M 1.1G 41% /
devfs 1.0K 1.0K 0B 100% /dev
dozer/data 1.8T 62G 1.7T 3% /data
dozer/home 1.7T 9.6G 1.7T 1% /home
dozer/home/walterp 1.9T 220G 1.7T 11% /home/walterp
tank/tmp 352G 128K 352G 0% /tmp
tank/usr 356G 4.4G 352G 1% /usr
tank/var 354G 2.2G 352G 1% /var
Ефективність копіювання файлів реально швидко. Єдине, що я зазначу, це те, що я використовував ZFS на FreeBSD AMD64 системах, які мають 3-4 Гб, і він спрацював добре, але з мого читання, я б переймався тим, як запустити його в системі i386, яка мала 2 Гб або менше пам'яті.
У мене не вистачало портів SATA на материнській платі, тому я не намагався додавати нові диски. Початкова настройка була простою, команда для створення RAIDZ, а потім команда створення / home, яка була відформатована в секундах (IIRC). Я все ще використовую старішу версію ZFS (v6), тому вона має деякі обмеження (для неї не потрібні диски однакового розміру, але на відміну від Drobo, якщо у вас було 3 750 ГБ накопичувачів і накопичувач 1 ТБ, кінцевий результат буде так, як якщо б у вас було 4 диски 750 Гб).
Однією з великих причин того, що я використовував ZFS з RAIDZ, були цілісні контрольні суми. CERN опублікував документ, в якому задокументовано тест, який вони зробили, коли вони виявили 200+ непоправлених помилок читання під час виконання тесту R / W протягом декількох тижнів (очікується, що ECC у роздрібних накопичувачах матиме помилку один раз на 12TB зчитування). Я хотів би, щоб дані на моєму сервері були правильними. У мене стався важкий збій через відключення електроживлення (хтось перевантажив ДБЖ, підключивши до нього нагрівач простору), але коли система може повернутися назад, ZFS повернувся швидко, без стандартних проблем з fsck.
Мені це подобається, тому що я міг би потім додати CUPS до Samba, щоб отримати сервер друку. Я додав кеш DNS і можу додавати інше програмне забезпечення, як мені подобається (я думаю про додавання SNMP-моніторингу до настільних комп'ютерів мого будинку для вимірювання використання пропускної здатності). Щодо того, що я витратив на систему, я впевнений, що міг би придбати дешеву коробку NAS, але тоді я не мав би 64-бітну локальну коробку Unix, з якою можна було б грати. Якщо вам подобається FreeBSD, я б сказав, піди з ним. Якщо ви віддаєте перевагу Linux, то я б рекомендував рішення для Linux. Якщо ви не хочете займатися будь-якою адміністрацією, саме тоді я б пішов на окрему коробку NAS.
У наступному раунді оновлення обладнання я планую оновити обладнання, а потім встановити поточну версію FreeBSD, у якій є ZFS v13. V13 класний, тому що у мене є резервна копія диска оперативної пам’яті, яку я можу використовувати для журналу ZIL (це робить крик). Він також підтримує використання SSD для прискорення файлового сервера (характеристики на нових файлових серверах Sun є солодкими, і вони отримують їх із системи ZFS, яка використовує SSD, щоб зробити систему дуже швидкою).
РЕДАКТУВАТИ: (Ще не можна залишати коментарі). Я майже дотримувався вказівок на веб- сайті http://www.ish.com.au/solutions/articles/freebsdzfs . Основна зміна, що існує в 7.X з моменту написання цих інструкцій, полягає в тому, що вийшло 7.2, і якщо у вас є 2+ ГБ, вам не доведеться додавати наступні три рядки в /boot/loader.conf:
vm.kmem_size_max="1024M"
vm.kmem_size="1024M"
vfs.zfs.arc_max="100M"
В інструкціях також пояснюється, як створити дзеркало та як повернути систему у режим відновлення (встановити за допомогою ZFS). Граючи з його вказівками один чи два рази, я потім використав посібник адміністратора ZFS від Sun http://opensolaris.org/os/community/zfs/docs/zfsadmin.pdf, щоб зрозуміти, що таке ZFS. Для створення свого сховища даних я створив модифіковану версію команди на сторінці 91 для створення пулів ZFS. Будучи FreeBSD, мені довелося внести невеликі зміни:
zpool create dozer raidz /dev/ad4 /dev/ad6 /dev/ad8 /dev/ad10
Там, де ad4-ad10, де його знайдено, виконуючи dmesg | grep 'ata. * Master', це назви жорстких дисків SATA в системі, які будуть використовуватися для великого розділу даних. На моїй материнській платі, перші три порти ата (ad0-3), де 4 порти PATA, а потім, оскільки кожен порт SATA є головним, немає старих чисел.
Для створення файлової системи я щойно зробив:
zfs create dozer/data
zfs set mountpoint=/data dozer/tank
Друга команда потрібна, тому що я вимкнув точки монтажу за замовчуванням для спільного доступу.