GNU/Linux >> Linux Esercitazione >  >> Cent OS

Configura target e iniziatore iSCSI su CentOS 7 / RHEL7

iSCSI sta per Internet Small Computer Systems Interface, storage basato su IP, funziona su protocollo Internet trasportando comandi SCSI su rete IP. iSCSI trasporta i dati a livello di blocco tra un iniziatore iSCSI su una macchina client e una destinazione iSCSI su un dispositivo di archiviazione (server).

Lo storage iSCSI viene utilizzato come storage condiviso nel cluster Redhat , VMware vSphere, Redhat Enterprise Virtualization Manager, Ovirt, ecc.

Ambiente

Server: server.itzgeek.local

Indirizzo IP: 192.168.12.20

OS: CentOS Linux versione 7.4.1708 (principale)

Cliente: node1.itzgeek.local

Indirizzo IP: 192.168.12.11

OS: CentOS Linux versione 7.4.1708 (principale)

Configurazione di archiviazione

Qui creeremo 5 GB di disco LVM sul server di destinazione da utilizzare come memoria condivisa per i client. Elenchiamo i dischi disponibili collegati al server di destinazione utilizzando il comando seguente. Se desideri utilizzare l'intero disco per LVM, salta il passaggio di partizionamento del disco .

[root@server ~]# fdisk -l | grep -i sd

Risultato:

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
 /dev/sda1   *        2048     1026047      512000   83  Linux
 /dev/sda2         1026048   209715199   104344576   8e  Linux LVM
 Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors

Dall'output sopra, puoi vedere che il mio sistema ha 10 GB di disco (/dev/sdb ). Creeremo una partizione da 5 GB sul disco sopra e la useremo per LVM.

[root@server ~]# fdisk /dev/sdb
 Welcome to fdisk (util-linux 2.23.2).
 Changes will remain in memory only, until you decide to write them.
 Be careful before using the write command.
 Device does not contain a recognized partition table
 Building a new DOS disklabel with disk identifier 0x173dfa4d.
 Command (m for help): n  --> New partition
 Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
 Select (default p): p --> Pimary partition
 Partition number (1-4, default 1): 1 - -> Partition number
 First sector (2048-20971519, default 2048): --> Just enter
 Using default value 2048
 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G  --> Enter the size
 Partition 1 of type Linux and of size 5 GiB is set
 Command (m for help): t  --> Change label
 Selected partition 1
 Hex code (type L to list all codes): 8e --> Change it as LVM label
 Changed type of partition 'Linux' to 'Linux LVM'
 Command (m for help): w --> Save
 The partition table has been altered!
 Calling ioctl() to re-read partition table.
 Syncing disks.

Crea un LVM con la partizione /dev/sdb1 (sostituisci /dev/sdb1 con il nome del tuo disco )

[root@server ~]# pvcreate /dev/sdb1
[root@server ~]# vgcreate vg_iscsi /dev/sdb1
[root@server ~]# lvcreate -l 100%FREE -n lv_iscsi vg_iscsi

Configura destinazione iSCSI

Ora hai la possibilità di creare una destinazione con o senza autenticazione. In questo articolo puoi trovare i passaggi per entrambi gli scenari. Sta a te decidere quale è adatto al tuo ambiente.

Qui, configurerà la destinazione iSCSI senza autenticazione CHAP.

Installa il pacchetto targetcli sul server.

[root@server ~]# yum install targetcli -y

Una volta installato il pacchetto, inserisci il comando seguente per ottenere un'interfaccia a riga di comando iSCSI per un prompt interattivo.

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

Ora usa un volume logico esistente (/dev/vg_iscsi/lv_iscsi ) come archivio di backup di tipo blocco per l'oggetto di archiviazione scsi_disk1_server “.

/> cd backstores/block
/backstores/block> create scsi_disk1_server /dev/vg_iscsi/lv_iscsi
Created block storage object scsi_disk1_server using /dev/vg_iscsi/lv_iscsi.

