Synology-Forum.nl

Firmware => Synology DSM BETA versies => Topic gestart door: cyrus1977 op 11 januari 2017, 14:16:55

Titel: Starten Virtuele machine via commandline
Bericht door: cyrus1977 op 11 januari 2017, 14:16:55
Ik ben bezig met een script en ben op zoek naar een script in de host dsm die wordt gestart als je handmatig een virtuele machine start in de DSM manager.

Heeft iemand een idee welk script wordt aangeroepen als je de start knop in DSM indrukt op zo'n machine op te starten ?
Titel: Re: Starten Virtuele machine via commandline
Bericht door: Birdy op 11 januari 2017, 16:30:13
Mag ik vragen wat het doel is ?
Ik heb het nog niet gevonden en, misschien is het ook niet te vinden omdat het waarschijnlijk geen gewoon Linux scrippie is die je aan kan roepen.
Titel: Re: Starten Virtuele machine via commandline
Bericht door: cyrus1977 op 11 januari 2017, 21:08:10
Ja dat mag je. Ik ben bezig met een custom failover script voor een klant. Die moet als een machine bijvoorbeeld "stalled" de meest recente backup van de virtual machine op starten. En ja daar heb ik de command line versie van de start up voor nodig.
Titel: Re: Starten Virtuele machine via commandline
Bericht door: Birdy op 11 januari 2017, 21:38:40
Nog even voor de duidelijkheid, het gaat toch over:

[attachimg=1]

Als dat zo is, dan kun je beter even de package download en geheel uitpakken, dan heb je alle beschikbare software op je PC en kun je makkelijker zoeken.
Maar, nogmaals, ik denk niet dat het een Linux opstart script is.
Titel: Re: Starten Virtuele machine via commandline
Bericht door: MMD op 11 januari 2017, 22:02:33

Misschien vind je hier een clou?
/var/packages/Virtualization/scripts
Titel: Re: Starten Virtuele machine via commandline
Bericht door: Birdy op 11 januari 2017, 22:07:05
Nee, die had ik al bekeken, die scripts hebben met packages install/upgrade te maken, in VDM.
Titel: Re: Starten Virtuele machine via commandline
Bericht door: Birdy op 12 januari 2017, 11:09:39
Heb met ps gekeken hoe zo'n Virtuele Machine opgestart wordt:

/usr/local/bin/qemu-system-x86_64 -name 2dc6de4a-9304-4f35-b97d-6c97faf7c082 -S -machine pc-i440fx-2.2,accel=kvm,usb=off -cpu host -m 1024 -mem-prealloc -mem-path /dev/virtualization/libvirt/qemu -realtime mlock=on -smp 1,sockets=1,cores=1,threads=1 -uuid 1b4005f4-3700-4e0e-a602-c4b1c2be4f65 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/2dc6de4a-9304-4f35-b97d-6c97faf7c082.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 -netdev tap,ifname=tap24b4a7,script=no,id=hostnet0,vhost=on,vhostfd=20 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=02:11:32:24:b4:a7,bus=pci.0,addr=0x2 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/tmp/synovmcomm/guest_interface/2dc6de4a-9304-4f35-b97d-6c97faf7c082,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=vchannel -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4 -device vhost-scsi-pci,wwpn=naa.68243d7b-4529-4bfa-9f66-33e10659a1cb,addr=0xa,id=vdisk_68243d7b-4529-4bfa-9f66-33e10659a1cb -device vhost-scsi-pci,wwpn=naa.343f9f56-0f7d-4b63-860b-835ff85f0c51,addr=0xb,id=vdisk_343f9f56-0f7d-4b63-860b-835ff85f0c51 -device vhost-scsi-pci,wwpn=naa.1f806c69-400b-4503-8ab3-5e6e817a8c2e,addr=0xc,id=vdisk_1f806c69-400b-4503-8ab3-5e6e817a8c2e -msg timestamp=on
Het wordt dus geregeld door:
/usr/local/bin/qemu-system-x86_64 en is een link naar /var/packages/Virtualization/target/bin/qemu-system-x86_64 met, uiteraard de juiste parameters.

Als ik bovengenoemd commando uitvoer, dan start VM niet op:

Citaat
char device redirected to /dev/pts/15 (label charserial0)
2017-01-12T09:40:11.060013Z qemu-system-x86_64: -netdev tap,ifname=tap24b4a7,script=no,id=hostnet0,vhost=on,vhostfd=20: vhost-net requested but could not be initialized
2017-01-12T09:40:11.070685Z qemu-system-x86_64: -netdev tap,ifname=tap24b4a7,script=no,id=hostnet0,vhost=on,vhostfd=20: Device 'tap' could not be initialized
/etc/qemu-ifdown: could not launch network script

Maar, misschien geeft dit wel een stapje in de goede richting ;)

Hierbij denk ik dat je moet gaan de-compilen (als dat mogelijk is) van alle programma's in /var/packages/Virtualization/target/bin/ om de werking te kunnen achterhalen. ;)

Overigens, Synology heeft dus gebruik gemaakt van bestaande qemu (http://wiki.qemu.org/download/qemu-doc.html)  ;)

Of.....gewoon aan Synology vragen.