Rufen Sie uns an: +49 341 242 502 10

Ich war hier: FreeNASundVMware

Wiki source for FreeNASundVMware


Show raw source

===== FreeNAS und VMWare =====
== einige Besonderheiten - auch für TrueNAS interessant ==


((1)) Virtuelle Festplatten von ESXi wollen nicht
Wenn virtual Disk in TrueNAS einzubinden ist (sei es auch nur als boot-Laufwerk) dann gibt es Probleme. Diese können beseitigt werden, indem entsprechende Einstellungen vorgenommen werden:
- in der VM (bearbeiten)
- auf weitere Einstellungen gehen
- erweiterte Einstellungen (es gibt einen Editor dafür)
- Wert hinzufügen:
%%(perl)disk.EnableUUID = true%%


((1)) Einrichtung Schritt für Schritt
Vgl. insb. hier: https://b3n.org/freenas-9-3-on-vmware-esxi-6-0-guide/
""(eine Kopie der Seite unter ITService -> Knowledge -> VMWare)""
Diese Anleitung funktionierte auch mit vSphere ESXi 6.7.

Weitere Anleitungen sind hier zu finden:
- https://johnkeen.tech/freenas-11-2-and-esxi-6-7-iscsi-tutorial/
- https://www.netcomplete.ch/bwl-knowledge-base/install-freenas-esxi/

In der Dokumentation zu FreeNAS 11.3 sind zahlreiche Hinweise zur Konfiguration auf ESXi!

Bei der Wahl der Konfiguration hilft wohl diese Zusammenstellung der Benchmarkergebnisse:
- https://www.ixsystems.com/community/threads/freenas-as-vsphere-datastore.78838/
ausführlicher und weniger übersichtlich hier:
- https://elatov.github.io/2014/01/zfs-iscsi-benchmarks-tests/

Nachstehend werden die einzelnen Schritte genannt, wie ""Free-/TrueNAS"" als Storage für VMware genutzt werden kann (in einem AIO-System) - dargestellt am Beispiel VMware 7.0 mit Web-Konfiguration:

((2)) Virtual Switch erstellen
##Netzwerk => Virtuelle Switches => Virtuellen Standard Switch hinzufügen##
Optimaler Name: //""vSwitchStorage""//.
Physikalische Netzwerk-Geräte aus der Konfiguration beseitigen.
MTU auf 9000 einstellen.

((2)) Portgruppe hinzufügen
##Netzwerk => Portgruppen => Portgruppe hinzufügen##
Dabei als "virtuellen Switch" den oben neu eingerichteten auswählen.
Achtung => 2x:
- 1x für Storage Network (= für die xNAS VM)
- 1x für Storage Kernel (= seitens des Hypervisors für den Kernel NIC)

((2)) VMKernel-Adapter hinzufügen
##Netzwerk => VMKernel-Netzwerkkarten => [...] hinzufügen##
IP statisch angeben => 10.55.0.2/255.255.255.0 (die 10.55.0.1 bekommt das xNAS)

((2)) xNAS als VM installieren
Mit 2 Netzwerkkarten:
- 1x für normales Netzwerk => VM Network
- 1x für Storage => Storage Network (hier statische IP zuweisen - 10.55.0.1/24)

((2)) NFS Share
Freigabe per NFS einrichten, die für virtuelle Maschinen zur Verfügung steht. Unter Free-/TrueNAS also:

((3)) Dataset einrichten
##Storage => Pools => Add Dataset##
Parameter:
- einzige Änderung zu Standard: ##atime = off##

((3)) Freigabe selbst
##Sharing => Unix Shares => Add##
Parameter (die zu ändern sind zu Standard):
- ##authorized Networks = 10.55.0.0/24##
- ##maproot user = root##
- ##maproot group = wheel##

((2)) Speicher in VMware einbinden
##Speicher => Neuen Datenspeicher [...] => NFS [...]##
Server = IP von xNAS (10.55.0.1)
Folder/Pfad = /mnt/poolname/datasetname





Siehe auch:

