NFS and CIFS/SMB on top of VMware Virtual SAN with NexentaConnect

Mit diesem Artikel möchte ich euch über die Möglichkeit informieren, wie man sehr einfach hochverfügbare NFS & CIFS/SMB File Services auf Basis von VMware Virtual SAN mit NexentaConnect bereitstellen kann.

Vorwort

Kann man nicht einfach einen Windows- oder Linux Server als VM auf einen VSAN Datastore deployen und von dort aus CIFS und NFS zur Verfügung stellen? Ja, das kann man. Warum das Ganze also mit NexentaConnect?

  • virtuelle Storage Appliance, die auf Basis von VMware Virtual SAN (VSAN) sowohl NFS, als auch CIFS/SMB bereitstellen kann
  • Deduplizierung, sowie Snapshots möglich
  • schneller und einfacher Rollout
  • Administration komplett in vSphere WebClient integriert (komplette Storage-Verwaltung VSAN, CIFS/SMB, NFS in einer Oberfläche)
  • einfache Administration
  • kostengünstig

In diesem Artikel möchte ich mein Wissen mit euch teilen, wie man eine NexentaConnect Umgebung auf Basis von VMware Virtual SAN ausrollt. Der Rollout ist unterteilt in folgende 7 Schritte:

  1. Deployment und Konfiguration Nexenta Connect Manager
  2. Deployment Nexenta IO Engine Template
  3. Installation und Konfiguration NC VSAN VCSA Installer / WebClient PlugIn
  4. Abschluss der Basiskonfiguration
  5. Vorbereitung für den Appliance Rollout (Größe & DHCP)
  6. Erstellung und Verbinden von NFS Exports
  7. Erstellung und Verbinden von CIFS Shares

Let’s go:

01. Deployment und Konfiguration Nexenta Connect Manager

  • Download Nexenta IO Engine Image, NexentaConnect Manager, sowie des NexentaConnect for VMware Virtual SAN vSphere WebClient PlugIn’s (Linux, da ich eine VMware vCenter Appliance im Einsatz habe) https://nexenta.com/products/downloads/nexentaconnect-vmware-virtual-san
  • Deployment des NexentaConnect Managers (NexentaConnect Manager.ovf) auf den VSAN Datastore

NexentaConnect-for-VSAN-007054 NexentaConnect-for-VSAN-007055 NexentaConnect-for-VSAN-007056 NexentaConnect-for-VSAN-007058 NexentaConnect-for-VSAN-007059 NexentaConnect-for-VSAN-007060

  • Netzwerk auswählen, über das der NexentaConnect Manager mit dem vCenter kommunizieren kann

NexentaConnect-for-VSAN-007061

  • Einstellungen bestätigen und Appliance nach dem Deployment einschalten

NexentaConnect-for-VSAN-007062

  • auf die Konsole der Appliance wechseln

NexentaConnect-for-VSAN-007063 NexentaConnect-for-VSAN-007064

  • Netzwerkeinstellungen für den NexentaConnect Manager konfigurieren

NexentaConnect-for-VSAN-007065 NexentaConnect-for-VSAN-007066 NexentaConnect-for-VSAN-007067 NexentaConnect-for-VSAN-007068 NexentaConnect-for-VSAN-007069

  • Zeitzone konfigurieren und die Konfiguration abschließen

NexentaConnect-for-VSAN-007070 NexentaConnect-for-VSAN-007071 NexentaConnect-for-VSAN-007072 NexentaConnect-for-VSAN-007073 NexentaConnect-for-VSAN-007074

02. Deployment Nexenta IO Engine Template

  • Deployment des Nexenta IO Engine Image’s (Nexenta IO Engine Image.ovf) auf den VSAN Datastore

NexentaConnect-for-VSAN-007075 NexentaConnect-for-VSAN-007076 NexentaConnect-for-VSAN-007077 NexentaConnect-for-VSAN-007078 NexentaConnect-for-VSAN-007079

  • Netzwerk auswählen, in dem die Storage Appliance später erreichbar sein soll und mit dem vCenter, sowie dem NexentaConnect Manager „sprechen“ kann

NexentaConnect-for-VSAN-007080

  • Einstellungen überprüfen und Wizard abschließen. WICHTIG: Das Nexenta IO Engine Image NICHT EINSCHALTEN! Diese VM ist lediglich eine „Template-VM“, aus der die produktive Storage Appliance in Schritt 6 durch einen Clone erstellt wird

NexentaConnect-for-VSAN-007081 NexentaConnect-for-VSAN-007082

 

