Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ESXI/SSH/SCRIPT] Script uitvoeren gaat niet helemaal goed

Pagina: 1
Acties:

  • Aionicus
  • Registratie: Februari 2011
  • Laatst online: 08-08-2023
Goedenavond,

Meestal kom ik er zelf wel uit maar ergens denk ik dat ik een noob foutje maak haha.

Situatie is als volgt :

Ik heb een esxi hypervisor en na een reboot start hij automatisch de VM waar alle datastores op staan.
Nu is het zo dat deze via ISCSI pas zichtbaar zijn als ik de volgende 2 commando's uitvoer

code:
1
2
3
esxcfg-rescan vmhba64

esxcfg-volume -M 592f4f5d-ae2cf548-08a6-1c1b0d2cd094


(altijd dezelfde commando's geen verschil ook in de variabelen).

Ik heb gekeken of ik via rc.local .d/local.sh de commando's kon laten uitvoeren dmv

code:
1
sleep 60 && esxcfg-rescan vmhba64 && sleep 5 && esxcfg-volume -M 592f4f5d-ae2cf548-08a6-1c1b0d2cd094



nu dacht ik slim te zijn (hij start een synology vm, dus ik heb een shell) : laat ik het script toch gewoon bij boot uitvoeren en dan via ssh de commando's versturen.

passwordless login ingesteld vanaf de synology naar de esxi host.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash

echo "Lazy remount V0.1"
echo "Writing time/date of script runtime into log"
date >> /scripts/logfile_lazy.txt

## bla bla vars 

HOST=192.168.178.6
SCSI=vmhba64
VOLID=592f4f5d-ae2cf548-08a6-1c1b0d2cd094

##

echo "[001]-RESCANNING ${HOST} adapter named : ${SCSI}"
ssh root@${HOST} esxcfg-rescan ${SCSI}

echo "[002]-Mounting SCSI volume ID ${VOLID}"

ssh root@${HOST} esxcfg-volume -M ${VOLID}


Handmatig het script draaien werkt perfect. direct het geleverde resultaat.

Helaas als ik het via bv een reboot doe werkt het niet , ondanks dat het script wel lijkt te draaien (time/date word weggeschreven).

nu dacht ik nog van misschien komt het doordat ik dingen variable doorgeef, dus heb het ook met een static script geprobeerd. Helaas.

Heb ook nog een linux vm aangemaakt en even gekeken daar dmv @reboot cronjob en dat geeft hetzelfde resultaat.

Wat vergeet ik voor simpel iets :/

iemand?

  • rico_fxp
  • Registratie: Juli 2001
  • Laatst online: 25-11 07:49
Wellicht moet je je commando tussen quotes zetten bv:
ssh root@${HOST} 'esxcfg-rescan ${SCSI}'

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 14:28

Hero of Time

Moderator LNX

There is only one Legend

Quotes is niet persé nodig, maar wat je wel kan doen is wat meer verbose logging maken. Doe dat met ssh -v of meerdere 'v' erachter. Schrijf dat ook naar je log.

Commandline FTW | Tweakt met mate


  • Aionicus
  • Registratie: Februari 2011
  • Laatst online: 08-08-2023
Hmm dat was een goed idee HoT. Debug laat zien dat hij het netwerk niet kan vinden , lijkt erop alsof crons voor de netwerk stack up is worden uitgevoerd. Bijzonder.

  • Aionicus
  • Registratie: Februari 2011
  • Laatst online: 08-08-2023
Oplossing
--------------------

Door het script aan te laten roepen via /etc/network/interfaces.

-> Script via crontab uitgezet.
-> in /etc/network/interfaces het volgende toegevoegd

## Post-up Scripts

post-up /scripts/mount.sh


hierna opnieuw opgestart en het werkt vanaf een linux vm. Dus nu even kijken nog hoe ik het voor synology werkend krijg maar vooralsnog kan het topic dicht.

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 14:28

Hero of Time

Moderator LNX

There is only one Legend

Synology zal toch wel iets van een init systeem hebben? Dan zet je het script na het up brengen van het netwerk. Het zou heel simpel in rc.local kunnen, afhankelijk van de aanwezigheid hiervan, maar je kan 'm ook in /etc/init.d zetten en laten linken naar bijvoorbeeld rc3.d of rc5.d.

Commandline FTW | Tweakt met mate

Pagina: 1