Crea un obiettivo.

/backstores/block> cd /iscsi
/iscsi> create iqn.2016-02.local.itzgeek.server:disk1
Created target iqn.2016-02.local.itzgeek.server:disk1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi>

Crea ACL per la macchina client (è l'IQN utilizzato dai client per connettersi).

/iscsi> cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/acls
/iscsi/iqn.20...sk1/tpg1/acls> create iqn.2016-02.local.itzgeek.server:node1node2
Created Node ACL for iqn.2016-02.local.itzgeek.server:node1node2

Crea un LUN sotto il target. La LUN dovrebbe utilizzare l'oggetto di archiviazione di backup menzionato in precedenza denominato "scsi_disk1_server “.

/iscsi/iqn.20...er:disk1/tpg1> cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/luns
/iscsi/iqn.20...sk1/tpg1/luns> create /backstores/block/scsi_disk1_server 
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2016-02.local.itzgeek.server:node1node2

Verifica la configurazione del server di destinazione.

/iscsi/iqn.20.../tpg1/portals> cd /
/> ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 1]
  | | o- scsi_disk1_server .................................................. [/dev/vg_iscsi/lv_iscsi (5.0GiB) write-thru activated]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 1]
  | o- iqn.2016-02.local.itzgeek.server:disk1 ............................................................................ [TPGs: 1]
  |   o- tpg1 .................................................................................................. [gen-acls, no-auth]
  |     o- acls .......................................................................................................... [ACLs: 1]
  |     | o- iqn.2016-02.local.itzgeek.server:node1node2 .......................................................... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ..................................................................... [lun0 block/scsi_disk1_server (rw)]
  |     o- luns .......................................................................................................... [LUNs: 1]
  |     | o- lun0 ............................................................... [block/scsi_disk1_server (/dev/vg_iscsi/lv_iscsi)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 0.0.0.0:3260 ..................................................................................................... [OK]
  o- loopback ......................................................................................................... [Targets: 0]Save and exit from target CLI.
/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

Abilita e riavvia il servizio di destinazione.

[root@server ~]# systemctl enable target.service
[root@server ~]# systemctl restart target.service

Configura il firewall per consentire il traffico iSCSI.

[root@server ~]# firewall-cmd --permanent --add-port=3260/tcp
[root@server ~]# firewall-cmd --reload

Configura iniziatore

Ora è il momento di configurare una macchina client per utilizzare la destinazione creata come memoria. Installa il pacchetto seguente sul computer client (node1 ).

[root@node1 ~]# yum install iscsi-initiator-utils -y

Modifica il file nomeiniziatore.iscsi.

[root@node1 ~]# vi /etc/iscsi/initiatorname.iscsi

Aggiungi il nome dell'iniziatore iSCSI.

InitiatorName=iqn.2016-02.local.itzgeek.server:node1node2

Scopri il bersaglio usando il comando qui sotto.

[root@node1 ~]# iscsiadm -m discovery -t st -p 192.168.12.20

Risultato:

 192.168.12.20:3260,1 iqn.2016-02.local.itzgeek.server:disk1

Riavvia e abilita il servizio iniziatore.

[root@node1 ~]# systemctl restart iscsid.service
[root@node1 ~]# systemctl enable iscsid.service

Accedi alla destinazione rilevata.

[root@node1 ~]# iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -l

Risultato:

Logging in to [iface: default, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] (multiple)
Login to [iface: default, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] successful.

Crea file system su disco ISCSI

Dopo l'accesso (connessione) alla destinazione individuata, dai un'occhiata al file dei messaggi. Troverai un output simile come di seguito, da dove puoi trovare un nome del disco.

[root@node1 ~]# cat /var/log/messages
Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] 10477568 512-byte logical blocks: (5.36 GB/4.99 GiB)
Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] Write Protect is off
Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
Feb 23 14:54:48 node2 kernel: sdb: unknown partition table
Feb 23 14:54:48 node2 kernel: sd 34:0:0:0: [sdb] Attached SCSI disk

