如何在KVM中管理存儲池


 

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

    

通過virsh中pool命令能夠查看、創建、激活、注冊、刪除存儲池。

下面通過一些實例演示如何管理存儲池:

 

一、查看當前存儲池列表

[root@monitor log]# virsh pool-list --all
 Name                 State      Autostart
-------------------------------------------
 08-standard          inactive   yes       
 12-standard          inactive   yes       
 android-x86-4.4      inactive   yes

 

   查看某一存儲池的具體信息(以XML形式存在)

 

[root@monitor log]# virsh  pool-dumpxml 08-standard
<pool type='dir'>
  <name>08-standard</name>
  <uuid>7e833c26-ee26-4ab3-85c6-a1184d790969</uuid>
  <capacity unit='bytes'>0</capacity>
  <allocation unit='bytes'>0</allocation>
  <available unit='bytes'>0</available>
  <source>
  </source>
  <target>
    <path>/data/zgytest/hk/windows/08-standard</path>
  </target>
</pool>

查看具體信息,結果類似於解析上面的XML:

[root@monitor log]# virsh pool-info 08-standard
Name:           08-standard
UUID:           7e833c26-ee26-4ab3-85c6-a1184d790969
State:          inactive
Persistent:     yes
Autostart:      yes

 

  二、創建一個新的存儲池

這里仿照上面的XML文件,編寫一個命為poolB的XML文檔,內容如下[位於/home/poolB]:

 

[root@kvm02 home]# cat poolB  
  
<pool type='dir'>  
  <name>poolB</name>  
  <source>  
  </source>  
  <target>  
    <path>/home/img</path>  
    <permissions>  
      <mode>0700</mode>  
      <owner>-1</owner>  
      <group>-1</group>  
    </permissions>  
  </target>  
</pool>  

 

 

 

調用pool-create命令,加載上面的XML文件:

virsh # pool-create /home/poolB  
從 poolB 中創建池 /home/poolB   
  
virsh # pool-list  
名稱                 狀態       自動開始    
-----------------------------------------  
default              活動       yes         
poolB                活動       no 

 

查看創建的poolB狀態:

virsh # pool-info poolB  
名稱:          poolB  
UUID:           1e03e100-1f12-f004-1ee2-ae739eda746c  
狀態:          running  
Persistent:     no  
自動啟動:      no  
容量:          451.83 GB  
分配:          100.22 GB  
可用:          351.61 GB  
  
virsh # pool-dumpxml poolB  
<pool type='dir'>  
  <name>poolB</name>  
  <uuid>1e03e100-1f12-f004-1ee2-ae739eda746c</uuid>  
  <capacity>485150105600</capacity>  
  <allocation>107614916608</allocation>  
  <available>377535188992</available>  
  <source>  
  </source>  
  <target>  
    <path>/home/img</path>  
    <permissions>  
      <mode>0700</mode>  
      <owner>-1</owner>  
      <group>-1</group>  
    </permissions>  
  </target>  
</pool>  

 

 

 

 

 

   三、KVM存儲池管理目錄

  KVM創建的存儲池可以理解為一種映射關系,即將某一塊掛接至宿主機器上的存儲空間形成可被KVM使用的邏輯存儲池,以方便虛擬主機的管理。

  默認KVM將這些存儲池的配置文件存放於/etc/libvirt/storage

 

 

 

四、刪除一個存儲池

 

 

 

刪除poolB的命令如下:

 

 

 

virsh # pool-destroy poolB  
銷毀池 poolB  
  
virsh # pool-list 名稱 狀態 自動開始 ----------------------------------------- default 活動 yes virsh # 

 

存儲池報錯:

 

Requested operation is not valid: storage pool is not active

 

此錯誤發生在iSCSI存儲問題時。確保:

1.tgtd服務在服務器上運行並存儲。

2.如果在添加新節點時發生錯誤,則ssh訪問該節點並執行:

[root@free ~]# virsh  pool-list --all
Name               Status Auto start
-----------------------------------------
File                 active yes       
iSCSI-UGLY_004       not active yes

 

如果你看到iSCSI-UGLY_004not active yes,嘗試刪除存儲並再次添加一個新節點:

root@free ~]# virsh pool-undefine iSCSI-UGLY_004
 iSCSI-UGLY_004 has been deleted

 

 

 

 

參考:

 

 http://blog.csdn.net/my2005lb/article/details/8635661

https://doc.ispsystem.com/index.php/VMmanager_Troubleshooting


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM