Creeu emmagatzematge segur centralitzat mitjançant iSCSI Target/Initiator a RHEL/CentOS 7 - Part 12


iSCSI és un protocol a nivell de bloc per gestionar dispositius d'emmagatzematge a través de xarxes TCP/IP, especialment a llargues distàncies. L'objectiu iSCSI és un disc dur remot presentat des d'un servidor (o) objectiu iSCSI remot. D'altra banda, el client iSCSI s'anomena Iniciador i accedirà a l'emmagatzematge que es comparteix a la màquina de destinació.

En aquest article s'han utilitzat les màquines següents:

Operating System – Red Hat Enterprise Linux 7
iSCSI Target IP – 192.168.0.29
Ports Used : TCP 860, 3260
Operating System – Red Hat Enterprise Linux 7
iSCSI Target IP – 192.168.0.30
Ports Used : TCP 3260

Pas 1: instal·lació de paquets a iSCSI Target

Per instal·lar els paquets necessaris per a l'objectiu (ens ocuparem del client més endavant), feu:

# yum install targetcli -y

Quan finalitzi la instal·lació, iniciarem i habilitarem el servei de la següent manera:

# systemctl start target
# systemctl enable target

Finalment, hem de permetre el servei a firewalld:

# firewall-cmd --add-service=iscsi-target
# firewall-cmd --add-service=iscsi-target --permanent

I, finalment, però no menys important, no hem d'oblidar-nos de permetre el descobriment d'objectius iSCSI:

# firewall-cmd --add-port=860/tcp
# firewall-cmd --add-port=860/tcp --permanent
# firewall-cmd --reload

Pas 2: definició dels LUN al servidor de destinació

