vSphere VMFS-Datenspeicher – iSCSI-Speicher-Backend mit ONTAP
Dieser Abschnitt behandelt die Erstellung eines VMFS-Datenspeichers mit ONTAP iSCSI-Speicher.
Verwenden Sie für die automatisierte Bereitstellung das folgende Skript:[Ansible] .
Voraussetzungen
-
Die grundlegenden Fähigkeiten, die zum Verwalten einer vSphere-Umgebung und von ONTAP erforderlich sind.
-
Ein ONTAP -Speichersystem (FAS/ AFF/ CVO / ONTAP Select/ ASA) mit {ontap_version}
-
ONTAP -Anmeldeinformationen (SVM-Name, Benutzer-ID und Kennwort)
-
ONTAP Netzwerkport, SVM und LUN-Informationen für iSCSI
-
vCenter Server-Anmeldeinformationen
-
Informationen zu vSphere-Hosts
-
{vsphere_version}
-
-
IP-Informationen zum iSCSI-VMKernel-Adapter
-
Netzwerk-Switch(s)
-
Mit ONTAP -Systemnetzwerk-Datenports und verbundenen vSphere-Hosts
-
Für iSCSI konfigurierte VLAN(s)
-
(Optional) Link Aggregation für ONTAP Netzwerkdatenports konfiguriert
-
-
ONTAP Tool für VMware vSphere bereitgestellt, konfiguriert und einsatzbereit
Schritte
-
Überprüfen Sie die Kompatibilität mit dem "Interoperabilitätsmatrix-Tool (IMT)" .
-
"Stellen Sie sicher, dass die iSCSI-Konfiguration unterstützt wird."
-
Führen Sie die folgenden ONTAP und vSphere-Aufgaben durch.
ONTAP -Aufgaben
-
"Überprüfen der ONTAP -Lizenz für iSCSI" .
-
Verwenden Sie die
system license show
Befehl, um zu überprüfen, ob iSCSI aufgeführt ist. -
Verwenden
license add -license-code <license code>
, um die Lizenz hinzuzufügen.
-
-
"Stellen Sie sicher, dass das iSCSI-Protokoll auf der SVM aktiviert ist."
-
Stellen Sie sicher, dass auf der SVM logische iSCSI-Netzwerkschnittstellen verfügbar sind.
Wenn eine SVM mithilfe der GUI erstellt wird, werden auch iSCSI-Netzwerkschnittstellen erstellt. -
Verwenden Sie die
Network interface
Befehl zum Anzeigen oder Vornehmen von Änderungen an der Netzwerkschnittstelle.Es werden zwei iSCSI-Netzwerkschnittstellen pro Knoten empfohlen. -
"Erstellen Sie eine iSCSI-Netzwerkschnittstelle."Sie können die Servicerichtlinie „default-data-blocks“ verwenden.
-
"Überprüfen Sie, ob der Daten-iSCSI-Dienst in der Servicerichtlinie enthalten ist."Sie können
network interface service-policy show
zu überprüfen. -
"Erstellen und ordnen Sie die LUN zu."Überspringen Sie diesen Schritt, wenn Sie ONTAP tools for VMware vSphere verwenden. Wiederholen Sie diesen Schritt für jede LUN.
VMware vSphere-Aufgaben
-
Stellen Sie sicher, dass mindestens eine Netzwerkkarte für das iSCSI-VLAN verfügbar ist. Für eine bessere Leistung und Fehlertoleranz werden zwei Netzwerkkarten bevorzugt.
-
"Ermitteln Sie die Anzahl der auf dem vSphere-Host verfügbaren physischen Netzwerkkarten."
-
"Konfigurieren Sie den iSCSI-Initiator."Ein typischer Anwendungsfall ist ein Software-iSCSI-Initiator.
-
"Überprüfen Sie, ob der TCPIP-Stack für iSCSI verfügbar ist" .
-
"Überprüfen Sie, ob iSCSI-Portgruppen verfügbar sind" .
-
Normalerweise verwenden wir einen einzelnen virtuellen Switch mit mehreren Uplink-Ports.
-
Verwenden Sie eine 1:1-Adapterzuordnung.
-
-
Stellen Sie sicher, dass die iSCSI-VMKernel-Adapter entsprechend der Anzahl der Netzwerkkarten aktiviert sind und dass IPs zugewiesen sind.
-
"Binden Sie den iSCSI-Softwareadapter an den/die iSCSI-VMKernel-Adapter."
-
"Bereitstellen des VMFS-Datenspeichers mit ONTAP Tools" . Wiederholen Sie diesen Schritt für alle Datenspeicher.
-
"Überprüfen Sie die Unterstützung der Hardwarebeschleunigung."
Wie geht es weiter?
Nachdem diese Aufgaben abgeschlossen sind, ist der VMFS-Datenspeicher zur Bereitstellung virtueller Maschinen bereit.
## Disclaimer: Sample script for reference purpose only.
- hosts: '{{ vsphere_host }}'
name: Play for vSphere iSCSI Configuration
connection: local
gather_facts: false
tasks:
# Generate Session ID for vCenter
- name: Generate a Session ID for vCenter
uri:
url: "https://{{ vcenter_hostname }}/rest/com/vmware/cis/session"
validate_certs: false
method: POST
user: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
force_basic_auth: yes
return_content: yes
register: vclogin
# Generate Session ID for ONTAP tools with vCenter
- name: Generate a Session ID for ONTAP tools with vCenter
uri:
url: "https://{{ ontap_tools_ip }}:8143/api/rest/2.0/security/user/login"
validate_certs: false
method: POST
return_content: yes
body_format: json
body:
vcenterUserName: "{{ vcenter_username }}"
vcenterPassword: "{{ vcenter_password }}"
register: login
# Get existing registered ONTAP Cluster info with ONTAP tools
- name: Get ONTAP Cluster info from ONTAP tools
uri:
url: "https://{{ ontap_tools_ip }}:8143/api/rest/2.0/storage/clusters"
validate_certs: false
method: Get
return_content: yes
headers:
vmware-api-session-id: "{{ login.json.vmwareApiSessionId }}"
register: clusterinfo
- name: Get ONTAP Cluster ID
set_fact:
ontap_cluster_id: "{{ clusterinfo.json | json_query(clusteridquery) }}"
vars:
clusteridquery: "records[?ipAddress == '{{ netapp_hostname }}' && type=='Cluster'].id | [0]"
- name: Get ONTAP SVM ID
set_fact:
ontap_svm_id: "{{ clusterinfo.json | json_query(svmidquery) }}"
vars:
svmidquery: "records[?ipAddress == '{{ netapp_hostname }}' && type=='SVM' && name == '{{ svm_name }}'].id | [0]"
- name: Get Aggregate detail
uri:
url: "https://{{ ontap_tools_ip }}:8143/api/rest/2.0/storage/clusters/{{ ontap_svm_id }}/aggregates"
validate_certs: false
method: GET
return_content: yes
headers:
vmware-api-session-id: "{{ login.json.vmwareApiSessionId }}"
cluster-id: "{{ ontap_svm_id }}"
when: ontap_svm_id != ''
register: aggrinfo
- name: Select Aggregate with max free capacity
set_fact:
aggr_name: "{{ aggrinfo.json | json_query(aggrquery) }}"
vars:
aggrquery: "max_by(records, &freeCapacity).name"
- name: Convert datastore size in MB
set_fact:
datastoreSizeInMB: "{{ iscsi_datastore_size | human_to_bytes/1024/1024 | int }}"
- name: Get vSphere Cluster Info
uri:
url: "https://{{ vcenter_hostname }}/api/vcenter/cluster?names={{ vsphere_cluster }}"
validate_certs: false
method: GET
return_content: yes
body_format: json
headers:
vmware-api-session-id: "{{ vclogin.json.value }}"
when: vsphere_cluster != ''
register: vcenterclusterid
- name: Create iSCSI VMFS-6 Datastore with ONTAP tools
uri:
url: "https://{{ ontap_tools_ip }}:8143/api/rest/3.0/admin/datastore"
validate_certs: false
method: POST
return_content: yes
status_code: [200]
body_format: json
body:
traditionalDatastoreRequest:
name: "{{ iscsi_datastore_name }}"
datastoreType: VMFS
protocol: ISCSI
spaceReserve: Thin
clusterID: "{{ ontap_cluster_id }}"
svmID: "{{ ontap_svm_id }}"
targetMoref: ClusterComputeResource:{{ vcenterclusterid.json[0].cluster }}
datastoreSizeInMB: "{{ datastoreSizeInMB | int }}"
vmfsFileSystem: VMFS6
aggrName: "{{ aggr_name }}"
existingFlexVolName: ""
volumeStyle: FLEXVOL
datastoreClusterMoref: ""
headers:
vmware-api-session-id: "{{ login.json.vmwareApiSessionId }}"
when: ontap_cluster_id != '' and ontap_svm_id != '' and aggr_name != ''
register: result
changed_when: result.status == 200