• ISCSI w CentOS 6

    dodany przez Przemysław Sikora

    Ilość danych przechowywanych na różnych nośnikach danych ciągle rośnie, a miejsce wcale nie jest tanie, szczególnie teraz po powodzi. Ciekawym i tanim do wdrożenia rozwiązaniem jest icsci. Opis na Wikipedii jest dobry, więc zacytuję: “technika umożliwiająca wykonywanie operacji wejścia-wyjścia na dysku twardym odległej maszyny za pomocą protokołu TCP/IP”. Przystąpmy do instalacji. Potrzebny jest pakiet iscsi-initiator-utils (znajduje się on w bazowym repozytorium)

    yum install iscsi-initiator-utils

    Następnie wydajemy komendę:

    iscsiadm –mode discoverydb –type sendtargets –portal adres_ip_serwera_isci –discover

    W jego wyniku powinniśmy otrzymać coś takiego:
    adres_ip_serwera_isci:port,1 iqn.2004-04.com.qnap:ts-412:iscsi.aa.cbf114
    Idźmy dalej. Wydajemy komendę:

    iscsiadm –mode node –targetname iqn.2004-04.com.qnap:ts-412:iscsi.aa.cbf114 –portal adres_ip_serwera_isci:port –login

    Jeśli wszystko przebiegło prawidłowo, powinniśmy otrzymać następujący komunikat:
    Logging in to [iface: default, target: iqn.2004-04.com.qnap:ts-412:iscsi.aa.cbf114, portal: adres_ip_serwera_isci,port]
    Login to [iface: default, target: iqn.2004-04.com.qnap:ts-412:iscsi.aa.cbf114, portal: adres_ip_serwera_isci,port] successful.

    Teraz czas dowiedzieć się jak został nazwany nasz nowy dysk. Aby tego dokonać, najprościej wydać polecenie “dmesg”, w wyniku którego powinniśmy otrzymać coś takiego:
    scsi0 : iSCSI Initiator over TCP/IP
    Vendor: QNAP Model: iSCSI Storage Rev: 3.1
    Type: Direct-Access ANSI SCSI revision: 05
    scsi 0:0:0:0: Attached scsi generic sg0 type 0
    SCSI device sda: 878706688 512-byte hdwr sectors (449898 MB)
    sda: Write Protect is off
    sda: Mode Sense: 2f 00 00 00
    SCSI device sda: drive cache: write through
    SCSI device sda: 878706688 512-byte hdwr sectors (449898 MB)
    sda: Write Protect is off
    sda: Mode Sense: 2f 00 00 00
    SCSI device sda: drive cache: write through
    sda: unknown partition table
    sd 0:0:0:0: Attached scsi disk sda

    Widzimy, że dysk podmontowany po iscsi nosi nazwę “sda”. Teraz utwórzmy na nim tablicę partycji.

    fdisk -cu /dev/sda

    Powinniśmy zobaczyć coś podobnego do tego:
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    Building a new DOS disklabel. Changes will remain in memory only,
    until you decide to write them. After that, of course, the previous
    content won't be recoverable.

    The number of cylinders for this disk is set to 54696.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

    Command (m for help):
    Wpisujemy “p” i widzimy listę partycji na tym dysku iscsi, a właściwie jej brak:
    Disk /dev/sda: 449.8 GB, 449897824256 bytes
    255 heads, 63 sectors/track, 54696 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System

    Wpisujemy “n”, co oznacza dodawanie nowej partycji. Otrzymamy możliwość wyboru, pomiędzy partycją główną, a rozszerzoną:
    Command action
    e extended
    p primary partition (1-4)

    Wybieramy główną – “p”. Następnie wybieramy numer partycji:
    Partition number (1-4):
    W naszym przypadku będzie to pierwsza partycja – “1”. Następnie ustawiamy pierwszy cylinder.
    First cylinder (1-54696, default 1):
    Nic nie zmieniamy i naciskamy /enter/. Otrzymujemy potwierdzenie naszego wyboru:
    Using default value 1
    Teraz czas na ustawienie ostatniego cylindra, a właściwie wielkości partycji.
    Last cylinder or +size or +sizeM or +sizeK (1-54696, default 54696):
    Nic nie wpisujemy, bo chcemy zająć całą dostępną przestrzeń. Otrzymujemy potwierdzenie:
    Using default value 54696
    Wpisujemy “p” i widzimy listę partycji na tym dysku iscsi:
    Disk /dev/sda: 449.8 GB, 449897824256 bytes
    255 heads, 63 sectors/track, 54696 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes

    Device Boot Start End Blocks Id System
    /dev/sda1 1 54696 439345588+ 83 Linux

    Następnie naciskamy “w”, aby zapisać tablicę partycji na dysku. Kiedy mamy już partycję, czas utworzyć na niej jakiś system plików, np; xfs.

    mkfs.xfs /dev/sda1

    Otrzymamy:
    meta-data=/dev/sda1 isize=256 agcount=16, agsize=6864774 blks
    = sectsz=512 attr=0
    data = bsize=4096 blocks=109836384, imaxpct=25
    = sunit=0 swidth=0 blks, unwritten=1
    naming =version 2 bsize=4096
    log =internal log bsize=4096 blocks=32768, version=1
    = sectsz=512 sunit=0 blks, lazy-count=0
    realtime =none extsz=4096 blocks=0, rtextents=0

    Czas podmontować nową partycję, np. jako “/mnt/iscsi”. Oczywiście wspomniany katalog musi istnieć. Następnie:

    mount /dev/sda1 /mnt/iscsi

    Aby sprawdzić, czy partycja się podmontowała, najprościej wydać polecenie “df -h”, w wyniku którego powinniśmy zobaczyć, między innymi taki wpis:
    /dev/sda1 419G 544K 419G 1% /mnt/iscsi
    Taki zasób nie zostanie automatycznie podmontowany po restarcie. Dodajmy w tym celu następujący wpis do pliku “/etc/fstab”
    /dev/sda1 /mnt/iscsi xfs defaults,_netdev 1 1
    “_netdev” oznacza, ze zasób będzie podmontowany po uruchomieniu sieci. Na koniec ustawiamy, aby “iscsi” automatycznie startował przy starcie systemu:

    /sbin/chkconfig icsci on

    Powinno wszystko działać. W razie czego, proszę pisać.

Komentarze do “ISCSI w CentOS 6”

  1. cave pisze:

    Dysk na iSCSI znacznie lepiej dodać do fstab’a z użyciem UUID lub LABEL (trzeba ją wcześniej nadać). Po kolejnych restartach system może nadać dyskowi inną literę (np. /dev/sdb1 zamiast /dev/sda1) i nie zostanie on zamontowany. Jest to szczególnie częste jeżeli mamy więcej takich zasobów

Dodaj komentarz

Warto odwiedzić
Valid XHTML 1.0 Transitional centos.com.pl- mapa strony