В нашем распоряжение есть FreeNAS (на базе FreeBSD) хранилище с поднятым сервисом по предоставлению iSCSI диска, iSCSI – это блочный доступ к ресурсам хранения по сети.
При доступе по iSCSI сервера работают с томами данных так, как если бы они были подключены к ним напрямую или по сети хранения.
а также основная система Ubuntu 10.10:
keiz@vkeiz:~$ lsb_release -a && uname -a
Distributor ID: Ubuntu
Description: Ubuntu 10.10
Release: 10.10
Codename: maverick
Linux vkeiz 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux
Я распишу во всех подробностях процесс подключения FreeNAS сервера к системе.
Предварительно следует настроить файл /etc/hosts и /etc/resolv.conf:
keiz@vkeiz:~$ sudo nano /etc/resolv.conf
10.0.2.18 vkeiz vkeiz.polygon.local
10.0.2.15 dc1 dc1.polygon.local
10.0.2.30 freenas freenas.polygon.local
keiz@vkeiz:~$ sudo nano /etc/resolv.conf
nameserver 10.0.2.15
domain polygon.local
search polygon.local
Проверим наличие пакетов (open-iscsi и open-iscsi-utils) которые будут инициилизировать подключение к FreeNAS серверу в репозитариях Ubuntu 10.10:
keiz@vkeiz:~$ apt-cache search open-iscsi
open-iscsi – High performance, transport independent iSCSI implementation
open-iscsi-utils – iSCSI initiatior administrative utility
Устанавливаем в систему данные пакеты:
keiz@vkeiz:~$ sudo apt-get install open-iscsi open-iscsi-utils
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following NEW packages will be installed:
open-iscsi open-iscsi-utils
0 upgraded, 2 newly installed, 0 to remove and 383 not upgraded.
Need to get 617kB of archives.
After this operation, 1,536kB of additional disk space will be used.
Get:1 http://ru.archive.ubuntu.com/ubuntu/ maverick/main open-iscsi-utils i386 2.0.871-0ubuntu5 [98.0kB]
Get:2 http://ru.archive.ubuntu.com/ubuntu/ maverick/main open-iscsi i386 2.0.871-0ubuntu5 [519kB]
Fetched 617kB in 0s (2,033kB/s)
Selecting previously deselected package open-iscsi-utils.
(Reading database … 118583 files and directories currently installed.)
Unpacking open-iscsi-utils (from …/open-iscsi-utils_2.0.871-0ubuntu5_i386.deb) …
Selecting previously deselected package open-iscsi.
Unpacking open-iscsi (from …/open-iscsi_2.0.871-0ubuntu5_i386.deb) …
Processing triggers for man-db …
Processing triggers for ureadahead …
ureadahead will be reprofiled on next reboot
Setting up open-iscsi-utils (2.0.871-0ubuntu5) …
Setting up open-iscsi (2.0.871-0ubuntu5) …
update-rc.d: warning: open-iscsi stop runlevel arguments (0 1 6) do not match LSB Default-Stop values (0 6)
* Starting iSCSI initiator service iscsid [ OK ]
* Setting up iSCSI targets [ OK ]
Теперь нам нужно настроить конфигурационный файл, отвечающий за авторизацию на нашем FreeNAS сервере:
keiz@vkeiz:~$ sudo cp /etc/iscsi/iscsid.conf /etc/iscsi/iscsid.conf.backup
keiz@vkeiz:~$ sudo nano /etc/iscsi/iscsid.conf
node.startup = automatic
node.session.auth.username = user_iscsi
node.session.auth.password = Aa1234567
discovery.sendtargets.auth.username = user_iscsi
discovery.sendtargets.auth.password = Bb1234567
Сохраняем файл (Ctrl + O) и закрываем (Ctrl + X), далее перезапускаем open-iscsi сервис:
keiz@vkeiz:~$ sudo invoke-rc.d open-iscsi restart
* Disconnecting iSCSI targets [ OK ]
* Stopping iSCSI initiator service [ OK ]
* Starting iSCSI initiator service iscsid [ OK ]
* Setting up iSCSI targets [ OK ]
Опросим наш FreeNAS сервер на предмет наличия дисковых ресурсов:
keiz@vkeiz:~$ sudo iscsiadm -m discovery -t sendtargets -p 10.0.2.30:3260
iscsiadm: Login failed to authenticate with target
iscsiadm: discovery login to 10.0.2.30 rejected: initiator error (02/01), non-retryable, giving up
iscsiadm: Could not perform SendTargets discovery.
, где
-m: определяет режим, в котором работает iscsiadm.
-t: определяет тип поиска.
-p: опция, определяющая IP адрес целевого объекта.
Как видим ошибки, чтобы устранить эту ошибку, нужно: открыть файл st_config:
keiz@vkeiz:~$ sudo -s
[sudo] password for keiz:
root@vkeiz:~# nano /etc/iscsi/send_targets/10.0.2.30,3260/st_config
и в параметре прописать в параметре: discovery.sendtargets.auth.password = Aa1234567
после перезапускаем сервис:
keiz@vkeiz:~$ sudo /etc/init.d/open-iscsi restart
* Disconnecting iSCSI targets [ OK ]
* Stopping iSCSI initiator service [ OK ]
* Starting iSCSI initiator service iscsid [ OK ]
* Setting up iSCSI targets
Теперь выполним обнаружение целей iSCSI на конкретном хосте (в данном случае FreeNAS системе), например, 10.0.2.30 с портом по умолчанию 3260:
keiz@vkeiz:~$ sudo iscsiadm -m discovery -t st -p 10.0.2.30 -t st
10.0.2.30:3260,1 iqn.2011-03.freenas.polygon.local:2 – в моём случае 5Gb
10.0.2.30:3260,1 iqn.2011-03.freenas.polygon.local:1 – в моём случае 2Gb
Как можно наблюдать выше, обнаружены 2 цели, я буду рассматривать цель № 2
Подключим в нашу систему цель №2:
keiz@vkeiz:~$ sudo iscsiadm –mode node –targetname iqn.2011-03.freenas.polygon.local:2 10.0.2.30 –login
Logging in to [iface: default, target: iqn.2011-03.freenas.polygon.local:2, portal: 10.0.2.30,3260]
Login to [iface: default, target: iqn.2011-03.freenas.polygon.local:2, portal: 10.0.2.30,3260]: successful
Для отключение от нашей системы цели №2:
keiz@vkeiz:~$ sudo iscsiadm –mode node –targetname iqn.2011-03.freenas.polygon.local:2 10.0.2.30 –logout
Logging out of session [sid: 1, target: iqn.2011-03.freenas.polygon.local:2, portal: 10.0.2.30,3260]
Logout of [sid: 1, target: iqn.2011-03.freenas.polygon.local:2, portal: 10.0.2.30,3260]: successful
Смотрим имя устройства которое было подключено в систему посредством чтения логов /var/log/messages:
keiz@vkeiz:~$ sudo tail -f /var/log/messages | grep “Attached SCSI disk”
Dec 13 15:35:26 vkeiz kernel: [ 4660.512026] sd 4:0:0:0: [sdb] Attached SCSI disk
^C
Разметим устройство /dev/sdb, отформатируем и под монтируем:
keiz@vkeiz:~$ sudo fdisk /dev/sdb1
набираем: d, n, p, 1, <Enter>, +4G, t, 83, w.
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
Пройдемся утилитой partprobe:
keiz@vkeiz:~$ sudo partprobe /dev/sdb
Форматируем под файловую систему ext3:
keiz@vkeiz:~$ sudo mkfs -t ext3 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
/dev/sdb1 alignment is offset by 2048 bytes.
This may result in very poor performance, (re)-partitioning suggested.
warning: 8 blocks unused.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=256 blocks
262656 inodes, 1048576 blocks
52429 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (32768 blocks):
done
Writing superblocks and filesystem accounting information:
done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Создадим каталог и подмонтируем размеченный диск в систему:
keiz@vkeiz:~$ sudo mkdir /media/free
keiz@vkeiz:~$ sudo mount -t ext3 /dev/sdb1 /media/free
keiz@vkeiz:~$ sudo chown keiz:root /media/free
Для того что бы, при перезагрузки системы с Ubuntu 10.10 автоматически подключался iSCSI диск, нужно в файл
keiz@vkeiz:~$ sudo nano /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2011-03.freenas.polygon.local:2
Вот собственно и весь процесс подключения FreeNAS хранилища в систему Ubuntu 10.10.