kvm存储池和存储卷管理配置(基于目录,基于NFS,基于分区)

存储池

​ 由libvirt管理的文件、目录或存储设备,提供给虚拟机使用。存储池被分为存储卷,这些存储卷保存虚拟镜像或连接到虚拟机作为附加存储。

命令:

virsh存储池的相关命令

pool-autostart 自动启动某个池
pool-build 建立池 
pool-create-as 从一组变量中创建一个池
pool-create 从一个 XML 文件中创建一个池
pool-define-as 在一组变量中定义池 
pool-define 在一个XML文件中定义(但不启动)一个池或修改 已有池 
pool-delete 删除池 
pool-destroy 销毁(删除)池
pool-dumpxml 将池信息保存到XML文档中 
pool-edit 为存储池编辑 XML 配置 
pool-info 查看存储池信息 
pool-list 列出池 pool-name 将池 UUID 转换为池名称
pool-refresh 刷新池 pool-start 启动一个(以前定义的)非活跃的池
pool-undefine 取消定义一个不活跃的池 
pool-uuid 把一个池名称转换为池 UUID

存储卷的相关命令

vol-clone 克隆卷。 
vol-create-as 从一组变量中创建卷 
vol-create 从一个 XML 文件创建一个卷 
vol-create-from 生成卷,使用另一个卷作为输入。 
vol-delete 删除卷 vol-download 将卷内容下载到文件中 
vol-dumpxml 保存卷信息到XML文档中 
vol-info 查看存储卷信息 
vol-key 根据卷名或路径返回卷的key 
vol-list 列出卷 vol-name 根据给定卷key或者路径返回卷名
vol-path 根据卷名或key返回卷路径 vol-pool 为给定密钥或者路径返回存储池
vol-resize 重新定义卷大小 
vol-upload 将文件内容上传到卷中 vol-wipe 擦除卷

以本地目录创建存储池和存储卷

  1. 创建test1池,目录在/test1
     格式:  virsh pool-define-as <pool> <type> --target <dir>       
     
           virsh pool-define-as test1 dir --target /test1   
    
  2. 构建test1池
      格式: virsh pool-build <pool>
         
      	   virsh pool-build test1
    
  3. 启动test1池
    格式: virsh pool-start <pool>
    
         virsh pool-start test1
    
  4. 自启动test1池
    格式: virsh pool-autostart <pool>
         virsh pool-autostart test1
    
  5. 查看test1的状态
    virsh pool-list --all
       test1                active     yes
    
  6. 查看具体存储池vm的信息
    格式:  virsh pool-info <pool>
    
  7. 查看存储池VM中的卷
    virsh vol-list <pool>
    
  8. 查看虚拟机的磁盘设备
    virsh domblklist <domain>
    
  9. 为test1池创建磁盘文件
     virsh vol-create -as <pool> <diskfilename> <size>  --format <disktype>
     virsh vol-create-as test1 test1.qcow2 10G  --format qcow2
    
  10. 使用test1磁盘下的磁盘文件,安装系统
virt-install -n test1 -r 1024 -l /kvm/iso/centos7.iso --disk /test1/test1.qcow2 --nographics -x 'console=ttyS0'

以分区创建test2池

以logical创建test2池

  1. 查看刚刚添加的硬盘(sdb)
     [root@localhost ~]# lsblk
       NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
       sda               8:0    0  100G  0 disk 
       ├─sda1            8:1    0    1G  0 part /boot
       └─sda2            8:2    0   99G  0 part 
       ├─centos-root 253:0    0   50G  0 lvm  /
       ├─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
       └─centos-home 253:2    0 45.1G  0 lvm  /home
       sdb               8:16   0   20G  0 disk 
       sr0              11:0    1  9.5G  0 rom
    创建物理卷
       # pvcreate /dev/sdb
    创建卷组
       #vgcreate test2 /dev/sdb
    查看卷组
      # vgs
        VG     #PV #LV #SN Attr   VSize   VFree  
          centos   1   3   0 wz--n- <99.00g   4.00m
          test2    1   0   0 wz--n- <20.00g <20.00g
    
  2. 创建test2池,目录在/dev/test2下
     virsh pool-define-as test2 logical --target /dev/test2
    
  3. 开启test2池
    virsh pool-start test2
    
  4. 自启动test2池
     virsh pool-autostart test2
    
  5. 查看test2池状态
    virsh pool-list --all
     test2                active     yes
    
  6. 创建test2存储卷,创建test2.qcow2磁盘文件(磁盘文件在/dev/test2/)
    virsh vol-create-as test2 test2.qcow2 10G --format qcow2
    
  7. 使用刚刚创建test2.qcow2磁盘文件安装系统
     virt-install -n test2 -r 1024 --vcpus 1 -l /kvm/iso/centos7.iso  --disk /dev/test2/test2.qcow2 --nographics -x 'console=ttyS0'
    

使用nfs仓库常见池(另开一台服务器添加一块新硬盘)

  1. 创建物理卷
      pvcreate /dev/sdb
    
  2. 创建卷组
    vgcreate test3 /dev/sdb
    
  3. 查看卷组详细信息(查看total pe)
    vgdisplay test3
     Total PE 12799
    
  4. 创建逻辑卷
    lvcreate -l 12799 -n test3 /dev/test3
    
  5. 查看逻辑卷
    lvs
    ...
     test3 test3  -wi-a----- <50.00g
    
  6. 格式化逻辑卷
     mkfs -t xfs /dev/test3/test3
    
  7. 安装nfs和rpcbind
       yum -y install nfs-utils rpcbind
    
  8. 启动rpcbind
    systemctl start rpcbind && systemctl enable rpcbind
    
  9. 启动nfs
    systemctl start nfs &&  systemctl enable nfs
    
  10. 创建nfs共享目录
    mkdir /mnt/nfs
    echo "/mnt/nfs *(rw,sync,no_root_squash)" >> /etc/exports
    exportfs -av
    exporting *:/mnt/nfs
    
  11. 将逻辑卷挂载到nfs目录下
     mount /dev/test3/test3 /mnt/nfs/
    
  12. 永久挂载
     echo "/dev/test3/test3 /mnt/nfs xfs  default 0 0" >> /etc/fstab
    
  13. kvm宿主机也需要安装rpcbind
    rpm -q rpcbind
    rpcbind-0.2.0-49.el7.x86_64
    
  14. 启动 rpcbind
     systemctl start rpcbind && systemctl enable rpcbind
    
  15. 检测是否可以查看到nfs服务器
    格式: showmount -e nfs服务器IP
          showmount -e 192.168.42.2
    
  16. 创建test3池,以netfs类型创建(把远程的nfs挂载到本地/mnt下)
    virsh pool-define-as test3 netfs --source-host 192.168.42.1 --source-path /mnt/nfs --target /mnt    
    
  17. 构建test3池
    virsh pool-build test3
    
  18. 开启test3池
     virsh pool-start test3
    
  19. 自启动test3池
    virsh pool-autostart test3
    
  20. 查看test3池的状态
    virsh pool-list --all
      test3                active     yes 
    
  21. 创建test3池的存储卷,并创建一块磁盘test3.qcow2,
    virsh vol-create-as test3 test3.qcow2 10G --format qcow2
    
  22. 在nfs服务器上查看一下是否有1没有test3.qcow2
    ls /mnt/nfs/
      test3.qcow2
    
  23. 使用test3.qcow2磁盘安装系统(关闭防火墙和selinux)
     virt-install -n test3 -r 1024 --vcpus 1 -l /kvm/iso/centos7.iso  --disk /mnt/test3.qcow2 --nographics -x 'console=ttyS0'    
    
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值