Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

Домашняя Программы под FreeBSD Установка FreeBSD для ZFSguru.3

Установка 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, если возникнут проблемы.