GNU/Linux >> Znalost Linux >  >> Cent OS

Kompletní průvodce konfigurací iSCSI v CentOS / RHEL 7

Internet Small Computer System Interface (iSCSI) je standard založený na protokolu IP pro připojení úložných zařízení. iSCSI používá sítě IP k zapouzdření příkazů SCSI, což umožňuje přenos dat na velké vzdálenosti. iSCSI poskytuje sdílené úložiště mezi řadou klientských systémů. Úložná zařízení jsou připojena k serverům (cílům). Klientské systémy (iniciátoři) přistupují ke vzdáleným úložným zařízením přes IP sítě. Zdá se, že ke klientským systémům jsou úložná zařízení připojena lokálně. iSCSI využívá stávající IP infrastrukturu a nevyžaduje žádnou další kabeláž, jako je tomu u sítí Fibre Channel (FC).

Konfigurace serveru iSCSI

RHEL/CentOS 7 používá cílový subsystém jádra Linux-IO (LIO) pro iSCSI. Kromě iSCSI podporuje LIO řadu úložných zařízení včetně Fibre Channel over Ethernet (FCoE), přístupu iSCSI přes sítě Mellanox InfiniBand (iSER) a přístupu SCSI přes sítě Mellanox InfiniBand (SRP). V RHEL 7 jsou všechny úložné struktury spravovány pomocí targetcli utility.

Chcete-li nakonfigurovat systém RHEL jako server iSCSI, začněte instalací softwarového balíčku targetcli:

# yum install targetcli

Instalace softwarového balíčku targetcli také nainstaluje python-rtslib balíček, který poskytuje /usr/lib/systemd/system/target.service soubor. Před použitím obslužného programu targetcli k vytvoření, odstranění a zobrazení cílů úložiště použijte příkaz systemctl k povolení a spuštění cílové služby na serveru iSCSI.

# systemctl enable target
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
# systemctl start target

nástroj targetcli

Obslužný program targetcli je administrační shell pro vytváření, úpravy a prohlížení konfigurace cílového subsystému jádra. Spusťte targetcli pro vstup do konfiguračního shellu.

# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> help

Spusťte nápovědu příkaz z výzvy targetcli pro zobrazení dostupných příkazů. Níže jsou uvedeny některé z dostupných příkazů targetcli:

  • ls :Zobrazení hierarchie objektů.
  • cd :Procházet hierarchií objektů.
  • vytvořit :Vytvářejte objekty úložiště, cíle, logické jednotky, síťové portály, seznamy řízení přístupu.
  • ukončit :Ukončete prostředí targetcli a automaticky uložte konfiguraci.

Můžete také zadat „targetcli [command]““ a spustit příkazy bez zadání shellu.

Backstores

Backstores jsou různé druhy zdrojů místního úložiště, které cíl jádra používá k „zálohování“ zařízení SCSI, která exportuje do klientských systémů. Mapování na prostředky místního úložiště, které každé úložiště backstore vytváří, se nazývají objekty úložiště. Použijte targetcli ls k seznamu různých typů backstores.

# targetcli ls /backstores

Typy backstores jsou popsány následovně:

  • blokovat :Linux bloková zařízení, jako je /dev/sda
  • fileio :Jakýkoli soubor v připojeném souborovém systému, jako je /tmp/disk1.img
  • pscsi :Jakýkoli objekt úložiště, který podporuje průchozí příkazy SCSI
  • ramdisk :Kopírování paměti RAM disky

Vytvoření úložiště bloků z prostředí targetcli:

/> cd /backstores/block
/backstores/block> create name=LUN_1 dev=/dev/xvdb

Vytvoření úložiště souborů fileio z prostředí targetcli:

/> cd /backstores/fileio
/backstores/fileio> create name=LUN_3 /root/disk1.img 5G

Vytvoření cíle iSCSI Target

Chcete-li vytvořit cíl iSCSI z prostředí targetcli, použijte příkaz cd a přejděte do adresáře /iscsi.

/> cd /iscsi
/iscsi>

Pomocí příkazu create bez jakýchkoli argumentů vytvořte cíl iSCSI pomocí výchozího názvu cíle. Ve výchozím nastavení je cíl identifikován „iqn “identifikátor. Toto je iSCSI Qualified Name (IQN) , který jednoznačně identifikuje cíl. K identifikaci cíle se nejčastěji používají adresy ve formátu IQN. Tato adresa se skládá z následujících polí:

  • Doslovné iqn
  • Datum (ve formátu rrrr-mm), kdy autorita pro pojmenování převzala vlastnictví domény
  • Obrácený název domény úřadu
  • Volitelné „:“, které předchází názvu cíle úložiště určeného autoritou pro pojmenování
/> cd /iscsi 
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.user.x8664:sn.b0df6e328beb.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> 

Chcete-li vytvořit seznam vytvořených cílů, použijte níže uvedený příkaz.

# targetcli ls /iscsi

Chcete-li povolit vzdáleným systémům přístup k cíli iSCSI na portu 3260, zakažte službu firewalld na serveru iSCSI nebo nakonfigurujte firewall tak, aby důvěřoval portu 3260/tcp. Následující příklad používá firewall-cmd k otevření portu 3260/tcp pro službu firewalld.

# firewall-cmd --permanent --add-port=3260/tcp

Pokud zahrnete –trvalé Při přidávání portu použijte příkaz firewall-cmd k opětovnému načtení konfigurace.

# firewall-cmd –reload

