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.