ESXi Hot Snaps mit Napp-IT erstellen

Traviso

Profi
Thread Starter
Mitglied seit
25.10.2020
Beiträge
170
Hallo,

ich versuche unter Napp-IT ESXi Hot Snaps für meine zwei ESXi-Server einzurichten.
Der Public Key der NAPP IT Appliance wurde auf beiden ESXi-Servern abgelegt.
ESXi ist als Version 7.0U2 installiert. NAPP-IT in der Version 22.01b.
Vorgegangen bin ich dabei nach der in Napp-IT angezeigten Anleitung.

Beim Abrufen der VM-Liste sieht es dann so aus:

1643231033346.png


In der danach generierten VM Liste sieht es so aus:

1643231109423.png

D.h. es wird nur eine der virtuellen Maschine in der Liste der verfügbaren virtuellen Maschinen angezeigt.

Rufe ich die Liste der virtuellen Maschinen über das Terminal ab, so sieht es so aus:
1643231207465.png


Woran kann es liegen, dass die insgesamt 7 virtuellen Maschinen auf den beiden Servern nicht in die Liste der verfügbaren VMs aufgenommen werden ? Oder habe ich irgendwo einen Denkfehler ?

Vielen Dank im Voraus für eure Hilfe.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich habe im Script
"/var/web-gui/data/napp-it/zfsos/15_Jobs and data services/011_ESXi hot-snaps/12_request ESXi VM list/action.pl" nachgesehen.

Ursache ist dass VMs auf Speicherorten "datastore.." als lokale ESXi Speicher und nicht als ZFS Speicher interpretiert und übersprungen werden. Die z.B. in nfs1-960 umbenennen.
 
Ursache ist dass VMs auf Speicherorten "datastore.." als lokale ESXi Speicher und nicht als ZFS Speicher interpretiert und übersprungen werden. Die z.B. in nfs1-960 umbenennen.
Alles klar, vielen Dank für den Hinweis.
 
Alternativ das Unterdrücken von VMs auf lokalem Datastore deaktivieren/ auskommentieren
(Zeile 73 im Menü Script)
 
Alternativ das Unterdrücken von VMs auf lokalem Datastore deaktivieren/ auskommentieren
(Zeile 73 im Menü Script)
Vielen Dank! Das Umbenennen hat funktioniert. Gibt es einen Grund, warum die lokalen Datastore´s normalerweise nicht berücksichtigt werden sollen ?
 
Ich hänge mich mal hier mit dran, da thematisch passend - aber leicht anderes Problem (auf ZFS appliance Free v. 21.06a12):

Nachdem ich meinen NFS-pool (mehrfach) neu in ESXi einbinden musste, kann ich keine snaps mehr anlegen.

Die ESXi VM Liste bekomme ich weiterhin problemlos importiert:

Code:
ESXi server   Vmid         Name                               File                               Guest OS         Version                                                                                                                                 Annotation                                                                                                                              
esxi.TLD.de   22  OmniOSCE   [S3700-200] OmniOS/OmniOS-new.vmx                   solaris11_64Guest     vmx-21   
esxi.TLD.de   65  unifi   [vmpool-storagenet] unifi/unifi.vmx                 debian12_64Guest      vmx-21                    
esxi.TLD.de   66  Win10VM-services   [vmpool-storagenet] Win10VM/Win10VM.vmx             windows9_64Guest      vmx-21                                                                                                                                          
esxi.TLD.de   67  plex   [vmpool-storagenet] plex2/plex2.vmx                 debian12_64Guest      vmx-21                                                                                                                                                                            
esxi.TLD.de   68  photon   [vmpool-storagenet] photon/photon.vmx               vmwarePhoton64Guest   vmx-21   
esxi.TLD.de   69  netboot   [vmpool-storagenet] netboot-test/netboot-test.vmx   other5xLinux64Guest   vmx-21                                                                                                                                         
esxi.TLD.de   70  docker   [vmpool-storagenet] docker/docker.vmx               debian12_64Guest      vmx-21          
esxi.TLD.de   71  Debian-media   [vmpool-storagenet] debian-media/Debian10.vmx       debian12_64Guest      vmx-21                                                                                                                                                   
esxi.TLD.de   72  Daphile   [vmpool-storagenet] Daphile2/Daphile.vmx            other5xLinux64Guest   vmx-21

Ein "import new actions" für den pre-snap job bleibt aber leider leer:

Code:
# sudo ssh -l root host vim-cmd vmsvc/snapshot.create [VmId] [snapshotName] [snapshotDescription] [includeMemory] [quiesced]
# Commands are executed and logged line by line. For special actions call a script like sh /path/myscript.sh
# The includeMemory and quiesced variables are boolean values. Set the value to 1 to enable or 0 to disable the snapshot option.
# You can delete lines or disable with a '#' at the beginning of a line.
#

