<div dir="ltr">Some detail steps as below:<div>1. First, We have 2 volumes with same part-uuid prefix.</div><div><img src="cid:ii_160fe26c12f7fd9a" alt="内嵌图片 1" width="562" height="71"></div><div><br></div><div>volume(yikun2) is attached to server(test)</div><div><br></div><div>2. In GuestOS(Cent OS 7), take a look at by path and by id:</div><div><img src="cid:ii_160fe2aeddb8e078" alt="内嵌图片 2" width="562" height="134"></div><div>we found both by-path and by-id vdb links was generated successfully.</div><div><br></div><div>3. attach volume(yikun2_1) to server(test)</div><div><img src="cid:ii_160fe3378cd690ca" alt="内嵌图片 4" style="margin-right: 0px;"><br></div><div><br></div><div>4. In GuestOS(Cent OS 7), take a look at by path and by id:</div><div><br></div><div><img src="cid:ii_160fe355bc629af7" alt="内嵌图片 6" width="562" height="126"><br></div><div><br></div><div>by-path soft link was generated successfully, but <span style="font-size:14px">by-id link was failed to generate.</span></div><div><span style="font-size:14px"><b>That is, in this case, if a user find the device by by-id, it would be failed to find it or find a wrong device.</b></span></div><div><span style="font-size:14px"><br></span></div><div><span style="font-size:14px">one of the user cases was happened on k8s device finding, more info you can see the ref as below:</span><br></div><div><a href="https://github.com/kubernetes/kubernetes/blob/53a8ac753bf468eaf6bcb5a07e34a0a67480df43/pkg/cloudprovider/providers/openstack/openstack_volumes.go#L463">https://github.com/kubernetes/kubernetes/blob/53a8ac753bf468eaf6bcb5a07e34a0a67480df43/pkg/cloudprovider/providers/openstack/openstack_volumes.go#L463</a><br></div><div><br></div><div>So, I think by-id is NOT a good way to find the device, but what the best practice is? let's see other idea.</div><div><br></div><div><div class="gmail_extra"><div><div class="gmail_signature"><div>Regards,</div><div>Yikun</div><div><br></div><div><font color="#666666">----------------------------------------</font></div><div><font color="#666666">Jiang Yikun(</font><span style="color:rgb(102,102,102)">Kero)</span></div><div><font color="#666666">Mail: <a href="mailto:yikunkero@gmail.com" target="_blank">yikunkero@gmail.com</a></font></div></div></div>
<br><div class="gmail_quote">2018-01-16 14:36 GMT+08:00 Zhenyu Zheng <span dir="ltr"><<a href="mailto:zhengzhenyulixi@gmail.com" target="_blank">zhengzhenyulixi@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Ops, forgot references:<div>[1] <a href="https://github.com/torvalds/linux/blob/1cc15701cd89b0ce695bbc5cff3a2bf3e2efd25f/include/uapi/linux/virtio_blk.h#L54" style="margin:0px;padding:0px;white-space:pre-wrap;font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px" target="_blank">https://github.com/<wbr>torvalds/linux/blob/<wbr>1cc15701cd89b0ce695bbc5cff3a2b<wbr>f3e2efd25f/include/uapi/linux/<wbr>virtio_blk.h#L54</a></div><div>[2] <a href="https://github.com/torvalds/linux/blob/1cc15701cd89b0ce695bbc5cff3a2bf3e2efd25f/drivers/block/virtio_blk.c#L363" style="margin:0px;padding:0px;white-space:pre-wrap;font-family:"Helvetica Neue",Arial,sans-serif;font-size:12px" target="_blank">https://github.com/<wbr>torvalds/linux/blob/<wbr>1cc15701cd89b0ce695bbc5cff3a2b<wbr>f3e2efd25f/drivers/block/<wbr>virtio_blk.c#L363</a></div></div><div class="gmail-HOEnZb"><div class="gmail-h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 16, 2018 at 2:35 PM, Zhenyu Zheng <span dir="ltr"><<a href="mailto:zhengzhenyulixi@gmail.com" target="_blank">zhengzhenyulixi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I meet a problem like this recently:</div><div><br></div><div>When attaching a volume to an instance, in the xml, the disk is described as:</div><div><br></div><div><img src="cid:ii_160fda1a828fd965" alt="Inline image 1" width="544" height="133"><br></div><div>where the serial number here is the volume uuid in Cinder. While inside the vm:</div><div>in /dev/disk/by-id, there is a link for /vdb with the name of "virtio"+truncated serial number:</div><div><br></div><div><img src="cid:ii_160fda307c55c366" alt="Inline image 2" width="544" height="49"><br></div><div><br></div><div>and according to <a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/2/html/Getting_Started_Guide/ch16s03.html" target="_blank">https://access.redhat.com/d<wbr>ocumentation/en-US/Red_Hat_Ent<wbr>erprise_Linux_OpenStack_Platfo<wbr>rm/2/html/Getting_Started_<wbr>Guide/ch16s03.html</a></div><div><br></div><div>it seems that we will use this mount the volume.</div><div><br></div><div>The truncate seems to be happen in here [1][2] which is 20 digits.</div><div><br></div><div><b>My question here is: </b>if two volume have the identical first 20 digits in their uuids, it seems that the latter attached one will overwrite the first one's link:</div><div><img src="cid:ii_160fdaaa8ea95818" alt="Inline image 3" width="544" height="343"><br></div><div>(the above graph is snapshot for an volume backed instance, the virtio-15exxxxx was point to vda before, the by-path seems correct though)</div><div><br></div><div>It is rare to have the identical first 20 digits of two uuids, but possible, so what was the consideration of truncate only 20 digits of the volume uuid instead of use full 32?</div><div><br></div><div>BR,</div><div><br></div><div>Kevin Zheng</div></div>
</blockquote></div><br></div>
</div></div><br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div></div></div>