Установка FreeBSD для ZFSguru.3

Создание пула ZFS.

Теперь создаем свой пул ZFS:

#zpool create tank raidz label/disk{1..4}

 

Это позволит создать RAID-Z или RAID5 массив из 4 дисков под названием «танк». Обратите внимание на {1 .. 4} в конце, это короткий способ для записи:

#zpool create tank raidz label/disk1 label/disk2 label/disk3 label/disk4

Таким образом, эти две команды создают одно и то же; выполните только одну из них.

Теперь проверим статус нашего массива:

#zpool status tank

 

Точка монтирования и  сжатие.

Было бы полезно,  переместить некоторые части вашей системы на ZFS массив, чтобы вы могли использовать сжатие.  Для примера: /usr/ports/ и /usr/src каталоги являются хорошими  примерами для этого, так  как в них находится  большое количество  текстовых файлов, которые сжимаются. Но как  переместить /usr/ports  и  /usr/src на ZFS? 

Данный пример показывает, как:

#mv /usr/ports /usr/TEMPports

#mv /usr/src /usr/TEMPsrc

#zfs create tank/usr

#zfs create tank/usr/ports

#zfs create tank/usr/src

#zfs set mountpoint=/usr/ports tank/usr/ports

#zfs set mountpoint=/usr/src tank/usr/src

#zfs set compression=gzip-9 tank/usr

#mv /usr/TEMPports/* /usr/ports/

#mv /usr/TEMPsrc/* /usr/src/

#rmdir /usr/TEMPports /usr/TEMPsrc

 

Давайте посмотрим, что мы сделали. Сначала мы переименовали существующие директории  /usr/src и /usr/ports.  Создали новую файловую систему на ZFS массиве, Затем подмонтировали файловую систему ZFS  к   /usr/src и /usr/ports директориям. Разрешили  высокий уровень сжатия на  каталог tank/usr,  (также влияющим на наши порты и SRC файловых систем), а затем перенесли все данные из файловой системы UFS в файловую систему ZFS.  И только потом удалили временные каталоги. Теперь ваши каталоги  /usr/src and /usr/ports на ZFS, и  вы можете проверить степень сжатия командой:

#zfs get compressratio tank/usr

 

ZVOLs

ZVOLs файлы в файловой системе ZFS, которые используются  как виртуальные жесткие диски. Таким образом, вы можете создать 8GB ZVOL на файловой системе и использовать его  в качестве отдельного жесткого диска. Это полезно, если вы хотите использовать ISCSI на ZFS поддерживаемых файловых системах, что позволяет вам делать ISCSI снимки и выполнять другие полезные функции, связанные с ZFS.

Проиллюстрируем это:

#zfs create -V 10g tank/image0

#diskinfo -v /dev/zvol/tank/image0

 

Мы  создали 10GB виртуальный жесткий диск, названный image0, и можем установить его как  target для нашего istgt-демона, который обрабатывает ISCSI запросы.

 

NFS

Для использования NFS, вы должны иметь запись

 zfs_enable = «YES»

в  файле /etc/rc.conf, пока что модуля ядра под  ZFS не существует.   Кроме того, необходимы соответствующие записи по настройке NFS в этом же файле, чтобы настроить работу с ZFS. 

Настройка обмена через NFS очень проста:

#zfs create tank/public

#zfs sharenfs=»on» tank/public

#zfs create tank/protected

#zfs sharenfs=»-network 10.0.0.0 -mask 255.255.255.0″ tank/protected

#zfs create tank/private

#zfs sharenfs=»-network 10.0.0.67 -mask 255.255.255.255″ tank/private

 

Этот пример создает три файловые системы и разрешает их использование с помощью NFS. Первая из них называется «public» и доступна каждому в сети, даже интернет.

 Вторая называется » protected »  и  доступна только для вашей локальной сети с  IP-адресов 10.0.0.0-10.0.0.255. 

Третий и последний пример создает «private» NFS и доступна только с адреса 10.0.0.67 в вашей локальной сети. Обратите внимание, что эти адреса можно подделать. Реальная безопасность может быть обеспечена с помощью брандмауэра, такого как PF.

 

Samba

Чтобы включить SMB / CIFS доступ к файловой системе ZFS, для того, чтобы  Windows клиенты могли получить к ней доступ, необходимо сначала  установить Samba:

 

#usr/ports/net/samba34

#make install clean

  

После установки убедитесь, что

samba_enable = «YES»

присутствует в /etc/rc.conf.

 Далее займемся  файлом конфигурации smb.conf:

 #ee /usr/local/etc/smb.conf

 

Я предпочитаю, написать   файл с нуля и предоставляю его Вам.

 

#================= Global Settings ============================

[global]

 

   workgroup = WORKGROUP

   server string = Samba Server

   security = user

;   hosts allow = 192.168.1. 192.168.2. 127.

;   interfaces = 192.168.12.2/24 192.168.13.2/24

 

   load printers = no

   guest account = nobody

   log file = /var/log/samba/log.%m

   log level = 2

   max log size = 50

   hide dot files = yes

;   passdb backend = tdbsam

   socket options = TCP_NODELAY SO_RCVBUF=131072 SO_SNDBUF=65536

   use sendfile = yes

   strict locking = no

   follow symlinks = yes

   wide symlinks = yes

   unix extensions = no

 

# Charset settings

 

;   display charset = koi8-r

;   unix charset = koi8-r

;   dos charset = cp866

 

 

# Use extended attributes to store file modes

 

;    store dos attributes = yes

;    map hidden = no

;    map system = no

;    map archive = no

#============================ Share Definitions============

[samba]

path=/tank

browseable = yes

writable = yes

valid users = nfs

create mask = 0660

directory mask = 0770

 

Теперь запустите демон Samba (Smbd и nmbd) вручную:

#/usr/local/etc/rc.d/samba start

 

Проверьте, что он запущен:

#ps auxw | grep smbd | grep -v grep

 

Разрешения

Последнее, что  мы должны сделать – настроить разрешения. 

Если вы хотите  разрешить доступ как по NFS так и по Samba / CIFS доступ к одной и той же файловой системе, вам лучше позволить им использовать те же самые имена.

NFS  ID пользователя определяется на стороне клиента. То есть, если Ubuntu клиент соединяется  по NFS с сервером, он будет использовать свое собственное имя пользователя с UID 1000 до доступа и записи файлов. Таким образом, на сервере FreeBSD необходимо создать нового пользователя с UID 1000 назвав его  «NFS». Он будет  использоваться как для NFS так и  Samba доступа.

 Идем дальше и создаем пользователя:

 

#pw useradd nfs

 Необходимо отредактировать файл пароля и изменить идентификатор нашего вновь созданного «NFS» пользователя  на 1000:

#export EDITOR=ee

#vipw

 Отредактируем файл группы и изменим идентификатор группы «NFS» на 1000:

#ee /etc/group

 Далее пользователя и группу «nfs» делаем собственниками на /tank:

#chown -R nfs:nfs /tank

Это должно обеспечить  надлежащий доступ без всяких ошибок со  стороны клиента. 

Если Samba работает, добавьте вновь созданного пользователя в конфигурацию Samba, и создайте  ему пароль:

# smbpasswd -a nfs

Обратите внимание, что вы можете создать больше пользователей, но  пользователь, прописанный в  файле smb.conf,  должен иметь разрешение на реальные файлы. Просмотрите на журналы, содержащиеся в /var/log/samba34, если возникнут проблемы.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *