Project

General

Profile

Feature #6228

Updated by Loïc Dachary about 9 years ago

h3. User description 

 Symptoms: 

 * When a VM has two RBD volumes attached, the admin socket only access one of them. 

 Diagnostic: 

 * Each RBD volume has its own admin socket but their name conflict and only one of them remains. 

 Workaround: 

 * No workaround. 

 Fix:  

 * The new meta variable $cctid is defined and the conflicting 
 <pre> 
 [client] 
     admin socket = /var/run/ceph/rbd-$pid.asok 
 </pre> 
 can be replaced by 
 <pre> 
 [client] 
     admin socket = /var/run/ceph/rbd-$pid-$cctid.asok 
 </pre> 

 h3. Description 

 From Mike Dawson: 

 <pre> 
 There are currently a few metavariables available for use in ceph.conf: 
 http://ceph.com/docs/master/rados/configuration/ceph-conf/#metavariables 

 In addition to those listed in that document, $pid was added in Bobtail. That allows me to get RBD admin sockets for libvirt/qemu guests by specifying 

 [client] 
     admin socket = /var/run/ceph/rbd-$pid.asok 

 in /etc/ceph/ceph.conf. That works well for VMs with a single volume, but it does not work for VMs with multiple volumes. With multiple volumes, the admin only lists data on the last volume specified, leaving me unable to monitor stats on any volumes other than the last. 

 I imagine you could specify a unique admin socket for each volume on the command-line that libvirt uses to spawn qemu, but that seems like a pain. 

 Is it possible instead to add a metavariable that would expand to the image name? This way, my ceph.conf would look like 


 [client] 
     admin socket = /var/run/ceph/$imagename.asok 

 and I would end up with admin sockets like: 

 /var/run/ceph/rbd-volume-0025b693-6230-443e-ad6a-3aa43efdd648.asok 
 /var/run/ceph/rbd-volume-009228f3-b8d7-4f3c-8458-0cdbd4809dc6.asok 

 # rbd -p volumes ls 
 volume-0025b693-6230-443e-ad6a-3aa43efdd648 
 volume-009228f3-b8d7-4f3c-8458-0cdbd4809dc6 

 I'd be happy to provide a patch if someone could give me sufficient guidance on how/where to add this functionality. 
 </pre>

Back