Verbinding maken naar elastische SAN-volumes - Linux
In dit artikel wordt uitgelegd hoe u verbinding maakt met een SAN-volume (Elastic Storage Area Network) vanaf een afzonderlijke Linux-client. Zie Verbinding maken naar Elastische SAN-volumes - Windows voor meer informatie over het maken van verbinding vanaf een Windows-client.
In dit artikel voegt u het storage-service-eindpunt toe aan het subnet van een virtueel Azure-netwerk. Vervolgens configureert u uw volumegroep om verbindingen vanuit uw subnet toe te staan. Ten slotte configureert u uw clientomgeving om verbinding te maken met een Elastisch SAN-volume en een verbinding tot stand te brengen.
U moet een clusterbeheerder gebruiken bij het verbinden van een afzonderlijk elastisch SAN-volume met meerdere clients. Zie Geclusterde toepassingen gebruiken in Azure Elastic SAN voor meer informatie.
Vereisten
- Gebruik de nieuwste Azure CLI of installeer de nieuwste Azure PowerShell-module
- Een elastisch SAN implementeren
- Een virtueel netwerkeindpunt configureren
- Regels voor virtuele netwerken configureren
Verbinding maken naar volumes
Uw clientomgeving instellen
iSCSI-initiator inschakelen
Als u iSCSI-verbindingen wilt maken vanaf een Linux-client, installeert u het iSCSI-initiatorpakket. De exacte opdracht kan variëren, afhankelijk van uw distributie, en raadpleeg indien nodig de bijbehorende documentatie.
Als voorbeeld, met Ubuntu die u zou gebruiken sudo apt install open-iscsi
, met SUSE Linux Enterprise Server (SLES) die u zou gebruiken sudo zypper install open-iscsi
en met Red Hat Enterprise Linux (RHEL) die u zou gebruiken sudo yum install iscsi-initiator-utils
.
Multipath I/O installeren
Als u hogere IOPS en doorvoer naar een volume wilt bereiken en de maximale limieten wilt bereiken, moet u meerdere sessies maken van de iSCSI-initiator naar het doelvolume op basis van de mogelijkheden en prestatievereisten van uw toepassing. U hebt multipath I/O nodig om deze meerdere paden samen te voegen in één apparaat en om de prestaties te verbeteren door I/O optimaal te verdelen over alle beschikbare paden op basis van een taakverdelingsbeleid.
Installeer het Multipath I/O-pakket voor uw Linux-distributie. De installatie varieert op basis van uw distributie en u moet de bijbehorende documentatie raadplegen. Als voorbeeld: in Ubuntu zou de opdracht zijn sudo apt install multipath-tools
, voor SLES de opdracht zou zijn sudo zypper install multipath-tools
en voor RHEL zou de opdracht zijn sudo yum install device-mapper-multipath
.
Zodra u het pakket hebt geïnstalleerd, controleert u of /etc/multipath.conf bestaat. Als /etc/multipath.conf niet bestaat, maakt u een leeg bestand en gebruikt u de instellingen in het volgende voorbeeld voor een algemene configuratie. Als voorbeeld mpathconf --enable
maakt u /etc/multipath.conf op RHEL.
U moet enkele wijzigingen aanbrengen in /etc/multipath.conf. U moet de sectie apparaten toevoegen in het volgende voorbeeld en de sectie met standaardinstellingen in het volgende voorbeeld stelt dat sommige standaardinstellingen algemeen van toepassing zijn. Als u andere specifieke configuraties wilt maken, zoals het uitsluiten van volumes uit de topologie met meerdere paden, raadpleegt u de handmatige pagina voor multipath.conf.
defaults {
user_friendly_names yes # To create ‘mpathn’ names for multipath devices
path_grouping_policy multibus # To place all the paths in one priority group
path_selector "round-robin 0" # To use round robin algorithm to determine path for next I/O operation
failback immediate # For immediate failback to highest priority path group with active paths
no_path_retry 1 # To disable I/O queueing after retrying once when all paths are down
}
devices {
device {
vendor "MSFT"
product "Virtual HD"
}
}
Nadat u het bestand hebt gemaakt of gewijzigd, start u Multipath I/O opnieuw op. Op Ubuntu is sudo systemctl restart multipath-tools.service
de opdracht en op RHEL en SLES de opdracht.sudo systemctl restart multipathd
Volumes koppelen aan de client
U kunt het volgende script gebruiken om uw verbindingen te maken. U hebt de volgende parameters nodig om deze uit te voeren:
- abonnement: abonnements-id
- g: Naam van resourcegroep
- e: Elastische SAN-naam
- v: Naam volumegroep
- n <vol1, vol2, ...>: Namen van volumes 1 en 2 en andere volumenamen die u mogelijk nodig hebt, door komma's gescheiden
- s: Aantal sessies op elk volume (standaard ingesteld op 32)
Kopieer het script van hieruit en sla het op als een .py-bestand, bijvoorbeeld connect.py. Voer deze vervolgens uit met de vereiste parameters. Hier volgt een voorbeeld van hoe u het script uitvoert:
./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32
U kunt het aantal sessies controleren met behulp van sudo multipath -ll
Aantal sessies
U moet 32 sessies gebruiken voor elk doelvolume om de maximale IOPS- en/of doorvoerlimieten te bereiken.