Re: Ceph storage pool definition with KVM/libvirt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I haven't used the libvirt pools too much. To me, they are fairly confusing as support for them seems to vary based on what you are doing.

On 10/16/2014 2:45 PM, Dan Geist wrote:
Thanks, Brian. That helps a lot. I suspect that wasn't needed if the MON hosts were defined within ceph.conf, but hadn't tried it previously.

To go with the pools quesiton, I'm able to define a pool for my RBD cluster (and it obtains storage info, images present, etc). Is there a way to refer to the pool definition in the host vm's xml?

For example, is it possible to do something like this:
<disk type='network' device='disk'>
       <driver name='qemu' type='raw'/>
       <pool name='rbdpool'>
         <target='objectnameinpool'>
       </pool>
       <target dev='vda' bus='virtio'/>
</disk>

Paraphrasing or course, but can we leverage the contents of the pool definitions to abstract them at runtime on VMs or are they purely there for generation of the vm settings when a vm is instantiated?

Thanks
Dan

----- Original Message -----
From: "Brian Rak" <brak@xxxxxxxxxxxxxxx>
To: "Dan Geist" <dan@xxxxxxxxxx>, "Dan Ryder (daryder)" <daryder@xxxxxxxxx>
Cc: ceph-users@xxxxxxxxxxxxxx
Sent: Thursday, October 16, 2014 9:55:40 AM
Subject: Re:  Ceph storage pool definition with KVM/libvirt

What I've found is the nicest way of handling this is to add all the
mons to your ceph.conf file.  The QEMU client will use these if you
don't define any in the libvirt config.

Similarly, define a libvirt 'secret' and you can use that for auth, so
you only have one place to change it.  My entire libvirt config (for
attaching an iso) looks like:

<disk type='network' device='cdrom'>
    <driver name='qemu' type='raw'/>
    <auth username='my-cephx-username'>
      <secret type='ceph' uuid='4cca0052-a45e-4727-a926-829b135f1e19'/>
    </auth>
    <source protocol='rbd' name='some-pool/some-rbd'/>
    <target dev='hdc' bus='ide'/>
    <readonly/>
    <address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>


On 10/16/2014 9:21 AM, Dan Geist wrote:
Thanks Dan (Doctor, doctor...)

Correct. I'd like to abstract the details of the rbd storage from the VM definitions as much as possible (like not having the monitor IPs/ports defined). I plan on experimenting with monitors and so forth on ceph and would like to not have to touch every single VM when changes are made. Small mods to the storage pool on each hypervisor are not so bad...

In your example, do you still need the "host" definitions in both disk (per VM) and source (per pool) stanzas? Also, do you not use cephx for authentication? I'd love to have that defined in the pool as well if possible, allowing per-hypervisor authentication instead of per-host (not necessarily for security, but for less complex managability).

Dan


----- Original Message -----
From: "Dan Ryder (daryder)" <daryder@xxxxxxxxx>
To: "Dan Geist" <dan@xxxxxxxxxx>
Cc: ceph-users@xxxxxxxxxxxxxx
Sent: Thursday, October 16, 2014 8:41:50 AM
Subject: RE: Ceph storage pool definition with KVM/libvirt

Hi Dan,



Maybe I misunderstand what you are trying to do, but I think you are trying to add your Ceph RBD pool into libvirt as a storage pool?



If so, it's relatively straightforward - here's an example from my setup:



<disk type='network' device='disk'>

        <driver name='qemu' type='raw' cache='none'/>

        <source protocol='rbd' name='volumes/volume-f3bcec3d-7daf-4eff-818e-0d8848c120d5'>

          <host name='xxx.18.116.67' port='6789'/>

          <host name='xxx.18.116.177' port='6789'/>

          <host name='xxx.18.116.178' port='6789'/>

        </source>



Related libvirt storage pool definition is:



<pool type="rbd">

          <name>LibvirtStoragePoolName</name>

          <source>

            <name>volumes</name>

              <host name='xxx.18.116.177' port='6789'/>

              <host name='xxx.18.116.178' port='6789'/>

              <host name='xxx.18.116.67' port='6789'/>

          </source>

</pool>





Hope this helps,



Dan Ryder



-----Original Message-----
From: ceph-users [mailto:ceph-users-bounces@xxxxxxxxxxxxxx] On Behalf Of Dan Geist
Sent: Wednesday, October 15, 2014 4:37 PM
To: ceph-users@xxxxxxxxxxxxxx
Subject:  Ceph storage pool definition with KVM/libvirt



I'm leveraging Ceph in a vm prototyping environment currently and am having issues abstracting my VM definitions from the storage pool (to use a libvirt convention).



I'm able to use the rbd support within the disk configuration of individual VMs but am struggling to find a good reference for abstracting it to a storage pool. How do I pull the source definition from below to the pool definition?





<disk type='network' device='disk'>

    <driver name='qemu' type='raw'/>

    <auth username='libvirt'>

      <secret type='ceph' uuid='447aba2d-3507-4c1f-90c8-e60ea5ac92fb'/>

    </auth>

    <source protocol='rbd' name='libvirt-pool/Ubuntu_sample_host_disk'>

      <host name='xxx.175.240.174' port='6789'/>

      <host name='xxx.175.240.176' port='6789'/>

      <host name='xxx.175.240.178' port='6789'/>

    </source>

    <target dev='vda' bus='virtio'/>

    <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </disk>





Thanks.

Dan



--

Dan Geist dan(@)polter.net

_______________________________________________

ceph-users mailing list

ceph-users@xxxxxxxxxxxxxx<mailto:ceph-users@xxxxxxxxxxxxxx>

http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

_______________________________________________
ceph-users mailing list
ceph-users@xxxxxxxxxxxxxx
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com




[Index of Archives]     [Information on CEPH]     [Linux Filesystem Development]     [Ceph Development]     [Ceph Large]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [xfs]


  Powered by Linux