virsh 存储池 创建与获取 virsh 虚拟机管理

 

 

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

 

posted @ 2022-03-15 15:32  redrobot  阅读(973)  评论(0编辑  收藏  举报