Abans de procedir a definir els LUN a l'objectiu, hem de crear dos volums lògics tal com s'explica a la part 6 de la sèrie RHCSA (Configuració de l'emmagatzematge del sistema).

Aquesta vegada els anomenarem vol_projects i vol_backups i els col·locarem dins d'un grup de volums anomenat vg00, tal com es mostra a la figura 1. No dubteu a tria l'espai assignat a cada LV:

Després de crear els LV, estem preparats per definir els LUN a la destinació per tal de fer-los disponibles per a la màquina client.

Com es mostra a la figura 2, obrirem un intèrpret d'ordres targetcli i emetrem les ordres següents, que crearan dos backstores de blocs (recursos d'emmagatzematge locals que representen el LUN que utilitzarà l'iniciador) i un Iscsi Qualified Nom (IQN), un mètode per adreçar-se al servidor de destinació.

Consulteu la pàgina 32 de la RFC 3720 per obtenir més detalls sobre l'estructura de l'IQN. En particular, el text després del caràcter de dos punts (:tgt1) especifica el nom de l'objectiu, mentre que el text abans de (servidor:) indica el nom d'amfitrió de l'objectiu dins del domini.

# targetcli
# cd backstores
# cd block
# create server.backups /dev/vg00/vol_backups
# create server.projects /dev/vg00/vol_projects
# cd /iscsi
# create iqn.2016-02.com.tecmint.server:tgt1

Amb el pas anterior, es va crear un nou TPG (Target Portal Group) juntament amb el portal predeterminat (un parell format per una adreça IP i un port que és la manera com els iniciadors poden arribar a l'objectiu) escoltant al port 3260 de totes les adreces IP.

Si voleu vincular el vostre portal a una IP específica (la IP principal de Target, per exemple), suprimiu el portal predeterminat i creeu-ne un de nou de la manera següent (en cas contrari, ometeu les ordres targetcli següents. Tingueu en compte que per simplificar-les les hem omès com a bé):

# cd /iscsi/iqn.2016-02.com.tecmint.server:tgt1/tpg1/portals
# delete 0.0.0.0 3260
# create 192.168.0.29 3260

Ara estem preparats per continuar amb la creació de LUN. Tingueu en compte que estem utilitzant els backstores que hem creat anteriorment (server.backups i server.projects). Aquest procés s'il·lustra a la figura 3:

# cd iqn.2016-02.com.tecmint.server:tgt1/tpg1/luns
# create /backstores/block/server.backups
# create /backstores/block/server.projects

L'última part de la configuració de Target consisteix a crear una llista de control d'accés per restringir l'accés per iniciador. Com que la nostra màquina client s'anomena \client, afegirem aquest text a l'IQN. Consulteu la figura 4 per obtenir més informació:

# cd ../acls
# create iqn.2016-02.com.tecmint.server:client

En aquest punt podem veure l'intèrpret d'ordres targetcli per mostrar tots els recursos configurats, com podem veure a la figura 5:

# targetcli
# cd /
# ls

Per sortir de l'intèrpret d'ordres targetcli, simplement escriviu exit i premeu Enter. La configuració es desarà automàticament a /etc/target/saveconfig.json.

Com podeu veure a la figura 5 anterior, tenim un portal que escolta al port 3260 totes les adreces IP com s'esperava. Podem comprovar que utilitzant l'ordre netstat (vegeu la figura 6):

# netstat -npltu | grep 3260

Això conclou la configuració de Target. No dubteu a reiniciar el sistema i verificar que tota la configuració sobreviu a un reinici. Si no, assegureu-vos d'obrir els ports necessaris a la configuració del tallafoc i d'iniciar el servei de destinació a l'arrencada. Ara estem preparats per configurar l'iniciador i connectar-nos amb el client.

Pas 3: Configuració de l'iniciador del client

Al client haurem d'instal·lar el paquet iscsi-initiator-utils, que proporciona el dimoni del servidor per al protocol iSCSI (iscsid) així com iscsiadm, la utilitat d'administració:

# yum update && yum install iscsi-initiator-utils

Un cop finalitzada la instal·lació, obriu /etc/iscsi/initiatorname.iscsi i substituïu el nom de l'iniciador predeterminat (comentat a la figura 7) pel nom que es va establir prèviament a l'ACL del servidor (iqn.2016-02.com.tecmint). .servidor:client).

A continuació, deseu el fitxer i executeu iscsiadm en mode de descobriment apuntant a l'objectiu. Si té èxit, aquesta ordre retornarà la informació de l'objectiu tal com es mostra a la figura 7:

# iscsiadm -m discovery -t st -p 192.168.0.29

El següent pas consisteix a reiniciar i habilitar el servei iscsid:

# systemctl start iscsid
# systemctl enable iscsid

i contactar amb l'objectiu en mode node. Això hauria de donar lloc a missatges a nivell del nucli, que quan es capturen mitjançant dmesg mostren la identificació del dispositiu que s'han donat els LUN remots al sistema local (sde i sdf a la figura 8):

# iscsiadm -m node -T iqn.2016-02.com.tecmint.server:tgt1 -p 192.168.0.29 -l
# dmesg | tail

A partir d'aquest moment, podeu crear particions, o fins i tot LV (i sistemes de fitxers a sobre) com ho faries amb qualsevol altre dispositiu d'emmagatzematge. Per simplificar, crearem una partició primària a cada disc que ocuparà tot el seu espai disponible i la formarem amb ext4.

Finalment, muntem /dev/sde1 i /dev/sdf1 a /projects i /backups, respectivament (tingueu en compte que aquests directoris s'han de crear primer):

# mount /dev/sde1 /projects
# mount /dev/sdf1 /backups

A més, podeu afegir dues entrades a /etc/fstab per tal que els dos sistemes de fitxers es muntin automàticament a l'arrencada utilitzant l'UUID de cada sistema de fitxers retornat per blkid.

Tingueu en compte que l'opció de muntatge _netdev s'ha d'utilitzar per ajornar el muntatge d'aquests sistemes de fitxers fins que s'hagi iniciat el servei de xarxa:

Ara podeu utilitzar aquests dispositius com ho faríeu amb qualsevol altre suport d'emmagatzematge.

Resum

En aquest article hem tractat com configurar i configurar un objectiu iSCSI i un iniciador a les distribucions RHEL/CentOS 7. Tot i que la primera tasca no forma part de les competències requerides de l'examen EX300 (RHCE), és necessària per implementar el segon tema.

No dubteu a fer-nos saber si teniu cap pregunta o comentari sobre aquest article; no dubteu a enviar-nos una línia mitjançant el formulari de comentaris a continuació.

Si voleu configurar iSCSI Target i Client Initiator a RHEL/CentOS 6, seguiu aquesta guia: Configuració d'emmagatzematge iSCSI centralitzat amb Client Initiator.