Главная Virtualization, Без рубрики Дешевое разделяемое хранилище для ESX
  • Дешевое разделяемое хранилище для ESX

    Для полноценной работы почти всего функционала ESX, кроме непосредственного запуска виртуальных машин, требуется shared storage, разделяемое хранилище. Для HA и VMotion, и того, что с ними связано – DRS, Fault Tolerance.

    Но что делать если нет денег на 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/
    [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

    А теперь сам IET:

    [root@iscsi-tgt CentOS]# cd ~
    [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

    Добавим в /etc/iet/ietd.conf конфигурацию таргета:

    Target iqn.2001-04.com.example:storage.disk1.sys1.xyz
    Lun 0 Path=/dev/sdb,Type=blockio,ScsiId=xyz,ScsiSN=xyz

    В файле /etc/iet/initiators.allow прописываем разрешения для ESX по доступу к созданному нами таргету и комментируем “разрешить всем все”.

    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
    [root@iscsi-tgt etc]# mkdir -p /datastores/datastore1
    [root@iscsi-tgt etc]# mount /dev/sdb1 /datastores/datastore1/

    Добавим новую файловую систему в /etc/fstab:

    /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
    [root@iscsi-tgt etc]# exportfs -a

    Добавим новый Datastore на ESX:

    Поскольку NFS идет в комплекте CentOS, в автостарт сервис можно добавить при помощи утилиты:

    [root@iscsi-tgt ~]# setup

    Выбираем “System services”:

    Антон Жбанков

Комментарии

  1. А чем хуже использование Freenas ?

  2. Можно и FreeNAS, и OpenFiler. Это один из вариантов.

  3. Легким движением make install центос превращается… в элегантную слакварь 🙂
    Неправильно это. RPM бы сделать.