пʼятниця, 12 жовтня 2012 р.

ZFS в Ubuntu

ZFS (Zettabyte File System) — это файловая система и одновременно менеджер логических томов. Была создана в Sun Microsystems для операционной системы Solaris и принадлежит сейчас Oracle. ZFS является проектом с открытым исходным кодом и лицензируется под CDDL (Common Development and Distribution License) из-за которой возникли проблемы с быстрым появлением ZFS в Linux. В Linux перенос ZFS на уровень ядра считался юридически невозможным из-за несовместимости лицензий CDDL, под юрисдикцией которой находится ZFS, и GNU GPL, под юрисдикцией которой находится Linux.

В мае 2010 года Брайан Белендорф (Brian Behlendorf) представил проект, в рамках которого ведется работа по реализации родной поддержки файловой системы ZFS для Linux. Для обхода лицензионного ограничения Белендорф воспользовался простым и очевидным методом — он решил распространять свой продукт целиком под лицензией CDDL в виде отдельно загружаемого модуля, который поставляется отдельно от ядра.

До этого ZFS запускали через FUSE, которая работает в пространстве пользователя, а это медленно для систем хранения.

Для чего нужен ZFS пользователям дома?

Упрощается создание для дома программных RAID массивов для хранения огромных медиа хранилищ. Ранее можно было создавать массивы через менеджера томов LVM и собственно файловых систем типа ext4. С ZFS, которая и менеджер томов и файловая система, то есть 2 в 1, знать нужно только команды ZFS.

Можно создать папку не средствами файлового менеджера, а с помощью самой zfs и указать на важность данных в папке и zfs будет хранить данные в нескольких местах, дублируя информацию.

zfs create zfs-brovko_rs/important
zfs set copies=3 zfs-brovko_rs/important

Для папок с не критичными, огромными медиа файлами можно отключить определённые технологии, типа контрольных сумм, и чуток ускорить работу с такими данными. Но разработчики настоятельно просят этого не делать, так как это мало что ускорит, по их словам, а выключатся некоторые вкусные плюшки в ZFS типа scrubbing. Благодаря контрольным суммам, ZFS может всегда сказать есть ли повреждения в данных на диске, особенно в редкоиспользуемых местах (cold data).

zfs create zfs-brovko_rs/music
zfs set checksum=off zfs-brovko_rs/music

У ZFS очень много плюсов и каждый найдёт себе наиболее нужное.

Как получить ZFS в Ubuntu?
На данный момент, пакет ubuntu-zfs позволит получить доступ к zpool версия 28 и zfs версия 5.

Потренируйтесь сначала в виртуальных машинах и получите опыт работы с возможностями ZFS. Мы создадим RAIDZ, способного к самовосстановлению.

1) Установите Ubuntu.
2) Подсоедините еще 2 диска для тестирования одной из разновидностей RAID.
3) Разбейте диски на разделы. 1 диск = 1 раздел. Можете использовать cfdisk или любой на ваш вкус. Далее по тексту будем считать, что у вас получатся два раздела /dev/sdb1 и /dev/sdc1
4) Обновите систему

sudo apt-get update && sudo apt-get upgrade
.
5) Установите пакеты
sudo apt-get install python-software-properties bison flex build-essential libelf-dev zlib1g-dev libc6-dev-i386 libdwarf-dev binutils-dev

6) Добавьте zfs-native репозиторий
sudo add-apt-repository ppa:zfs-native/stable

7) Установите ubuntu-zfs
sudo apt-get update && sudo apt-get install ubuntu-zfs

9) Создайте новый пул zpool через
sudo zpool create zfs-brovko_rs raidz /dev/sdb1 /dev/sdc1
. Здесь, “zpool create” даёт имя “zfs-brovko_rs” и указывает использовать raidz. Два диска “/dev/sdb1 /dev/sdc1” будут частью пула.
10) Проверьте ваш новый пул zpool
sudo zpool status

11) Проверьте zfs-brovko_rs через команду
sudo zfs list

12) Посмотрите что вы наблюдаете через
df -h

13) Изучайте возможности ZFS и реализуйте свои задумки.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments