Но что делать если нет денег на HP EVA, NetApp и даже на Starwind iSCSI? Спасут старые добрые пингвины и старенький, уже слабый, но все еще исправно работающий сервер.
Итак, берем сервер, очень желательно с аппаратным RAID и обязательно с гигабитной сетью, и набиваем его дисками. Программная часть: CentOS, iSCSI Enterprise Target и/или стандартный NFS сервер, идущий в комплекте с CentOS. Я взял дистрибутив, бывший под рукой, CentOS 5.3 32bit.
Я рекомендую сделать два отдельных LUN'а для системы и для данных, или даже использовать для этого отдельные физические диски. В моем примере это будут /dev/sda для системы и /dev/sdb для данных.
Ставим CentOS с установками по умолчанию, примерно 20-25 минут. Настройку сети, DNS и прочего опустим.
Итак, начнем с конфигурации iSCSI. Для этого берем последнюю версию IET здесь.
Перед установкой IET необходимо установить еще несколько пакетов:
[root@iscsi-tgt ~]# cd /media/CentOS_5.3_Final/CentOS/А теперь сам IET:
[root@iscsi-tgt CentOS]# rpm -i gcc-4.1.2-44.el5.i386.rpm glibc-devel-2.5-34.i386.rpm libgomp-4.3.2-7.el5.i386.rpm glibc-headers-2.5-34.i386.rpm kernel-headers-2.6.18-128.el5.i386.rpm kernel-devel-2.6.18-128.el5.i686.rpm
[root@iscsi-tgt CentOS]# cd ~Добавим в /etc/iet/ietd.conf конфигурацию таргета:
[root@iscsi-tgt ~]# tar -zxf iscsitarget-1.4.20.1.tar.gz
[root@iscsi-tgt ~]# cd iscsitarget-1.4.20.1
[root@iscsi-tgt iscsitarget-1.4.20.1]# make && make install
Target iqn.2001-04.com.example:storage.disk1.sys1.xyzВ файле /etc/iet/initiators.allow прописываем разрешения для ESX по доступу к созданному нами таргету и комментируем "разрешить всем все".
Lun 0 Path=/dev/sdb,Type=blockio,ScsiId=xyz,ScsiSN=xyz
iqn.2001-04.com.example:storage.disk1.sys1.xyz iqn\.1998-01\.com\.vmware:esx2-0b63920f - пример моего ESXНастал момент истины:
#ALL ALL
[root@iscsi-tgt ~]# service iscsi-target restartДобавляем iSCSI таргет на ESX:
Делаем Rescan для iSCSI HBA и должен появиться наш диск:
Дальше создаем VMFS Datastore обычным способом :)
И не забываем добавить IET в автостарт:
[root@iscsi-tgt ~]# chkconfig --add iscsi-target***
[root@iscsi-tgt ~]# chkconfig --level 3 iscsi-target on
Но если мы хотим не VMFS, а NFS по какой-то причине? Еще проще, даже ничего не надо ставить дополнительно. Для примера я использую тот же самый диск /dev/sdb.
Разметим диск:
Создадим на нем файловую систему и смонтируем:
[root@iscsi-tgt /]# mkfs.ext3 /dev/sdb1Добавим новую файловую систему в /etc/fstab:
[root@iscsi-tgt etc]# mkdir -p /datastores/datastore1
[root@iscsi-tgt etc]# mount /dev/sdb1 /datastores/datastore1/
/dev/sdb1 /datastore/datastore1 ext3 defaults 0 0И откроем к ней доступ по NFS в файле /etc/exports:
/datastores/datastore1 esx1(rw) esx2(rw) esx3(rw)Осталось лишь запустить NFS сервер.
[root@iscsi-tgt etc]# service nfs startДобавим новый Datastore на ESX:
[root@iscsi-tgt etc]# exportfs -a
Поскольку NFS идет в комплекте CentOS, в автостарт сервис можно добавить при помощи утилиты:
[root@iscsi-tgt ~]# setupВыбираем "System services":





18 коммент.: