天天看點

KVM中管理存儲池(建立和删除)

KVM平台以存儲池的形式對存儲進行統一管理,所謂存儲池可以了解為本地目錄、通過遠端磁盤陣列(iSCSI、NFS)配置設定過來磁盤或目錄,當然也支援各類分布式檔案系統。

     通過virsh中pool指令能夠檢視、建立、激活、注冊、删除存儲池。

     下面通過一些執行個體示範如何管理存儲池:

     一、檢視目前存儲池清單

進入到 virsh控制台

<code>[root@kvm02 kvmcontrol]</code><code># virsh -c qemu:///system </code>

<code>     </code><code>歡迎使用 virsh,虛拟化的互動式終端。 </code>

<code>   </code> 

<code>   </code><code>輸入:</code><code>'help'</code> <code>來獲得指令的幫助資訊 </code>

<code>       </code><code>'quit'</code> <code>退出 </code>

<code>virsh </code><code># pool-list </code>

<code>名稱                 狀态       自動開始   </code>

<code>----------------------------------------- </code>

<code>default              活動       </code><code>yes</code>        

<code>poolB                活動       no</code>

檢視某一存儲池的具體資訊(以XML形式存在)

<code># pool-dumpxml default </code>

<code>&lt;pool </code><code>type</code><code>=</code><code>'dir'</code><code>&gt; </code>

<code>  </code><code>&lt;name&gt;default&lt;</code><code>/name</code><code>&gt; </code>

<code>  </code><code>&lt;uuid&gt;a6029537-29c8-285c-4b9a-533d4c264c7f&lt;</code><code>/uuid</code><code>&gt; </code>

<code>  </code><code>&lt;capacity&gt;52844687360&lt;</code><code>/capacity</code><code>&gt; </code>

<code>  </code><code>&lt;allocation&gt;26866851840&lt;</code><code>/allocation</code><code>&gt; </code>

<code>  </code><code>&lt;available&gt;25977835520&lt;</code><code>/available</code><code>&gt; </code>

<code>  </code><code>&lt;</code><code>source</code><code>&gt; </code>

<code>  </code><code>&lt;</code><code>/source</code><code>&gt; </code>

<code>  </code><code>&lt;target&gt; </code>

<code>    </code><code>&lt;path&gt;</code><code>/var/lib/libvirt/images</code><code>&lt;</code><code>/path</code><code>&gt; </code>

<code>    </code><code>&lt;permissions&gt; </code>

<code>      </code><code>&lt;mode&gt;0700&lt;</code><code>/mode</code><code>&gt; </code>

<code>      </code><code>&lt;owner&gt;-1&lt;</code><code>/owner</code><code>&gt; </code>

<code>      </code><code>&lt;group&gt;-1&lt;</code><code>/group</code><code>&gt; </code>

<code>    </code><code>&lt;</code><code>/permissions</code><code>&gt; </code>

<code>  </code><code>&lt;</code><code>/target</code><code>&gt; </code>

<code>&lt;</code><code>/pool</code><code>&gt;</code>

檢視具體資訊,結果類似于解析上面的XML:

<code># pool-info  default </code>

<code>名稱:          default </code>

<code>UUID:           a6029537-29c8-285c-4b9a-533d4c264c7f </code>

<code>狀态:          running </code>

<code>Persistent:     </code><code>yes</code> 

<code>自動啟動:      </code><code>yes</code> 

<code>容量:          49.22 GB </code>

<code>配置設定:          25.02 GB </code>

<code>可用:          24.19 GB</code>

二、建立一個新的存儲池

這裡仿照上面的XML檔案,編寫一個命為poolB的XML文檔,内容如下[位于/home/poolB]:

<code>[root@kvm02 home]</code><code># vi poolB </code>

<code>  </code><code>&lt;name&gt;poolB&lt;</code><code>/name</code><code>&gt; </code>

<code>    </code><code>&lt;path&gt;</code><code>/home/img</code><code>&lt;</code><code>/path</code><code>&gt; </code>

調用pool-create指令,加載上面的XML檔案:

<code>virsh </code><code># pool-create /home/poolB </code>

<code>從 poolB 中建立池 </code><code>/home/poolB</code>  

檢視建立的poolB狀态:

<code>virsh </code><code># pool-info poolB </code>

<code>名稱:          poolB </code>

<code>UUID:           1e03e100-1f12-f004-1ee2-ae739eda746c </code>

<code>Persistent:     no </code>

<code>自動啟動:      no </code>

<code>容量:          451.83 GB </code>

<code>配置設定:          100.22 GB </code>

<code>可用:          351.61 GB </code>

<code>virsh </code><code># pool-dumpxml poolB </code>

<code>  </code><code>&lt;uuid&gt;1e03e100-1f12-f004-1ee2-ae739eda746c&lt;</code><code>/uuid</code><code>&gt; </code>

<code>  </code><code>&lt;capacity&gt;485150105600&lt;</code><code>/capacity</code><code>&gt; </code>

<code>  </code><code>&lt;allocation&gt;107614916608&lt;</code><code>/allocation</code><code>&gt; </code>

<code>  </code><code>&lt;available&gt;377535188992&lt;</code><code>/available</code><code>&gt; </code>

三、KVM存儲池管理目錄

KVM建立的存儲池可以了解為一種映射關系,即将某一塊挂接至主控端器上的存儲空間形成可被KVM使用的邏輯存儲池,以友善虛拟主機的管理。

  預設KVM将這些存儲池的配置檔案存放于/etc/libvirt/storage

 四、删除一個存儲池

删除poolB的指令如下:

<code>virsh </code><code># pool-destroy poolB </code>

<code>銷毀池 poolB </code>

<code>default              活動       </code><code>yes</code>

當然了,以上是指令方法操作,我們也可以在圖形化下進行操作

<a href="http://s3.51cto.com/wyfs02/M01/70/A6/wKioL1W7E2XhDls2AAFLTGCnwK8069.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M01/70/AA/wKiom1W7EXXRMfsMAAJBN1cNCXY028.jpg" target="_blank"></a>

本文轉自 jackjiaxiong 51CTO部落格,原文連結:http://blog.51cto.com/xiangcun168/1680498