((1)) Weitere allgemeine Hinweise
Einige Hinweise von einem freeNAS-Profi: https://www.ixsystems.com/community/threads/absolutely-must-virtualize-freenas-a-guide-to-not-completely-losing-your-data.12714/

((1)) Wichtig: "passthrough" für Disks, deren Controller es nicht zulässt
Siehe diesen wirklich guten Artikel: https://gist.github.com/Hengjie/1520114890bebe8f805d337af4b3a064
Kopie hier: /ownCloud/ITService/Knowledge/VMWare/How to passthrough SATA.pdf

Kurz gefasst funktioniert es folgendermaßen:

((2)) Platz im ##datastore##
Im beliebigen ##datastore## muss ein Verzeichnis für jede direkt anzubindende Festplatte erstellt werden

((2)) Festplatten in VMware identifizieren
Mit dem Befehl
##ls -l /vmfs/devices/disks/##
müssen die Festplatten identifiziert werden, die direkt eingebunden werden. Kann in etwa so aussehen:
##""-rw------- 1 root root 5000981078016 May 3 18:27 t10.ATA_____ST5000LM0002D2AN170__________________________________WCJ2P75T<br>
-rw------- 1 root root 2147483648 May 3 18:27 t10.ATA_____ST5000LM0002D2AN170__________________________________WCJ2P75T:1<br>
-rw------- 1 root root 4998833508352 May 3 18:27 t10.ATA_____ST5000LM0002D2AN170__________________________________WCJ2P75T:2""##

Nur die erste Zeile steht für die Festplatte selbst => die anderen sind wohl Partitionen... Hier ist es eine 5 TB Seagate (siehe die 5000981078016 byte).

((2)) Verknüpfung im ##datastore## zur HDD im oben erstellten Ordner erstellen
##vmkfstools -z /vmfs/devices/disks/<Name wie ermittelt oben> "/vmfs/volumes/datastore1/mein/oben/erstellter/pfad/datei_der_hdd.vmdk"##

((2)) Festplatte in die VM einbinden
Bei Einrichtung oder auch danach:
=> Festplatte hinzufügen
=> vorhandene Festplatte
=> im Datastore zum oben erstellten Link navigieren und es auswählen

Zu diesem Thema vgl. auch:
- https://www.reddit.com/r/vmware/comments/aw5nkl/raw_disks_to_vm_on_exsi_are_the_disks_truly_raw/
- https://www.ixsystems.com/community/threads/freenas-on-esxi-how-to-access-disks.8554/
- https://davidwarburton.wordpress.com/2010/10/25/rdm-mapping-of-local-sata-storage-for-esxi/
- https://www.datacommand.com.au/2016/12/01/rdm-mapping-of-local-sata-storage-for-esxi/
- https://kb.vmware.com/s/article/1017530


((1)) NFS in einem AIO
Wenn unter ESXi ein TrueNAS als Datengrab läuft und den ZFS-Speicher für GMs zur Verfügung stellen soll, dann haben wir ein "Henne und Ei" Problem... Solange TrueNAS nicht startet, können die VM-s ihren Speicher nicht haben. Dabei macht ESXi oft auch das Problem, dass auch nachdem TrueNAS gestartet ist, der unter ESXi eingebundene Speicher (NFS) nicht "aufwacht"...

Das Problem kann mit ESXCLI gelöst werden:

1) Console in ESXi einschalten
1) per SSH verbinden
1) eingeben:
%%(perl)
esxcli storage nfs remove -v datastoreXXX
esxcli storage nfs add -H 10.55.0.6 -s /mnt/pfad/zu/nfsshare/ -v datastoreXXX%%

Siehe auch [[https://vdc-download.vmware.com/vmwb-repository/dcr-public/0a40d9c5-4d4b-490d-8efa-e373a0ff2109/43a3c005-3878-4e05-8b60-35aca804d61d/doc/GUID-F637CD95-B8DD-417D-B9F0-EBE84C672DA9.html einzelne Befehle hier]].


----
CategoryITKnowledge