[libvirt-users] ceph rbd pool and libvirt manageability (virt-install)

Pavel Hrdina phrdina at redhat.com
Tue Aug 7 10:47:00 UTC 2018


On Mon, Aug 06, 2018 at 09:19:59PM +0200, Jelle de Jong wrote:
> Hello everybody,
> 
> virt-install --version
> 1.4.0
> 
> How do I create a ceph network disk with virt-install without having to
> edit it?
> 
>     <disk type='network' device='disk'>
>       <driver name='qemu' type='raw'/>
>       <auth username='libvirt'>
>         <secret type='ceph' uuid='ec9be0c4-a60f-490e-af83-f0f27aaf48c9'/>
>       </auth>
>       <source protocol='rbd' name='libvirt-pool/zimbra-dev-disk'>
>         <host name='ceph01.powercraft.nl' port='6789'/>
>         <host name='ceph02.powercraft.nl' port='6789'/>
>         <host name='ceph03.powercraft.nl' port='6789'/>
>       </source>
>       <target dev='vda' bus='virtio'/>
>     </disk>

Hi, currently you are not able to create domain with that disk
definition, with this command line:

    --disk source_protocol=rdb,source_name=libvirt-pool/zimbra-dev-disk,\
    source_host_name=ceph01.powercraft.nl,source_host_port=6789,\
    target=vda,bus=virtio,driver_type=raw

you are able to create this definition:

    <disk type="network" device="disk">
      <driver name="qemu" type="raw"/>
      <source protocol="rdb" name="libvirt-pool/zimbra-dev-disk">
        <host name="ceph01.powercraft.nl" port="6789"/>
      </source>
      <target dev="vda" bus="virtio"/>
    </disk>

Currently there is no way how to specify <auth> on the virt-install
command line and also multiple source <host> elements.

> How do I create an new vm with the -location and -x (kickstarter) but
> without booting it, because I need to edit the xml first before the
> first boot.

Look at options "--print-xml" and "--dry-run", it depends on your
use-case.  However, the installation process has usually two steps, you
need to keep that in mind.

By default virt-install creates two XML definitions, the first one is
used to install the VM, after the installation is finished and the VM
is rebooted virt-install will power off the VM instead of rebooting it
and redefines the VM with second XML definition witch usually lacks the
installation sources.

If you need to update the XML before installation you need to handle the
installation process by yourself.  The --dry-run option can prevent
storage creation if you don't need to create any storage before the
actual installation.  If the location points to some URL you will have
to also manually download vmlinuz and initrd.

So if the XML change can wait after the guest installation I would
recommend doing that but if you need the change to XML it would be
good idea to create Feature request to add that functionality into
virt-install.

> Kind regards and best wishes,
> 
> Jelle de Jong
> 
> 
> On 08/06/15 18:44, Jelle de Jong wrote:
> > Hello everybody,
> > 
> > I created a rbd pool and activated it, but I can't seem to create
> > volumes in it with virsh or virt-install?
> > 
> > # virsh pool-dumpxml myrbdpool
> > <pool type='rbd'>
> >   <name>myrbdpool</name>
> >   <uuid>2d786f7a-2df3-4d79-ae60-1535bcf1c6b5</uuid>
> >   <capacity unit='bytes'>6997998301184</capacity>
> >   <allocation unit='bytes'>10309227031</allocation>
> >   <available unit='bytes'>6977204658176</available>
> >   <source>
> >     <host name='ceph01.powercraft.nl' port='6789'/>
> >     <host name='ceph02.powercraft.nl' port='6789'/>
> >     <host name='ceph03.powercraft.nl' port='6789'/>
> >     <name>libvirt-pool</name>
> >     <auth type='ceph' username='libvirt'>
> >       <secret uuid='029a334e-ed57-4293-bb99-ffafa8867122'/>
> >     </auth>
> >   </source>
> > </pool>
> > 
> > # virt-install --version
> > 1.0.1
> > 
> > # virsh --version
> > 1.2.9
> > 
> > I ended using virsh edit ceph-test.powercraft.nl and making creating
> > the disk manually.
> > 
> > <disk type='network' device='disk'>
> >   <auth username='libvirt'>
> > 	<secret type='ceph' uuid='029a334e-ed57-4293-bb99-ffafa8867122'/>
> >   </auth>
> >   <source protocol='rbd' name='libvirt-pool/kvm01-storage'>
> > 	<host name='ceph01.powercraft.nl' port='6789'/>
> > 	<host name='ceph02.powercraft.nl' port='6789'/>
> > 	<host name='ceph03.powercraft.nl' port='6789'/>
> >   </source>
> >   <target dev='vdc' bus='virtio'/>
> > </disk>
> > 
> > I use virt-install a lot to define, import and undefine domains, how
> > can I use virt-install to manage my rdb disks?

You cannot use virt-install to manage any disks, it is used only to
create domain XML and install the VM.  Virsh is a command line tool
for libvirt and there you can manage disks, however for ceph volume
creation is not currently implemented so you need to create them
manually.

Pavel

> > 
> > Kind regards,
> > 
> > Jelle de Jong
> > 
> > _______________________________________________
> > libvirt-users mailing list
> > libvirt-users at redhat.com
> > https://www.redhat.com/mailman/listinfo/libvirt-users
> > 
> 
> _______________________________________________
> libvirt-users mailing list
> libvirt-users at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-users
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20180807/8e5c54a0/attachment.sig>


More information about the libvirt-users mailing list