CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
28.04.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Заметки :: Файловые системы

ZFS: руководство по быстрому старту

Это, конечно, здорово, что поддержка ZFS ныне включена дерево исходников, но что теперь с ней делать? Ниже вы найдете некоторые инструкции, как быстро подключить и запустить ее.

Прежде всего, вам потребуются некоторые диски. Предполим, что у вас имеется три запасных диска SCSI: da0, da1, da2.

Добавьте к вашему /etc/rc.conf такую строку, чтобы запускать ZFS автоматически при начальной загрузке:

# echo 'zfs_enable="YES"' >> /etc/rc.conf

Теперь установите один пул, использующий RAIDZ:

# zpool create tank raidz da0 da1 da2 

Это должно автоматически смонтировать вам /tank/.

Хорошо, теперь мы хотим поместить каталог /usr/ на ZFS и использовать ее изящество в размещении файловых систем. Я знаю, что у вас, вероятно, там уже имеются некоторые файлы, так что мы будем работать с каталогом /tank/usr и только когда все будет готово, мы изменим его точку монтирования на /usr.

# zfs create tank/usr 

Создаем (внутри /usr) файловую систему ports/ и разрешите gzip-компрессию на ней, поскольку в ней имеются только текстовые файлы. С другой стороны, мы не хотим компрессировать содержимое ports/distfiles/, потому что большинство файлов в этом каталоге уже сжато (поэтому выделяем его в отдельную файловую систему):

# zfs create tank/usr/ports 
# zfs set compression=gzip tank/usr/ports
# zfs create tank/usr/ports/distfiles
# zfs set compression=off tank/usr/ports/distfiles 

Вы действительно видите, как ваша жизнь изменяется, не так ли ?:).

Давайте создаим файловую систему для домашних каталогов пользователей и мою собственную файловую систему - home/pjd/. Я помню, что мы используем RAIDZ, но в свой каталог я помещаю чрезвычайно важный материал. Поэтому я устанавливаю, что каждый ее блок должен быть сохранен в трех копиях:

# zfs create tank/usr/home 
# zfs create tank/usr/home/pjd
# zfs create tank/usr/home/pjd/important
# zfs set copies=3 tank/usr/home/pjd/important

Я хотел бы иметь каталог с музыкой и тому подобным контентом, который можно было бы сделать доступным по сети чере NFS. Я не очень вознуюсь за сохранность этого контента, и мой компьютер не очень быстр, так что я только выключу вычисление контрольной суммы. Это - только пример такой возможности! Пожалуйста, измерьте быстродействие перед тем, как это делать, потому что возможно, что в вашем случае это ничего не даст (и ненужно):

# zfs create tank/music 
# zfs set checksum=off tank/music
# zfs set sharenfs=on tank/music

О, я совсем забыл. Кому нынче нужно обновление времени доступа к файлам?

# zfs set atime=off tank 

Да, мы устанавливаем это для всей файловой системы tank, и этот атрибут будет автоматически унаследован вложенными в нее файловыми системами. Было бы также хорошо получать информацию, все ли в порядке с нашим пулом:

# echo 'daily_status_zfs_enable="YES"' >> /etc/periodic.conf 

Возможно, по некоторым причинам вы все еще нуждаетесь в файловой системе UFS, например если вы используете ACLs или расширенные атрибуты файлов, которые пока не поддерживаются файловой системой ZFS. Если так, почему не только используют ZFS, чтобы обеспечить память? Вот способ, которым можно получить снапшоты UFS, клоны UFS, и т.д., просто используя ZVOLs.

# zfs create -V 10g tank/ufs 
# newfs /dev/zvol/tank/ufs
# mount /dev/zvol/tank/ufs /ufs

# zfs snapshot tank/ufs@20070406
# mount -r /dev/zvol/tank/ufs@20070406 /ufs20070406

# zfs clone tank/ufs@20070406 tank/ufsok
# fsck_ffs -p /dev/zvol/tank/ufsok
# mount /dev/zvol/tank/ufsok /ufsok

Хотите применить шифрование swap-раздела и, тем не менее, использовать ZFS? Нет ничего проще, однако:

ПРЕДУПРЕЖДЕНИЕ: То, как реализована ZFS в настоящее время (точно так же, как в Solaris), она не может работать при небольших объемах памяти. То есть в настоящее время вы действительно нуждаетесь в пространстве подкачки. См. http://lists.freebsd.org/pipermail/freebsd-current/2007-September/076831.html для получения более подробных сведений.

# zfs create -V 4g tank/swap 
# geli onetime -s 4096 /dev/zvol/tank/swap
# swapon /dev/zvol/tank/swap.eli

Пытаетесь сделать кое-что рискованное с вашим домашним каталогом? Сначала сделайте его снапшот!

# zfs snapshot tank/home/pjd@justincase 

Оказывается, что это было скорее ненужно, чем опасно? Возвращаемся обратно к снапшоту!

# zfs rollback tank/home/pjd@justincase 
# zfs destroy tank/home/pjd@justincase 

Отлично, все работает, так что мы можем смонтировать tank/usr как наш реальный каталог /usr:

# zfs set mountpoint=/usr tank/usr 

Не забудьте прочитать man-страницы zfs (8) и zpool (8), а также Sun'овское Руководство по администрированию ZFS.





Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds