OpenNebula는 재부팅 후 VM을 시작할 수 없습니다

OpenNebula는 재부팅 후 VM을 시작할 수 없습니다

새로운 Debian에 Debian-7-opennebula-4.4.0-1.tar.gz를 새로 설치하고 sunstone을 통해 시작할 VM을 얻었습니다.

libvirt의 출력은 다음과 같습니다.

2013-12-26 12:48:12.919+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/root USER=root LOGNAME=root QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-1.1 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name one-30 -uuid f12869a4-52e0-0568-9a04-53986c8c73c9 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/one-30.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/one//datastores/0/30/disk.0,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/var/lib/one//datastores/0/30/disk.1,if=none,id=drive-ide0-0-1,readonly=on,format=raw,cache=none -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive file=/var/lib/one//datastores/0/30/disk.2,if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=20,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=02:00:0a:0a:00:04,bus=pci.0,addr=0x3 -vnc 0.0.0.0:30 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
qemu: terminating on signal 15 from pid 13422
2013-12-26 13:13:30.448+0000: shutting down

그러나 호스트를 재부팅한 후 OpenNebula/Sunstone/KVM이 작업을 변경하고 VM이 더 이상 시작되지 않으며 출력은 다음과 같습니다.

2013-12-27 09:39:06.511+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin HOME=/ QEMU_AUDIO_DRV=none /usr/bin/kvm -S -M pc-1.1 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name one-30 -uuid 1dcb4efc-4915-5685-b2d0-4a66e12c81c9 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/one-30.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/one//datastores/0/30/disk.0,if=none,id=drive-ide0-0-0,format=raw,cache=none -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/var/lib/one//datastores/0/30/disk.1,if=none,id=drive-ide0-0-1,readonly=on,format=raw,cache=none -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 -drive file=/var/lib/one//datastores/0/30/disk.2,if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev tap,fd=20,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=02:00:0a:0a:00:04,bus=pci.0,addr=0x3 -vnc 0.0.0.0:30 -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
kvm: -drive file=/var/lib/one//datastores/0/30/disk.0,if=none,id=drive-ide0-0-0,format=raw,cache=none: could not open disk image /var/lib/one//datastores/0/30/disk.0: Permission denied
2013-12-27 09:39:06.917+0000: shutting down

이 두 가지를 비교할 때 가장 먼저 눈에 띄는 것은 매개변수의 차이입니다. 재부팅하기 전에는 이었고 HOME=/root USER=root LOGNAME=root지금은 HOME=/.

무엇이 변경되었으며 어떻게 다시 되돌릴 수 있나요? 구성 파일 자체에서는 아무것도 변경하지 않았으며, opennebula 작업에 sunstone을 사용했습니다.

자세한 내용은 다음 데이터 저장소 콘텐츠를 참조하세요.

 # ls -ahl /var/lib/one//datastores/0/30/
total 388K
drwxr-xr-x 2 oneadmin     oneadmin     4.0K Dec 27 10:47 .
drwxr-xr-x 5 oneadmin     oneadmin     4.0K Dec 27 10:36 ..
-rw-r--r-- 1 oneadmin     oneadmin     1.1K Dec 26 13:48 deployment.0
-rw-r--r-- 1 oneadmin     oneadmin     1.1K Dec 27 10:39 deployment.1
-rw-r--r-- 1 oneadmin     oneadmin     1.1K Dec 27 10:47 deployment.2
lrwxrwxrwx 1 oneadmin     oneadmin       18 Dec 26 13:48 disk.0 -> /dev/vg0/lv-one-10
lrwxrwxrwx 1 oneadmin     oneadmin       58 Dec 26 13:48 disk.1 -> /var/lib/one/datastores/1/7793795d8fa6b6e82aecec2b129c5ba3
-rw-r--r-- 1 libvirt-qemu libvirt-qemu 364K Dec 26 13:48 disk.2
lrwxrwxrwx 1 oneadmin     oneadmin       35 Dec 26 13:48 disk.2.iso -> /var/lib/one/datastores/0/30/disk.2

# ls -ahl /dev/vg0/lv-one-10
lrwxrwxrwx 1 root root 7 Dec 26 14:15 /dev/vg0/lv-one-10 -> ../dm-6

# ls -ahl /dev/dm-6
brw-rw---T 1 root disk 253, 6 Dec 26 14:15 /dev/dm-6

답변1

OpenNebula 데몬이 처음으로 루트로 시작된 것 같습니다. OpenNebula는 사용자로 실행하기 위한 것이지만 oneadmin일부 작업을 수행하려면 일부 권한 세트가 필요합니다. 처음에는 VM을 루트로 실행하고 디스크에 액세스할 수 있었기 때문에 작동했습니다.

표준 설치에서 VM은 oneadmin사용자로 실행되며 사용자가 그룹에 있어야 하는 LVM LV에 액세스합니다 disk. 보시다시피 LV에는 그룹 disk( /dev/dm-6)에 대한 RW 권한이 있습니다.

LVM에 대한 요구 사항은 다음에서 확인할 수 있습니다.문서 페이지.

관련 정보