Help :-)
 
Ich würde empfehlen auf ein aktuelles napp-it.dev upzudaten.
Im aktuellen .ova OmniOS Storageserver template ist das enthalten. Man kann mit napp-it free auch einen evalkey nehmen um upzudaten, https://www.napp-it.org/extensions/evaluate.html

Den Mechanismus für ESXi Snaps habe ich da komplett überarbeitet und vereinfacht, siehe Menü System > ESXi > ssh*.
Damit lassen sich viele ESXi Vorgänge anstoßen. ESXi Snaps sind im Replikations oder Snapjob integriert. Man muss lediglich ssh aktivieren und die ESXi ip in den Jobeinstellungen angeben.
 
Zuletzt bearbeitet:
Hallo,

funktioniert das nachträgliche Setzen des Parameters esxi_ip für hot snaps bei den Relpikations-Jobs? Ich finde im erzeugten Backup keinen zusätzlichen Snapshot (z.B. eine Datei vmname-Snapshot42.vmsn).
Ich habe das die Tage mal eingerichtet und mir ging das im Backup irgendwie zu schnell. Im Log steht
request remote snap destroy time: 2024.07.03.16.22.57 line: 906 vm/vmstore@1617386429_repli_zfs_backupserver_nr_44
okcreate ESXi snaps time 1 s time: 2024.07.03.16.22.56
okstart job-esxisnap.pl create_1617386429 ip=192.168.10.3 fs=/vm/vmstore opt=m time: 2024.07.03.16.22.55
next replication started time: 2024.07.03.16.22.55 line: 143

Manuell über das Menü (SSH automate --> create ESXi snaps on NFS) klappt das. Die Erstellung jedes einzelnen Snapshots wird dann auch in den Aufgaben im ESXi-Webinterface angezeigt. Das Erstellen der VM-Snaps dauert aber ca. 2 Minuten...

Edit: Ich habe testweise mal einen neuen Snap-Job mit hotsnaps angelegt: Gleiches Problem.
 
Zuletzt bearbeitet:
Man muss nichts weiter einstellen als die ESXi ip in den Replikations Settings (wenn SSH funktioniert)
Geht denn quiesce? Das geht schneller als Hotmemory
z.B. als ESXi ip: 1.1.1.2,q
 
Ich habe es auch mal ganz ohne Parameter probiert. Ging auch nicht (ah, ok scheint dann die SOAP-variante zu nutzen)
Nur als ich mich bei der IP vertippt hatte, hat es mal länger als 1 Sekunde gedauert.
Hier der Snap-Job:
poolvm
keep2
hold60
namevmweekly
delzerono
prejobno
esxi_ip192.168.10.3,m
disable-recno
md5

Und mit q:

ok time: 2024.07.03.18.05.48 info: zfs snapshot -r vm@vmweekly-1616440417_2024.07.03.18.05.46
destroyed 0 snaps k/h=0 zero=0 time: 2024.07.03.18.05.48
ok delete autojob ESXi snaps time 0 s time: 2024.07.03.18.05.48
ok start job-esxisnap.pl remove_1616440417 ip=192.168.10.3 fs=/vm opt=q time: 2024.07.03.18.05.48
 
Zuletzt bearbeitet:
Kein Änderung.
Habe nochmal einen neuen Snap-Job angelegt. Aber da ist das Verhalten gleich.
 
Das Script das die ESXi Snaps erzeugt wird folgendermaßen aufgerufen (Console/Putty als root). $id=jobid
perl /var/web-gui/data/napp-it/zfsos/_lib/scripts/esxi/job-esxisnap.pl create_$id
 
Nach "getallvms" passiert irgendwie nichts mehr. Die VM-Liste lässt sich jedoch abrufen.

Edit: Ich habe testweise einen neuen NFS-Datenspeicher Names "test" erstellt. Gleiches Bild. Am Namen liegt's also nicht.
Die Napp-it GUI zeigt alle VM's an und kann auch ESXi-Snapshots erstellen.

Code:
root@nas:~# perl /var/web-gui/data/napp-it/zfsos/_lib/scripts/esxi/job-esxisnap.pl create_1616440417
job: esxi_ip=192.168.10.3,q
start; job-esxisnap.pl create_1616440417 ip=192.168.10.3 fs=/vm opt=q
method: ssh (opt without p)
(183) ssh -l root 192.168.10.3 vim-cmd "vmsvc/getallvms"<br>
time 0 s
ESXi ssh snaps created:  ; Successfull:

end


