Домашня » як » Вступ до файлової системи Z (ZFS) для Linux

    Вступ до файлової системи Z (ZFS) для Linux

    ZFS зазвичай використовують захисники даних, любителі NAS та інші гіки, які воліють довіряти надлишкову систему зберігання власних систем, а не хмару. Це чудова файлова система, яка використовується для керування кількома дисками даних і конкурує з деякими з найбільших налаштувань RAID.

    Фото Кенні Луї.

    Що таке ZFS і чому я повинен використовувати його?

    Файлова система Z - це вільний і відкритий менеджер логічних томів, побудований Sun Microsystems для використання в операційній системі Solaris. Деякі з найбільш привабливих функцій:

    Нескінченна масштабованість

    Ну, це не так технічно нескінченний, але це 128-бітна файлова система, здатна керувати zettabyte (один мільярд терабайт) даних. Незалежно від того, скільки місця на жорсткому диску у вас є, ZFS буде придатним для його керування.

    Максимальна цілісність

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

    Об'єднання накопичувачів

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

    RAID

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

    Встановлення ZFS

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

    Solaris і FreeBSD повинні вже поставлятися з ZFS, встановленими і готовими до використання.

    Ubuntu:

    $ sudo add-apt-repository ppa: zfs-native / stable
    $ sudo apt-get update
    $ sudo apt-get встановлює ubuntu-zfs

    Debian:

    $ su -
    # wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
    # dpkg -i zfsonlinux_2 ~ wheezy_all.deb
    # apt-get update
    # apt-get install debian-zfs

    RHEL / CentOS:

    $ sudo yum локальна інсталяція --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
    $ sudo yum install zfs

    Якщо у вас є інший дистрибутив, зверніться до zfsonlinux.org і натисніть на ваш дистрибутив у списку "Пакети" для інструкцій щодо встановлення ZFS.

    Продовжуючи роботу з цим посібником, ми збираємося використовувати Ubuntu, тому що це, мабуть, перший вибір для виродків Linux. Ви все одно повинні бути в змозі слідувати, незважаючи ні на що, оскільки команди ZFS не будуть змінюватися в різних дистрибутивах.

    Інсталяція триває досить довго, але після завершення запуску $ sudo zfs список щоб переконатися, що встановлено правильно. Ви повинні отримати такий вивід:

    Зараз ми використовуємо нову установку сервера Ubuntu з одним жорстким диском.

    Налаштування ZFS

    Тепер, скажімо, ми розмістили ще шість жорстких дисків у нашому комп'ютері.

    $ sudo fdisk -l | grep Помилка покаже нам шість жорстких дисків, які ми тільки що встановили. Наразі вони непридатні, оскільки не містять жодної таблиці розділів.

    Як ми вже згадували раніше, одна з приємних речей ZFS полягає в тому, що нам не потрібно турбуватися про розділи (хоча ви можете, якщо хочете). Давайте почнемо, взявши три з наших жорстких дисків і помістивши їх у пул зберігання, виконавши таку команду:

    $ sudo zpool створити -f geek1 / dev / sdb / dev / sdc / dev / sdd

    zpool create - команда, яка використовується для створення нового пулу зберігання, -f перекриває всі помилки, які виникають (наприклад, якщо на диску (дисках) вже є інформація про них), geek1 - назву пулу зберігання; / dev / sdb / dev / sdc / dev / sdd це жорсткі диски, які ми помістили в пул.

    Після створення пулу ви зможете переглядати його df команду або Список sudo zfs:

    Як ви бачите, / geek1 вже встановлений і готовий до використання.

    Якщо ви хочете побачити, які три диски ви вибрали для вашого пулу, ви можете запустити статус sudo zpool:

    Наразі ми створили пул динамічної смуги на 9 ТБ (ефективно, RAID 0). У випадку, якщо ви не знайомі з тим, що це означає, уявіть, що ми створили 3 Кб файл на / geek1. 1 Кб буде автоматично переходити до sdb, 1 Кб - до sdc і 1 Кб - до sdd. Потім, коли ми йдемо читати 3 Кб файл, кожен жорсткий диск буде представляти нам 1 Кб, об'єднуючи швидкість трьох дисків. Це робить написання та читання даних швидкими, але також означає, що ми маємо єдину точку відмови. Якщо тільки один жорсткий диск не вдасться, ми втратимо 3 Кб файлу.

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

    $ sudo zpool знищити geek1

    Bam, наш zpool пішов. На цей раз, давайте скористаємося нашими трьома дисками для створення пулу RAID-Z. RAID-Z є в основному вдосконаленою версією RAID 5, тому що він уникає "отвори для запису" за допомогою програми copy-on-write. RAID-Z вимагає мінімум трьох жорстких дисків, і це свого роду компроміс між RAID 0 і RAID 1. У пулі RAID-Z ви все одно отримаєте швидкість смуги на рівні блоків, але також маєте розподілену паритет. Якщо один диск у вашому пулі вмирає, просто замініть цей диск, і ZFS автоматично відновить дані на основі інформації про парність з інших дисків. Щоб втратити всю інформацію у вашому пулі зберігання, два диски повинні загинути. Щоб зробити речі ще більш зайвими, ви можете використовувати RAID 6 (RAID-Z2 у випадку ZFS) і мати подвійний паритет.

    Для цього ми можемо використовувати те ж саме zpool create як і раніше, але вкажіть raidz після назви пулу:

    $ sudo zpool створення -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd

    Як ти бачиш, df -h показує, що наш пул на 9 ТБ зараз скорочений до 6 ТБ, оскільки 3 ТБ використовуються для зберігання паритетної інформації. З zpool status команда, ми бачимо, що наш пул в основному такий же, як і раніше, але зараз використовує RAID-Z.

    Щоб показати, як легко додати більше дисків до нашого сховища, додамо інші три диски (ще 9 ТБ) до нашого пулу зберігання geek1 як іншу конфігурацію RAID-Z:

    $ sudo zpool додати -f geek1 raidz / dev / sde / dev / sdf / dev / sdg

    Ми отримуємо:

    Сага продовжується ...

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