virsh pool-list --all
virsh pool-dumpxml default
<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
>
virsh pool-dumpxml default
vi 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
>
virsh pool-create /home/poolB
virsh pool-define /home/poolB
virsh pool-autostart poolB
在創建卷之前,先要創建存儲池,存儲池可以建立在好幾種方式的存儲上,現在主要建立一個基於目錄的存儲池。
首先創建了一個LVM,並將這個LVM掛載到一個目錄下,例如/kvm
然后開始創建存儲池
1。 建立存儲池的目錄
mkdir /kvm/images
2。 為了安全性,更改目錄的所有者,並設置權限
chown root:root /kvm/images
chmod 700 /kvm/images
驗證一下
ls -a /kvm/images
3。 配置SELinux文件上下文
semanage fcontext -a -t virt_image_t /kvm/images
這個主要是打開SELinux設定,不然虛擬機無法訪問存儲文件
如果沒有semanage,那么安裝policycoreutils-python
yum install policycoreutils-python
4。創建基於文件夾的存儲池
1) 定義一個存儲池
virsh pool-define-as kvm_images dir - - - - "/kvm/images"
2) 查看創建的存儲池信息
virsh pool-list --all
3) 建立基於文件夾的存儲池
virsh pool-build kvm_images
4) 使存儲池生效
virsh pool-start kvm_images
5) 這時候,存儲池還不是自動運行,使用virsh pool-autostart
virsh pool-autostart kvm_images
6) 驗證存儲池
[root@centos6 ~]# virsh pool-info kvm_images
名稱: kvm_images
UUID: 89a6434f-2106-4a98-d34c-d6b32bef6a0c
狀態: running
Persistent: yes
自動啟動: yes
容量: 170.84 GB
分配: 187.38 MB
可用: 170.66 GB
創建了存儲池后,就可以創建一個卷,這個卷是用來做虛擬機的硬盤
###############################################################################################################################################################
virsh start domain
virsh shutdown domain
virsh destroy domain
virsh undefine domain
啟動,停止,重啟,掛起,恢復domain
virsh start/stop/reboot/suspend/resume/ domain_name
關於刪除的話, 需要先停止這個虛擬機,可以通過shutdown/destroy,也可以直接殺進程
virsh shutdown/destroy domain_name
kill -9 domain_pid
然后:
virsh undefine domain_name
遇到問題:
virsh undefine test2 --nvram
通過virsh 刪除虛擬機時報錯,提示cannot undefine domain with nvram,解決方法是加上--nvram
查看 virsh dumpxml test2 | grep nvram
nvram 是uefi 啟動
https://qkxu.github.io/2020/04/17/KVM%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%94%AF%E6%8C%81UEFI%E5%90%AF%E5%8A%A8.html
參考:
https://www.likecs.com/show-204676663.html
https://www.cnblogs.com/zknublx/p/9199658.html