virsh存储池,存储卷的管理

目录

一、存储池

1. 查看存储池

2.创建物理卷,卷组

3.编写存储池xml

4.创建存储池

5.启动

6.查看

 7.扩容

8.删除

二、存储卷

1. 创建存储池

 2.创建存储卷

3.查看存储路径

4.挂载至客户机

5.查看是否挂载

6.分离磁盘

7.删除存储卷


一、存储池

1. 查看存储池

[root@libvirt ~]# virsh pool-list
 名称               状态     自动开始
-------------------------------------------
 default              活动     是       

[root@libvirt ~]# virsh pool-dumpxml default 
<pool type='dir'>
  <name>default</name>
  <uuid>8e481e78-cfa1-43b0-b89c-cf15c5414f3a</uuid>
  <capacity unit='bytes'>37688381440</capacity>
  <allocation unit='bytes'>26942775296</allocation>
  <available unit='bytes'>10745606144</available>
  <source>
  </source>
  <target>
    <path>/var/lib/libvirt/images</path>
    <permissions>
      <mode>0711</mode>
      <owner>0</owner>
      <group>0</group>
      <label>system_u:object_r:virt_image_t:s0</label>
    </permissions>
  </target>
</pool>
 

2.创建物理卷,卷组

[root@libvirt ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part 
  ├─centos-root 253:0    0 35.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
sr0              11:0    1  9.5G  0 rom  /run/media/root/CentOS 7 x86_64
[root@libvirt ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xdd5e84af 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (4196352-41943039,默认为 4196352):
将使用默认值 4196352
Last 扇区, +扇区 or +size{K,M,G} (4196352-41943039,默认为 41943039):+3G
分区 2 已设置为 Linux 类型,大小设为 3 GiB

命令(输入 m 获取帮助):t
分区号 (1,2,默认 2):2
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdd5e84af

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   8e  Linux LVM
/dev/sdb2         4196352    10487807     3145728   8e  Linux LVM

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@libvirt ~]# partprobe /dev/sdb
[root@libvirt ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part 
  ├─centos-root 253:0    0 35.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    2G  0 part 
└─sdb2            8:18   0    3G  0 part 
sr0              11:0    1  9.5G  0 rom  /run/media/root/CentOS 7 x86_64
[root@libvirt ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
[root@libvirt ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
[root@libvirt ~]# vgcreate lvm_pool /dev/sdb1 /dev/sdb2
  Volume group "lvm_pool" successfully created
[root@libvirt ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree
  centos     1   2   0 wz--n- <39.00g 4.00m
  lvm_pool   2   0   0 wz--n-   4.99g 4.99g
 

3.编写存储池xml

 [root@libvirt ~]# vim lvm_pool.xml
 

<pool type='logical'>
  <name>lvm_pool</name>
  <source>
      <device path="/dev/sdb1"/>
      <device path="/dev/sdb2"/>
  </source>
  <target>
    <path>lvm_pool</path>
  </target>
</pool>

4.创建存储池

 [root@libvirt ~]# virsh pool-define lvm_pool.xml 
在 lvm_pool 中定义池 lvm_pool.xml

[root@libvirt ~]# virsh pool-list --all
 名称               状态     自动开始
-------------------------------------------
 default              活动     是       
 lvm_pool             不活跃  否  

5.启动

[root@libvirt ~]# virsh pool-start lvm_pool 
池 lvm_pool 已启动

[root@libvirt ~]# virsh pool-list --all
 名称               状态     自动开始
-------------------------------------------
 default              活动     是       
 lvm_pool             活动     否 

6.查看

[root@libvirt ~]# virsh pool-info lvm_pool 
名称:       lvm_pool
UUID:           ecc344d0-60d1-4e24-b18f-e0a022640922
状态:       running
持久:       是
自动启动: 否
容量:       4.99 GiB
分配:       0.00 B
可用:       4.99 GiB
[root@libvirt ~]# virsh pool-dumpxml lvm_pool 
<pool type='logical'>
  <name>lvm_pool</name>
  <uuid>ecc344d0-60d1-4e24-b18f-e0a022640922</uuid>
  <capacity unit='bytes'>5360320512</capacity>
  <allocation unit='bytes'>0</allocation>
  <available unit='bytes'>5360320512</available>
  <source>
    <device path='/dev/sdb1'/>
    <device path='/dev/sdb2'/>
    <name>lvm_pool</name>
    <format type='lvm2'/>
  </source>
  <target>
    <path>/dev/lvm_pool</path>
  </target>
</pool>
 

 7.扩容

[root@libvirt ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
分区号 (3,4,默认 3):
起始 扇区 (10487808-41943039,默认为 10487808):
将使用默认值 10487808
Last 扇区, +扇区 or +size{K,M,G} (10487808-41943039,默认为 41943039):+5G
分区 3 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):3
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xdd5e84af

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   8e  Linux LVM
/dev/sdb2         4196352    10487807     3145728   8e  Linux LVM
/dev/sdb3        10487808    20973567     5242880   8e  Linux LVM

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@libvirt ~]# partprobe /dev/sdb
[root@libvirt ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part 
  ├─centos-root 253:0    0 35.1G  0 lvm  /
  └─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    2G  0 part 
├─sdb2            8:18   0    3G  0 part 
└─sdb3            8:19   0    5G  0 part 
sr0              11:0    1  9.5G  0 rom  /run/media/root/CentOS 7 x86_64

[root@libvirt ~]# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
[root@libvirt ~]# vgextend lvm_pool /dev/sdb3
  Volume group "lvm_pool" successfully extended
[root@libvirt ~]# vgs
  VG       #PV #LV #SN Attr   VSize   VFree 
  centos     1   2   0 wz--n- <39.00g  4.00m
  lvm_pool   3   0   0 wz--n-  <9.99g <9.99g
[root@libvirt ~]# virsh pool-refresh lvm_pool 
池 lvm_pool 被刷新

[root@libvirt ~]# virsh pool-info lvm_pool 
名称:       lvm_pool
UUID:           ecc344d0-60d1-4e24-b18f-e0a022640922
状态:       running
持久:       是
自动启动: 否
容量:       9.99 GiB
分配:       0.00 B
可用:       9.99 GiB
 

8.删除

 [root@libvirt ~]# virsh pool-destroy lvm_pool 
销毁池 lvm_pool

[root@libvirt ~]# virsh pool-list --all
 名称               状态     自动开始
-------------------------------------------
 default              活动     是       
 lvm_pool             不活跃  否       
[root@libvirt ~]# virsh pool-undefine lvm_pool 
池 lvm_pool 已经被取消定义

[root@libvirt ~]# virsh pool-list --all
 名称               状态     自动开始
-------------------------------------------
 default              活动     是   

二、存储卷

1. 创建存储池

[root@libvirt ~]# virsh pool-define lvm_pool.xml 
在 lvm_pool 中定义池 lvm_pool.xml

[root@libvirt ~]# virsh pool-start lvm_pool 
池 lvm_pool 已启动

[root@libvirt ~]# virsh pool-list 
 名称               状态     自动开始
-------------------------------------------
 default              活动     是       
 lvm_pool             活动     否    

 2.创建存储卷

[root@libvirt ~]# virsh vol-create-as --pool lvm_pool --name vol1 --capacity 100M
创建卷 vol1 

[root@libvirt ~]# virsh vol-dumpxml vol1 --pool lvm_pool 
<volume type='block'>
  <name>vol1</name>
  <key>I0NgcE-FGwe-HkAz-ko8r-aZ1T-unmr-XCeVo1</key>
  <source>
    <device path='/dev/sdb1'>
      <extent start='0' end='104857600'/>
    </device>
  </source>
  <capacity unit='bytes'>104857600</capacity>
  <allocation unit='bytes'>104857600</allocation>
  <physical unit='bytes'>104857600</physical>
  <target>
    <path>/dev/lvm_pool/vol1</path>
    <permissions>
      <mode>0600</mode>
      <owner>0</owner>
      <group>6</group>
    </permissions>
    <timestamps>
      <atime>1665711612.633313514</atime>
      <mtime>1665711612.633313514</mtime>
      <ctime>1665711612.635313499</ctime>
    </timestamps>
  </target>
</volume>

3.查看存储路径

[root@libvirt ~]# virsh vol-path --vol vol1 --pool lvm_pool 
/dev/lvm_pool/vol1

[root@libvirt ~]# lvs
  LV   VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos   -wi-ao---- <35.12g                                                    
  swap centos   -wi-ao----  <3.88g                                                    
  vol1 lvm_pool -wi-a----- 100.00m   

4.挂载至客户机

[root@libvirt ~]# virsh vol-list --pool lvm_pool 
 名称               路径                                  
------------------------------------------------------------------------------
 vol1                 /dev/lvm_pool/vol1                      

[root@libvirt ~]# virsh list 
 Id    名称                         状态
----------------------------------------------------

[root@libvirt ~]# virsh start centos7-1 
域 centos7-1 已开始

[root@libvirt ~]# virsh list 
 Id    名称                         状态
----------------------------------------------------
 1     centos7-1                      running

[root@libvirt ~]# virsh attach-disk --domain 1 --source /dev/lvm_pool/vol1 --target sdb
成功附加磁盘 

5.查看是否挂载

[root@libvirt ~]# virsh domblklist 1
目标     源
------------------------------------------------
hda        /opt/centos7.qcow2
hdb        /root/CentOS-7-x86_64-Everything-2009.iso
sdb        /dev/lvm_pool/vol1

6.分离磁盘

[root@libvirt ~]# virsh detach-disk --domain 1 --target sdb
成功分离磁盘

[root@libvirt ~]# virsh domblklist 1
目标     源
------------------------------------------------
hda        /opt/centos7.qcow2
hdb        /root/CentOS-7-x86_64-Everything-2009.iso

7.删除存储卷

[root@libvirt ~]# virsh vol-delete vol1 --pool lvm_pool 
卷 vol1 被删除 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风--明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值