Vytváření jednotek iSCSI LUN

Cíl jádra exportuje logické jednotky SCSI do vzdálených systémů. Pomocí shellu targetcli propojte dříve definované objekty úložiště s cílem a určete, které číslo logické jednotky (LUN) zařízení používá. Následující příklad používá příkaz create k vytvoření dvou nových LUN pro cíl. Z prostředí targetcli začněte pomocí příkazu cd pro přechod do adresáře luns v rámci hierarchie [target/TGP].

/iscsi> cd /iscsi/iqn.2003-01.org.linux-iscsi.user.x8664:sn.b0df6e328beb/
/iscsi/iqn.20....b0df6e328beb> cd tpg1/luns

Následující příkazy vytvoří LUN z dříve definovaných objektů úložiště bloků.

/iscsi/iqn.20...beb/tpg1/luns> create /backstores/block/LUN_1 lun1
Created LUN 1.

Vytváření seznamů ACL

Přístupové seznamy (ACL) omezují přístup k LUN ze vzdálených systémů. Pro každého iniciátora můžete vytvořit ACL, abyste vynutili autentizaci, když se iniciátor připojí k cíli. To vám umožní poskytnout konkrétnímu iniciátorovi exkluzivní přístup ke konkrétnímu cíli. Následující příklad používá příkaz create k vytvoření ACL pro iniciátora. Z prostředí targetcli začněte pomocí příkazu cd pro přechod do adresáře acls v rámci hierarchie [target/TGP].

/> cd /iscsi/iqn.2003-01.org.linux-iscsi.user.x8664:sn.b0df6e328beb/tpg1/acls 
/iscsi/iqn.20...beb/tpg1/acls> create iqn.1994-05.com.redhat:aabb51a64012
Created Node ACL for iqn.1994-05.com.redhat:aabb51a64012
Created mapped LUN 1.

Konfigurace iniciátoru iSCSI

Chcete-li nakonfigurovat systém Linux jako iniciátor iSCSI, nainstalujte iscsi-initiator-utils softwarový balík. Tento balíček je Linux Open-iSCSI Initiator.

# yum install iscsi-initiator-utils

Balíček nainstaluje několik souborů včetně následujících:

  • /etc/iscsi/iscsid.conf :Konfigurační soubor načtený pomocí iscsid a iscsiadm. Tento soubor je silně komentován s popisy pro každou konfigurační direktivu.
  • /sbin/iscsid :Démon Open-iSCSI, který implementuje řídicí cestu a prostředky správy
  • /sbin/iscsiadm :Nástroj pro správu Open-iSCSI používaný ke zjišťování a přihlašování k cílům iSCSI

Upravte soubor /etc/iscsi/initiatorname.iscsi a nahraďte parametr InitiatorName názvem iniciátoru, který jste dříve nakonfigurovali jako ACL v cíli. V tomto souboru je definován výchozí název iniciátoru iscsi. Pokud jste při konfiguraci ACL použili stejný název, nebudete zde muset nic měnit.

# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.1994-05.com.redhat:aabb51a64012

Pomocí příkazu systemctl povolte a spusťte službu iscsid.

# systemctl enable iscsid
# systemctl start iscsid
Pochopení nástroje iscsiadm v CentOS / RHEL

iSCSI Discovery

Zjištění je proces, který iniciátorovi zpřístupní cíle. Následující příklad používá metodu zjišťování SendTargets ke zjišťování cílů na adrese IP 192.168.12.13. Tento příkaz také v případě potřeby spustí démona iscsid.

# iscsiadm -m discovery --type sendtargets –p 192.168.12.13

Po zjištění se tabulka uzlů a tabulky send_targets v databázi aktualizují:

# ls /var/lib/iscsi/nodes
iqn.2011-12.com.example.mypc:tgt1 
iqn.2011-12.com.example.mypc:tgt2 
iqn.2012-11.com.example.mypc:tgt3
# ls /var/lib/iscsi/send_targets
192.168.12.13,3260

Relace iniciátoru iSCSI

Relace je spojení TCP mezi portem uzlu iniciátoru a portem cílového uzlu. LUN nejsou přístupné, dokud není vytvořena relace. K vytvoření relace použijte volbu -l (nebo –login):

# iscsiadm -m node -l

Chcete-li se přihlásit ke konkrétnímu cíli:

# iscsiadm -m node --targetname iqn.2011-12.com.example.mypc:tgt1 –p 192.0.2.102:3260 –l

K uzavření relace použijte volbu -u (nebo –logout). Zobrazení informací o relaci:

# iscsiadm -m session [-P [printlevel]]

Úrovně tisku jsou 1, 2 a 3. Každá zobrazuje více podrobností.


Cent OS
  1. CentOS / RHEL 7 :Konfigurace serveru NFS a klienta NFS

  2. CentOS / RHEL 7:Průvodce firewallem pro začátečníky

  3. Pochopení nástroje iscsiadm v CentOS / RHEL

  1. Jak řešit problémy s iSCSI v CentOS / RHEL 6,7

  2. Jak nakonfigurovat iSCSI Initiator (klient) v CentOS / RHEL 7

  3. Průvodce pro začátečníky k automatickému připojení souborových systémů v CentOS / RHEL

  1. Konečný průvodce upgradem jádra na CentOS/RHEL/Fedora

  2. CentOS / RHEL 7 :Konfigurace NTP pomocí chrony

  3. Průvodce pro začátečníky NFS v CentOS / RHEL