On 28/01/14 13:37, Schlacta, Christ wrote: > Has anyone done the work to boot a machine (physical or virtual) from a > CEPH filesystem or RBD? Booting a VM from RBD is doable in modern QEMU. The QEMU process connects to RBD and presents it to the VM as a standard block device, the VM doesn't know what implements its storage, and doesn't care. Whatever is presented as sda or vda, will be booted from. This is a dump of an actual domain for a test VM, you'll notice only one virtual disk, and that disk, is on Ceph. > root@cn2:~# virsh dumpxml testceph > <domain type='kvm' id='3'> > <name>testceph</name> > <uuid>9500e87f-822b-d54f-a4a3-39134a2c367d</uuid> > <memory unit='KiB'>4194304</memory> > <currentMemory unit='KiB'>4194304</currentMemory> > <vcpu placement='static'>1</vcpu> > <resource> > <partition>/machine</partition> > </resource> > <os> > <type arch='x86_64' machine='pc-1.1'>hvm</type> > <boot dev='hd'/> > </os> > <features> > <acpi/> > <apic/> > <pae/> > </features> > <clock offset='utc'/> > <on_poweroff>destroy</on_poweroff> > <on_reboot>restart</on_reboot> > <on_crash>restart</on_crash> > <devices> > <emulator>/usr/bin/kvm-spice</emulator> > <disk type='network' device='disk'> > <driver name='qemu' type='raw'/> > <auth username='libvirt'> > <secret type='ceph' uuid='aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee'/> > </auth> > <source protocol='rbd' name='libvirt-pool/testceph-vda'> > <host name='sn0.domain' port='6789'/> > <host name='sn1.domain' port='6789'/> > <host name='sn2.domain' port='6789'/> > </source> > <target dev='vda' bus='virtio'/> > <alias name='virtio-disk0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> > </disk> > <controller type='virtio-serial' index='0'> > <alias name='virtio-serial0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> > </controller> > <controller type='usb' index='0'> > <alias name='usb0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> > </controller> > <controller type='pci' index='0' model='pci-root'> > <alias name='pci0'/> > </controller> > <interface type='bridge'> > <mac address='52:54:00:f8:77:95'/> > <source bridge='br0'/> > <target dev='vnet0'/> > <model type='virtio'/> > <alias name='net0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> > </interface> > <serial type='pty'> > <source path='/dev/pts/0'/> > <target port='0'/> > <alias name='serial0'/> > </serial> > <console type='pty' tty='/dev/pts/0'> > <source path='/dev/pts/0'/> > <target type='serial' port='0'/> > <alias name='serial0'/> > </console> > <input type='mouse' bus='ps2'/> > <graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'> > <listen type='address' address='127.0.0.1'/> > </graphics> > <sound model='ich6'> > <alias name='sound0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> > </sound> > <video> > <model type='cirrus' vram='9216' heads='1'/> > <alias name='video0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> > </video> > <memballoon model='virtio'> > <alias name='balloon0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> > </memballoon> > </devices> > <seclabel type='dynamic' model='apparmor' relabel='yes'> > <label>...</label> > <imagelabel>...</imagelabel> > </seclabel> > </domain> http://ceph.com/docs/master/rbd/libvirt/ covers the details pretty well. The only thing I'm missing with libvirt, is at present when you create a storage pool in libvirt; virt-manager doesn't know how to browse or work with 'rbd' storage pools. So one must hand-configure these things. Messy, but it works. I'm not sure I'm ready to go burrowing my head into the virt-manager code to figure out what needs changing, especially if others are possibly doing this already. Regards, -- Stuart Longland Systems Engineer _ ___ \ /|_) | T: +61 7 3535 9619 \/ | \ | 38b Douglas Street F: +61 7 3535 9699 SYSTEMS Milton QLD 4064 http://www.vrt.com.au _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com