root@nas:~# ssh -l root 192.168.10.3 vim-cmd "vmsvc/getallvms"
Vmid        Name                             File                              Guest OS          Version   Annotation
1      napp-it          [datastore1] napp-it/napp-it.vmx                 solaris11_64Guest       vmx-13
10     windows          [vmstorage] windows/windows.vmx                  windows9_64Guest        vmx-13
12     photon           [vmstorage] photon/photon.vmx                    vmwarePhoton64Guest     vmx-20
3      windows-server   [datastore2] windows-server/windows-server.vmx   windows9Server64Guest   vmx-13
4      ubuntu-server    [vmstorage] privoxy/privoxy.vmx                  ubuntu64Guest           vmx-20
5      CentOS           [vmstorage] CentOS/CentOS.vmx                    centos7_64Guest         vmx-13
6      homeassistant    [vmstorage] homeassistant/homeassistant.vmx      other5xLinux64Guest     vmx-20
9      ubuntu-desktop   [vmstorage] ubuntu-desktop/ubuntu-desktop.vmx    ubuntu64Guest           vmx-13
 
Zuletzt bearbeitet:
Ich vermute dass es daran liegt, dass der Dateisystem-Name nicht erscheint. Bei mir sieht es so aus
[ip_"Name des NFS Daueisystem"]

Daran erkennt das Script für welche VMs es einen Snap erstellen soll (Die auf dem NFS Dateisystem liegen)
Das ZFS Dateisystem z.B. nvme/nfs oder nfs2 muss unter Filé auftauchen.

Code:
ssh -l root 192.168.2.48 vim-cmd "vmsvc/getallvms"
Vmid          Name                                     File                                     Guest OS          Version   Annotation
10     _solaris11.4cbe.50   [192.168.2.203_nvme_nfs] solaris11.4cbe/solaris11.4cbe.vmx   solaris11_64Guest        vmx-19      
11     w2019.124            [192.168.2.203_nvme_nfs] w2019/w2019.vmx                     windows2019srv_64Guest   vmx-19      
12     oi10.2022.36         [192.168.2.203_nvme_nfs] oi10.2022/oi10.2022.vmx             solaris11_64Guest        vmx-20      
14     w11.64               [192.168.2.203_nvme_nfs] w11/w11.vmx                         windows11_64Guest        vmx-20       
16     danube               [192.168.2.203_nvme_nfs] danube/danube.vmx                   solaris11_64Guest        vmx-20      
18     tn_scale.22          [192.168.2.203_nvme_nfs] tn_scale.22/tn_scale.22.vmx         debian5_64Guest          vmx-20      
20     omnios.046ad.117     [192.168.2.203_nvme_nfs] omnios.dev/omnios.dev.vmx           solaris11_64Guest        vmx-14      
23     omni050.44           [nfs2] omni046/omni046.vmx                                   solaris11_64Guest        vmx-14      
25     test.sbb.47          [nfs2] test/test.vmx                                         solaris11_64Guest        vmx-14      
26     omni_bloody.117      [nfs2] omni_bloody/omni_bloody.vmx                           solaris11_64Guest        vmx-20      
27     win10                [192.168.2.203_nvme_nfs] win10/win10.vmx                     windows9_64Guest         vmx-20      
28     promox8.71           [nfs2] promox8/promox8.vmx                                   otherLinux64Guest        vmx-20      
30     bsd14.75             [nfs2] bsd14/bsd14.vmx                                       freebsd14_64Guest        vmx-20      
31     smartos.96           [192.168.2.203_nvme_nfs] smartos/smartos.vmx                 solaris11_64Guest        vmx-20      
5      dummy delay          [local_datastore] dummy delay/dummy delay.vmx                otherLinuxGuest          vmx-20      
8      omnisan              [local_datastore] omnisan/omnisan.vmx                        solaris11_64Guest        vmx-20
 
Zuletzt bearbeitet:
Hi, meinst Du es muss "nfs" im Namen des Dateisystems auftauchen oder eine IP?
Bei mir ist es das "vmstorage".
 
Das Script prüft ob das Dateisystem das repliziert wird z.B. nvme/nfs im Pfad der VM Datei enthalten ist, ein / wird dabei als _ gewertei, damit wird bei mir ein Snap angelegt. wenn im VM Pfad nvme_nfs enthalten ist.
 
Ah, jetzt habe ich es. Bei mir hießen das ZFS-Dateisystem "vm/vmstore" und der Datastore im ESXi "vmstorage".
Ich habe den Datastore erst in "vm_vmstore" umbenannt, das reichte aber nicht. Es muss noch etwas davor stehen.
Mit ZFS: vm/vmstore --> ESXi: nas_vm_vmstore läuft es nun wunderbar.
Dabei ist es auch egal ob der Snap-Job auf den ganzen pool "vm" oder das Dateisystem "vm/vmstore" angelegt ist. Bei der Replikation klappt's auch.
Super!
Danke!!!
 
Danke für den Hinweis
Ich habe unter System > ESXi > Help nochmal deutlicher darauf hingewiesen dass das ZFS Dateisystem im Datastore Namen enthalten sein muss.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh