ich habe schon lange das Problem, das mein Supermicro X11SSL-CF sehr lange Zeit ebnötigt, um ESXi zu booten.
Der Bootvorgang stockt immer für längere Zeit bei der Meldung
nfs41client successfully loaded
Vermutlich liegt das irgendwie an dem napp-it AiO Setup, bei dem ja napp-it per nfs wieder Datastores für VMs an ESXi bereitstellt.
Bislang war die Verzögerung immer nur einige Minuten, jetzt sitze ich aber schon 40 Minuten und warte genau mit dieser Meldung.
Gefühlt warte ich bei jedem Bootvorgang länger...
Auf die Gefahr hin, dass ich tatsächlich der Einzige bin, der Probleme mit langen Bootzeiten des ESXi aufgrund von fehlenden NFS Datastores durch ein AiO Setup hat, möchte ich trotzdem kurz beschreiben, wie ich es gelöst habe:
In der boot.conf Datei auf dem ESXi Bootdevice (liegt in einem volume Verzeichnis unter /vmfs/volumes/<uuid>) habe ich "jumpstart.disable=nfs41,restore-nfs-volumes" in der Zeile "kernelopt=" ergänzt. Das sieht dann bei mir so aus:
Code:
bootstate=0
title=
timeout=5
prefix=
kernel=b.b00
kernelopt=installerDiskDumpSlotSize=2560 no-auto-partition jumpstart.disable=nfs41,restore-nfs-volumes
modules=jumpstrt.gz --- useropts.gz --- features.gz --- k.b00 --- chardevs.b00 --- user.b00 --- procfs.b00 --- uc_intel.b00 --- uc_amd.b00 --- uc_hygon.b00 --- vmx.v00 --- vim.v00 --- sb.v00 --- s.v00 --- ata_liba.v00 --- ata_pata.v00 --- ata_pata.v01 --- ata_pata.v02 --- ata_pata.v03 --- ata_pata.v04 --- ata_pata.v05 --- ata_pata.v06 --- ata_pata.v07 --- block_cc.v00 --- bnxtnet.v00 --- bnxtroce.v00 --- brcmfcoe.v00 --- char_ran.v00 --- ehci_ehc.v00 --- elxiscsi.v00 --- elxnet.v00 --- hid_hid.v00 --- i40en.v00 --- iavmd.v00 --- igbn.v00 --- ima_qla4.v00 --- ipmi_ipm.v00 --- ipmi_ipm.v01 --- ipmi_ipm.v02 --- iser.v00 --- ixgben.v00 --- lpfc.v00 --- lpnic.v00 --- lsi_mr3.v00 --- lsi_msgp.v00 --- lsi_msgp.v01 --- lsi_msgp.v02 --- misc_cni.v00 --- misc_dri.v00 --- mtip32xx.v00 --- ne1000.v00 --- nenic.v00 --- net_bnx2.v00 --- net_bnx2.v01 --- net_cdc_.v00 --- net_cnic.v00 --- net_e100.v00 --- net_e100.v01 --- net_enic.v00 --- net_fcoe.v00 --- net_forc.v00 --- net_igb.v00 --- net_ixgb.v00 --- net_libf.v00 --- net_mlx4.v00 --- net_mlx4.v01 --- net_nx_n.v00 --- net_tg3.v00 --- net_usbn.v00 --- net_vmxn.v00 --- nfnic.v00 --- nhpsa.v00 --- nmlx4_co.v00 --- nmlx4_en.v00 --- nmlx4_rd.v00 --- nmlx5_co.v00 --- nmlx5_rd.v00 --- ntg3.v00 --- nvme.v00 --- nvmxnet3.v00 --- nvmxnet3.v01 --- ohci_usb.v00 --- pvscsi.v00 --- qcnic.v00 --- qedentv.v00 --- qfle3.v00 --- qfle3f.v00 --- qfle3i.v00 --- qflge.v00 --- sata_ahc.v00 --- sata_ata.v00 --- sata_sat.v00 --- sata_sat.v01 --- sata_sat.v02 --- sata_sat.v03 --- sata_sat.v04 --- scsi_aac.v00 --- scsi_adp.v00 --- scsi_aic.v00 --- scsi_bnx.v00 --- scsi_bnx.v01 --- scsi_fni.v00 --- scsi_hps.v00 --- scsi_ips.v00 --- scsi_isc.v00 --- scsi_lib.v00 --- scsi_meg.v00 --- scsi_meg.v01 --- scsi_meg.v02 --- scsi_mpt.v00 --- scsi_mpt.v01 --- scsi_mpt.v02 --- scsi_qla.v00 --- sfvmk.v00 --- shim_isc.v00 --- shim_isc.v01 --- shim_lib.v00 --- shim_lib.v01 --- shim_lib.v02 --- shim_lib.v03 --- shim_lib.v04 --- shim_lib.v05 --- shim_vmk.v00 --- shim_vmk.v01 --- shim_vmk.v02 --- smartpqi.v00 --- uhci_usb.v00 --- usb_stor.v00 --- usbcore_.v00 --- vmkata.v00 --- vmkfcoe.v00 --- vmkplexe.v00 --- vmkusb.v00 --- vmw_ahci.v00 --- xhci_xhc.v00 --- elx_esx_.v00 --- btldr.t00 --- esx_dvfi.v00 --- esx_ui.v00 --- esxupdt.v00 --- weaselin.t00 --- lsu_hp_h.v00 --- lsu_inte.v00 --- lsu_lsi_.v01 --- lsu_lsi_.v00 --- lsu_lsi_.v04 --- lsu_lsi_.v02 --- lsu_lsi_.v03 --- lsu_smar.v00 --- native_m.v00 --- qlnative.v00 --- rste.v00 --- vmware_e.v00 --- vsan.v00 --- vsanheal.v00 --- vsanmgmt.v00 --- xorg.v00 --- imgdb.tgz --- state.tgz
build=6.7.0-3.89.15160138
Damit wird das nfs41 Kernelmodul gar nicht erst geladen (weil nicht benötigt) und das nfs3 Modul versucht beim Booten nicht die Datastores zu mounten, denn der entsprechende NFS Server (hier napp-it) ist ja noch nicht gestartet, da es eine VM innerhalb des ESXi ist.
So geht das Booten bei mir wieder schnell ohne >60 Minuten Wartezeit. Allerdings muss nach erfolgreichem Booten von ESXI und nachdem die NAS VM (napp-it) gestartet ist das restore-nfs-volumes im ESXI angestoßen werden. Dazu habe ich in napp-it unter Services->Bonjour & Autostart die folgende Zeile ergänzt.
Code:
ssh <esxi-ip-adresse> /bin/esxcfg-nas -r
So ganz klar war mir bei napp-it nicht, ob ich dann noch "
Bonjour dns/multicast service" enablen muss oder nicht. Ich habe es gemacht und es funktioniert.
Dadurch wird nach Hochfahren von napp-it im ESXI das Verbinden der NFS Datastores getriggert. Voraussetzung ist natürlich, dass root sich vom napp-it Server
per ssh und Public-Key-Authentication ohne Passwort Dialog auf den ESXi Server verbinden kann. Außerdem sollte die Austart-Verzögerungszeit der VM, die nach der NAS-VM (napp-it) gestartet wird, ggf. verlängert werden. Diese darf natürlich erst starten, nachdem napp-it (per Bonjour Skript) die NFS Datastore Verbindungen wiederhergestellt hat. Habe es im Moment auf 180 Sekunden, vermutlich geht es aber auch mit geringeren Werten.
Wenn ich mehr Zeit habe, werde ich nochmal ein komplett neues Setup von ESXI machen, dann vermutlich die Version 7.0.
Da bin ich aber nicht ganz sicher, ob es ggf. Probleme mit folgenden Punkten gibt:
- Durchreichen des onboard SATA Controller (passthrough.map)
- Durchreichen der USB PCIe Karte
- Mellanox ConnectX-3 Support
Ich meine zumindest mich beim ersten Punkt zu erinnern, dass es da Probleme gibt. Richtig?