ZFSin: работаем с ZFS нативно под Windows

image


Делая поиск на Хабру по слову ZFS, я обнаружил почти полсотни статей так или иначе упоминающих замечательную файловую систему c таким именем. Отдельно, к примеру, можно упомянуть достадочно свежие материалы «ZFS on Linux: вести с полей 2017» и «ZFS — лучшая файловая система (пока)». Делал этот поисковый запрос я вот почему…

Уже более 7 лет люди задаются вопросом, «как получить доступ к ZFS из Windows?». И приблизительно 6 лет вменяемого и практичного ответа на этот вопрос не существовало. Речь даже не о производительности, сама возможность хотя бы нативно читать данные в Windows из томов отформатированных под файловую систему ZFS будоражит мозг многих технарей и сисадминов. И вот однажды один энтузиаст решил изменить унылое положение дел c отсутствиеем поддержки ZFS в самой популярной потребительской десктопной ОС. Странно только, что за год эта новость до сих пор не добралась до Хабра. Думаю, стоит это исправить.

И так встречайте — ZFSin, нативный полнофункциональный драйвер файловой системы ZFS для Windows. Драйвер находится в альфа-стадии и не подходит для продакшн-окружений, но уже многое умеет.
Когда проект драйвера был только опубликован на GitHub, было еще не понятно, насколько серьезны намерения разработчика, и как далеко он готов зайти в развитии возможностей драйвера. Первоначально драйвер распространялся только в виде исходных текстов и годился только для отладочных экспериментов. Для этого автор предлагал скачать и запустить две виртуальные машины, в одной из которых происходила компиляция и деплоемент драйвера во вторую — тестовую (целевую) виртуальную машину с тестовым пулом ZFS.

Текущий прогресс по функционалу драйвера на момент конца мая 2018:

image

Теперь же, по прошествии года после первоначальной публикации, разработчик продемонстрировал намерения развивать проект, функциональность драйвера была расширена, стабильность возросла, поэтому появилась возможность распространения в драйвера виде бинарных сборок. Хотя это не указано прямо, на данный момент бинарные сборки ZFSin совместимы только с Windows 10×64, однако недавно в исходные коды была возвращена возможность генерации 32-разрядных билдов, а автор не исключил возможности добавления поддержки более старых версий Windows.

Установка бинарного релиза:

  1. Скачайте и распакуйте свежий релиз драйвера
  2. Отключите проверку цифровой подписи драйверов, (например так bcdedit.exe -set testsigning on) и перезагрузитесь
  3. Запустите CMD с правами Администраиора
  4. Выполните ZFSinstall.bat
  5. Выберите «продолжить установку все равно» во всплывающем окне «неизвестный издатель»
  6. Выполните команду «zpool.exe status» для проверки статуса драйвера


Если установка успешна, то после последнего пункта вы увидите сообщение »No pools available», если же произойдет ошибка, то сообщение будет »Unable to open \\.\ZFS: No error.»

Командный синтаксис драйвера в основном соотвествует таковому из документации к Open ZFS. Из соображений совместимости следует использовать нечувствительный к регистру символов режим файловой системы.

# zpool create [options] tank disk
- создать пул из одного диска

# zpool create [options] tank mirror disk1 disk2
— создать зеркальный пул («raid1»)

# zpool create [options] tank raidz disk1 disk2 disk3 … diskn
— создать raidz («raid5»)пул из нескольких дисков

zpool create -O casesensitivity=insensitive -O compression=lz4 -O atime=off -o ashift=12 tank disk
— пример рекомендуемой команды создания пула под Windows

Очень хотелось бы привлечь к этому проекту больше внимания других программистов, чего проект безусловно заслуживает. Разработчик драйвера ZFSin будет очень рад вашим баг-репортам, пул-реквестам, ну или на худой конец, звездочкам, которые вы отправите в его репозиторий на GitHub.

© Habrahabr.ru