Risultato:

Feb 23 14:54:48 node2 iscsid: Could not set session2 priority. READ/WRITE throughout and latency could be affected.
Feb 23 14:54:48 node2 iscsid: Connection2:0 to [target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] through [iface: default] is operational now

Elenca i dischi allegati.

[root@node1 ~]# cat /proc/partitions

Risultato:

major minor  #blocks  name

   8        0  104857600 sda
   8        1     512000 sda1
   8        2  104344576 sda2
  11        0    1048575 sr0
 253        0    2113536 dm-0
 253        1   52428800 dm-1
 253        2   49799168 dm-2
   8       16    5238784 sdb

Formatta il nuovo disco (per motivi di articolo, ho formattato l'intero disco invece di creare una partizione)

root@node1 ~]# mkfs.xfs /dev/sdb

Risultato:

meta-data=/dev/sdb               isize=256    agcount=8, agsize=163712 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=1309696, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Monta il disco.

[root@node1 ~]# mount /dev/sdb /mnt

Verifica che il disco sia montato utilizzando il comando seguente.

[root@node1 ~]# df -hT

Risultato:

Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        50G  955M   50G   2% /
devtmpfs                devtmpfs  908M     0  908M   0% /dev
tmpfs                   tmpfs     914M   54M  861M   6% /dev/shm
tmpfs                   tmpfs     914M  8.5M  905M   1% /run
tmpfs                   tmpfs     914M     0  914M   0% /sys/fs/cgroup
/dev/mapper/centos-home xfs        48G   33M   48G   1% /home
/dev/sda1               xfs       497M   97M  401M  20% /boot
/dev/sdb                xfs       5.0G   33M  5.0G   1% /mnt

Montaggio automatico dell'archiviazione iSCSI

Per montare automaticamente lo storage iSCSI durante ogni riavvio, è necessario inserire una voce nel file /etc/fstab.

Prima di aggiornare il file /etc/fstab, ottenere l'UUID del disco iSCSI utilizzando il comando seguente. Sostituisci /dev/sdb con il nome del tuo disco iSCSI.

blkid /dev/sdb

Risultato:

/dev/sdb: LABEL="/" UUID="9df472f4-1b0f-41c0-a6eb-89574d2caee3" TYPE="xfs"

Ora, modifica il file /etc/fstab.

vi /etc/fstab

Crea una voce simile a quella di seguito.

#
# /etc/fstab
# Created by anaconda on Tue Jan 30 02:14:21 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=9df472f4-1b0f-41c0-a6eb-89574d2caee3 /                       xfs     defaults        0 0
UUID=c7469f92-75ec-48ac-b42d-d5b89ab75b39 /mnt                    xfs     _netdev         0 0

Rimuovi memoria iSCSI

Nel caso in cui desideri scollegare il disco aggiunto, segui la procedura (smontaggio e logout).

[root@node1 ~]# umount /mnt/
[root@node1 ~]# iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -u

Risultato:

Logging out of session [sid: 1, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260]
Logout of [sid: 1, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] successful.

Questo è tutto.


Cent OS
  1. Configura il server MariaDB su CentOS

  2. CentOS / RHEL 6,7:Come eliminare una destinazione iSCSI sull'iniziatore (client iSCSI)

  3. Come configurare iSCSI Initiator (client) in CentOS/RHEL 7

  4. CentOS/RHEL – Come rimuovere le informazioni sul nodo di destinazione ISCSI obsolete da ISCSI Initiator Server

  5. Centos 7:Installa, Configura, Gestisci

Installa e configura Check_MK Server su CentOS 7

Come configurare il server SFTP su CentOS?

Come configurare NGINX su un server CentOS 7

Come configurare la destinazione iSCSI utilizzando targetcli in CentOS / RHEL 7

Come configurare il server VNC su CentOS/RHEL 6

Centos 7 :Configura il server NTP