03. Installation und Konfiguration NC VSAN VCSA Installer / WebClient PlugIn

  • in diesem Beispiel verwende ich eine vCenter Server Appliance. Damit im nächsten Schritt der Nexenta WebClient PlugIn Installer per SCP auf die vCenter Appliance übertragen werden kann, müssen ein paar Vorbereitungen getroffen werden
  • per SSH auf die vCenter Appliance (wenn im Einsatz) und in der Shell (shell.set –enabled True & shell) per Befehl (/usr/bin/chsh -s „/bin/bash“ root) die Standard-Shell des vCenters auf die root-Shell ändern

NexentaConnect-for-VSAN-007083NexentaConnect-for-VSAN-007084NexentaConnect-for-VSAN-007085 NexentaConnect-for-VSAN-007091

  • Ordner /installer (mkdir /installer) erstellen, von dem aus das vSphere WebClient PlugIn installiert werden soll

NexentaConnect-for-VSAN-007086

  • Übertragen des Nexenta WebClient PlugIn Installer’s (NC_VSAN-VCSA-Installer-x.x.xxx.tar) per SCP auf die vCenter Appliance in den Ordner /installer (in meinem Fall per WinSCP)

NexentaConnect-for-VSAN-007092 NexentaConnect-for-VSAN-007093 NexentaConnect-for-VSAN-007094

  • in der vCenter Appliance Shell per cd /installer in den Installationsordner wechseln und mit ls -l prüfen, ob das File übertragen wurde

NexentaConnect-for-VSAN-007095

  • Installer per tar -xvf NC_VSAN-VCSA-Installer-1.0.904.tar entpacken

NexentaConnect-for-VSAN-007096

  • Nexenta WebClient Plugin per ./install.sh -action install -vcuser root -nexenta <nc_manager_ip> installieren (<nc_manager_ip> ist die IP des NexentaConnect Managers aus Schritt 1) – Kennwort für den angegebenen vCenter User eingeben, damit das Script startet

NexentaConnect-for-VSAN-007097

NexentaConnect-for-VSAN-007098

04. Abschluss der Basiskonfiguration

  • nach erfolgreicher Installation am vSphere WebClient anmelden

NexentaConnect-for-VSAN-007099

  • über Nexenta Connect Settings die erkannten Einstellungen validieren und bestätigen

NexentaConnect-for-VSAN-007100 NexentaConnect-for-VSAN-007102 NexentaConnect-for-VSAN-007104

  • unter Configure Network können eine Domäne, sowie DNS Server vor allem für den CIFS/SMB Zugriff konfiguriert werden (in meinem Beispiel bleibe ich bei einer Workgroup)

NexentaConnect-for-VSAN-007105 NexentaConnect-for-VSAN-007106 NexentaConnect-for-VSAN-007107 NexentaConnect-for-VSAN-007108

  • Lizenz über den Menüpunkt Register NexentaConnect eintragen

NexentaConnect-for-VSAN-007109 NexentaConnect-for-VSAN-007110

  • die Basiskonfiguration ist abgeschlossen

05. Vorbereitung für den Appliance Rollout (Größe & DHCP)

  • dieses Kapitel ist meiner Demoumgebung „veschuldet“. Da ich derzeit VMware Virtual SAN 6.2 auf 3 Intel NUC Mini PC’s betreibe (https://twitter.com/BenjaminUlsamer/status/712624101282725890) , sind meine Ressourcen „begrenzt“
  • Problem #1: Die Nexenta Storage Appliance, die aus dem Nexenta IO Image erstellt wird, hat standardmäßig 4 vCPUs & 16GB RAM. Ebenso wird für jede virtuelle CPU per default eine Reservation von 1000Mhz angelegt, sowie eine Reservation auf den kompletten RAM. Nach ein paar Mails mit dem Nexenta Support bekam ich folgenden Workaround (nur für Test-Umgebungen).
  • Workaround #1: per SSH auf die vCenter Appliance einwählenund in die Shell wecheln (shell.set –enabled True & shell)

NexentaConnect-for-VSAN-007142 NexentaConnect-for-VSAN-007143

  • die Datei /var/lib/vnas_nx/vnas_nx1.xml z.B. per vi editieren

NexentaConnect-for-VSAN-007144

  • die Zeilen <memoryLimit>X</memoryLimit> und <numCPUs>X</numCPUs>, sowie <numCoresPerSocket>X</numCoresPerSocket> bearbeiten

NexentaConnect-for-VSAN-007145

  • in meinem Fall bekommt die zukünftige Storage Appliance beim Rollout 1 vCPU, eine Reservation von 1.000Mhz CPU, 8GB RAM, sowie eine Reservation von 8GB RAM. So mögen das die kleinen Intel NUC’ies ;)

NexentaConnect-for-VSAN-007159

  • Problem #2: Die Nexenta Storage Appliance, die aus dem Nexenta IO Image erstellt wird, benötigt beim ersten Start eine DHCP-Adresse. Anschließend läuft ein Script, welches eine definierte fixe IP setzt. Ein DHCP-Server ist somit „unabdingbar“. Mehrere vom Nexenta Support vorgeschlagenen „Workarounds“, der Storage Appliance direkt eine fixe IP vergeben zu können, scheiterten.
  • Workaround #2: Da ich in einer „isolierten“ Umgebung unterwegs bin, habe ich mir einen temporären DHCP für die Dauer des Deployment in Schritt 6 aufgesetzt  :) (http://www.dhcpserver.de/cms/)

NexentaConnect-for-VSAN-007268 NexentaConnect-for-VSAN-007269 NexentaConnect-for-VSAN-007289 NexentaConnect-for-VSAN-007290 NexentaConnect-for-VSAN-007292 NexentaConnect-for-VSAN-007295 NexentaConnect-for-VSAN-007296

06. Erstellung und Verbinden von NFS Exports

  • im vSphere WebClient über Nexenta Connect for Virtual SAN den vsanDatastore auswählen

NexentaConnect-for-VSAN-007484 NexentaConnect-for-VSAN-007485

  • im Reiter Overview unten unter File Services auf Add Folder klicken

NexentaConnect-for-VSAN-007486

  • Folder Name, IP-Adresse der Storage Appliance, Netzmaske & MTU Size der Storage Appliance, Protokoll (NFS oder SMB), VSAN Storage Policy, Größe, sowie bei Bedarf Advanced Settings vergeben – Create
  • Hinweis: Alle Einstellungen unter Filer Network Settings sind die Einstellungen für die virtuelle Storage Appliance, die aus dem Nexenta IO Engine Image erstellt wird. Diese Einstellungen können nur bei der Anlage des ersten „Folders“ angegeben werden. Alle weiteren „Folder“ (NFS oder SMB) hängen sich danach automatisch mit an die virtuellen Storage Appliance

NexentaConnect-for-VSAN-007487

  • da es sich um das 1. angelegte Folder handelt, wird im Hintergrund die Storage Appliance aus dem Nexenta IO Engine „Template“ unter Beachtung unserer Einstellungen aus Schritt 5 erstellt, gestartet und konfiguriert

NexentaConnect-for-VSAN-007488 NexentaConnect-for-VSAN-007489 NexentaConnect-for-VSAN-007490 NexentaConnect-for-VSAN-007491 NexentaConnect-for-VSAN-007492

  • im Reiter User Configuration kann der Zugriff auf den angelegten NFS Ordner/Export eingeschränkt werden (in meinem Beispiel gebe ich das Netz 192.168.168.0/24 frei)

NexentaConnect-for-VSAN-007494

  • über Add Folder lege ich in meinem Beispiel ein 2. NFS Folder (Export) mit entsprechenden Berechtigungen an. Die Einstellungen unter Filer Network Settings können wie erwartet nicht verändert werden

NexentaConnect-for-VSAN-007495 NexentaConnect-for-VSAN-007496 NexentaConnect-for-VSAN-007497 NexentaConnect-for-VSAN-007498

  • in meinem Beispiel verbinde ich die angelegten NFS-Exports per esxcli storage nfs add -H <Nexenta_Storage_Appliance_IP> -s /volumes/<VSAN_Policy_Name>/<NFS_Foldername> -v <datastorename> an zwei weitere ESXi Hosts ausserhalb meines VSAN Clusters

NexentaConnect-for-VSAN-007499 NexentaConnect-for-VSAN-007500 NexentaConnect-for-VSAN-007501

 

07. Erstellung und Verbinden von CIFS Shares

  • um CIFS/SMB Shares zu erstellen, klickt man wie bei NFS auf Add Folder

NexentaConnect-for-VSAN-007502

  • …und vergibt Name, SMB, VSAN Storage Policy, Größe, sowie Advaced Settings

NexentaConnect-for-VSAN-007503 NexentaConnect-for-VSAN-007504

  • die Berechtigungsverwaltung auf das angelegte Share kann über die Computerverwaltung / MMC erfolgen (Remote Computer)
  • per Default kann das neu angelegte Share über \\<Nexenta_Storage_Appliance_IP>\<VSAN_Policy_Name>_<SMB_Foldername> verbunden werden
  • der default SMB-User ist: Username: smb, Passwort: nexenta

NexentaConnect-for-VSAN-007509 NexentaConnect-for-VSAN-007515

And that’s it… File Services mit NFS und CIFS on top of VMware Virtual SAN mit NexentaConnect :)

PS: Weiterführende Informationen zum Thema erweiterte Einstellungen, Berechtigungen, Snapshots usw., findet man hier: https://nexenta.com/sites/default/files/docs/ReleaseNotes/NexentaConnect-VMware-VSAN-UserGuide-1.0.2-FP3-GA.pdf

– I wish I could be a Virtual Machine –

Benjamin Ulsamer

Advertisements