<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@PMingLiU";
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:"MS Mincho";
        panose-1:2 2 6 9 4 2 5 8 3 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle18
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:99.25pt 85.05pt 85.05pt 85.05pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="mso-fareast-language:JA">Hi John-san,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal">Thank you for <span style="mso-fareast-language:JA">your </span>
review<span style="mso-fareast-language:JA"> of</span> my summit suggestion and I understand your indication.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">Could you see my following comments?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal">-------------<span style="mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><a href="http://summit.openstack.org/cfp/details/166">http://summit.openstack.org/cfp/details/166</a><o:p></o:p></span></p>
<p class="MsoNormal">There's a lot here, based on conversations in IRC and the excellent wiki you put together
<o:p></o:p></p>
<p class="MsoNormal">I'm still trying to get a clear picture here.<o:p></o:p></p>
<p class="MsoNormal">Let's start by taking transport protocol out of the mix; I believe what you're proposing
<o:p></o:p></p>
<p class="MsoNormal">is a shared, multi-attach LV (over iscsi, fibre or whatever). That seems to fall under
<o:p></o:p></p>
<p class="MsoNormal">the multi-attach feature.<o:p></o:p></p>
<p class="MsoNormal">-------------<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal">So both my BP and BP of "multi-attach-volume" <span style="mso-fareast-language:JA">
need</span> multi attach <span style="mso-fareast-language:JA">feature</span>, but<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">in my understanding, </span>
the target layer and <span style="mso-fareast-language:JA">goals are different .<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Let me explain <span style="mso-fareast-language:JA">the </span>
add<span style="mso-fareast-language:JA">i</span>tional point.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">* </span>"multi-attach-volume"<span style="mso-fareast-language:JA">: Implement the volume  multi attach
</span>feature<span style="mso-fareast-language:JA">.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">     Main target layers is Nova layer. (and a little cinder layer implement?).
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">* </span>My BP <span style="mso-fareast-language:JA">
: Implement a generic LVM volume driver using LVM  on <o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">   a storage volume</span>(over iscsi, fibre or whatever)<span style="mso-fareast-language:JA"> attached to multi compute nodes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">   Target layers are both Nova and Cinder layer.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  The different point is the former case, the cinder volume is needed to create<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  by other cinder storage driver with supported storage, and after that the
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  feature can attach a volume to multiple instances.(and also hosts)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  On the other hands, my BP targets generic LVM driver and  not depends on<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  specific vendor storage. The driver
</span>just provide feature<span style="mso-fareast-language:JA">s</span> to create/delete/snapshot<span style="mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"> <span style="mso-fareast-language:JA">volume, </span>etc from<span style="mso-fareast-language:JA"> a
</span>volume group <span style="mso-fareast-language:JA">on multi attached storage</span>.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  The point is user needs to c</span>reate a storage volume using<span style="mso-fareast-language:JA"> own
</span>storage<span style="mso-fareast-language:JA"> </span>management tool<span style="mso-fareast-language:JA">,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  attach the created volume to multiple compute nodes, create VG on the volume and<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  configure it to cinder.conf as a “volume_group”.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  So, multi-attach feature is not a target feature to implement. The driver just<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  requires an environment of LVM on a storage attached to multi compute nodes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  I think my proposed LVM driver is
</span>orthogonal<span style="mso-fareast-language:JA"> to the </span>"multi-attach-volume"<span style="mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  and we can use </span>
"multi-attach-volume"<span style="mso-fareast-language:JA"> and my BP </span>in combination<span style="mso-fareast-language:JA">.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">Here is my additional understanding for both BPs.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">[A] My BP<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  <a href="https://blueprints.launchpad.net/cinder/+spec/lvm-driver-for-shared-storage">
https://blueprints.launchpad.net/cinder/+spec/lvm-driver-for-shared-storage</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>The goal of my BP is supporting a volume group on a volume which is attached to<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>multiple compute nodes.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>So the proposed driver just provide a feature to create/delete/snapshot, etc from<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>volume group same as existing LVMiSCSI driver.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>But the difference from LVMiSCSI driver, the prepared volume group on a storage<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>volume is required to be attached to multiple compute nodes in order to recognize<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>multiple compute nodes simultaneously instead of using iSCSI target.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>The multi attached storage and volume group on it is needed to prepare before cinder<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>configuration by user without any cinder features because the target of my driver is<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>generic LVM driver and my driver targets to support a storages environment which<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>does not have cinder storage driver.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>[Preparation of volume_group]<span style="mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span> (a) <span style="mso-fareast-language:JA">
An user c</span>reate a storage volume using <span style="mso-fareast-language:JA">
“</span>storage management tool<span style="mso-fareast-language:JA">”</span>.<span style="mso-fareast-language:JA">(not cinder feature)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span> (b) Export a created volume to multiple compute nodes.<span style="mso-fareast-language:JA">(using FC host group or iSCSI target feature)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">   </span> (c) Create volume group on a
<span style="mso-fareast-language:JA">exported</span> storage volume.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span> (d) Configure the volume group for the cinder "volume_group".<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">[B]</span> <span style="mso-fareast-language:JA">
BP of </span>multi-attach-volume<span style="mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  <a href="https://blueprints.launchpad.net/cinder/+spec/multi-attach-volume">
https://blueprints.launchpad.net/cinder/+spec/multi-attach-volume</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>The goal of this BP is attaching a cinder volume to multiple instances.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>In my understanding, providing a cinder volume multi-attach feature is
<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>a goal of this BP.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Steps<span style="mso-fareast-language:JA"> to multi attach<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>(1) Create a volume using "cinder volume driver" with "supported storage".<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>   Driver and supported driver is required.<span style="mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>(2) Export a created volume to multiple compute nodes via FC, iSCSI, etc.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>(3) Attach a created volume to multiple instances with RO/RW mode.<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>(4) As a result, multiple instances can recognize a single cinder volume<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  </span>   simultaneously.<span style="mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal">-------------<o:p></o:p></p>
<p class="MsoNormal">I'm also trying to understand your statements about improved performance. Could you maybe<o:p></o:p></p>
<p class="MsoNormal">add some more detail or explanation around this things or maybe grab me on IRC when convenient?<o:p></o:p></p>
<p class="MsoNormal">-------------<o:p></o:p></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  This explains a comparison between LVMiSCSI and my BP driver.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  Current LVMiSCSI driver uses a cinder node as a “virtual storage” using software iSCSI target.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  This is useful and not depends on storage arrangement, but we have to access a volume group<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  via network even if we have FC environment. If we have multi attached FC volume, it is better
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  to access the volume via FC instead of iSCSI target.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  As a result, we expect better I/O performance and latency to access multi attached FC volume<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA">  to compute nodes.  This is a point which I mentioned.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:black">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Mitsuhiro Tanino <<a href="mitsuhiro.tanino@hds.com">mitsuhiro.tanino@hds.com</a>><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">     <b>HITACHI DATA SYSTEMS<o:p></o:p></b></span></p>
<p class="MsoNormal"><span style="color:black">     c/o Red Hat, 314 Littleton Road, Westford, MA 01886</span><span style="color:black;mso-fareast-language:JA"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:JA"><o:p> </o:p></span></p>
</div>
</body>
</html>