kvm-存储卷挂载、卸载

1、作用

虚拟机在需要更多存储空间或者精简存储空间的时候,就有了存储卷的挂载和卸载动作

 

2、命令介绍
 

2.1、挂载动作

virsh attach-disk <虚拟机> <存储卷> <挂载设备>
 注意:挂载设备可以是vdx或者sdx,x是从b开始的字母

 

2.2、卸载动作

virsh detach-disk <虚拟机> <挂载设备> 
注意:挂载格式可以是vdx或者sdx

 

3、实战【挂载、卸载】
 

3.1、挂载操作

# virsh list
 Id   Name              State
---------------------------------
 1    CentOS-8-x86_64   running

 

 

3.1.2、挂载存储卷

virsh attach-disk CentOS-8-x86_64 /kvm/images/cnblog.img vdb

# 注意:vda已经被系统盘使用,所以使用vdb

 

另外i一种:
 

3.1.3、登陆虚拟机查看硬盘信息

# 登陆虚拟机
virsh console CentOS-8-x86_64

# 查看硬盘信息
[root@localhost ~]# fdisk -l /dev/vdb 

磁盘 /dev/vdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

 

 

3.1.4、格式化硬盘并且写入数据测试

# 格式化硬盘
mkfs.ext4 /dev/vdb

# 创建挂载目录
mkdir /data

# 挂载目录
mount /dev/vdb /data && cd /data

# 查看挂载信息
df -h | grep data

# 写入200M的数据测试
dd if=/dev/zero of=/data/test.zero bs=1M count=200

# ll -h
-rw-r--r--. 1 root root 200M 5月  21 18:25 test.zero

 

 

3.2、卸载操作

3.2.1、卸载目录

umount /data

 

3.2.2、卸载磁盘

virsh detach-disk CentOS-8-x86_64 vdb

 

3.2.3、登陆虚拟机查看硬盘是否存在

[root@localhost ~]# fdisk -l /dev/vdb 
fdisk: 打不开 /dev/vdb: 没有那个文件或目录

 

3.2.4、查看磁盘效果

# virsh vol-info cnblog.img keep_dpool
Name:           cnblog.img
Type:           file
Capacity:       2.00 GiB
Allocation:     1.06 GiB

 

方法2:

查看当前磁盘

查看当前磁盘
// 登陆宿主机,查看宿主机当前磁盘空间,确保宿主机有空闲的100G分给虚拟机
df -hT
// 登陆虚拟机,确认虚拟机的盘号,比如现在已经有了 /dev/sdb这个盘,我们加的时候就不能再加sdb了
fdisk -l

 

确认当前虚拟机的虚拟磁盘位置

我们需要手动创建虚拟磁盘,你想一下,这个虚拟机已经有一块虚拟磁盘了,放到 /var下面,我们手动创建的虚拟磁盘最好也放到/var下面,否则东一块西一块,以后岂不是很麻烦?

// 打印这台虚拟机的信息
virsh dumpxml dameng-8-65
// 编辑虚拟机的信息,最好不用这个看,相当于vim,万一不小心wq保存了就修改了
virsh edit dameng-8-65

打印后我们可以看到这样的信息:

<disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/data/kvm/image/dameng-8-65-data01.qcow2'/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>

由此我们可以看到虚拟磁盘在 /data/kvm/image/下面

手动创建虚拟磁盘

// 这样我们在上面获取的路径下建一个新的 dameng-8-65-data02.qcow2 ,100G大小
qemu-img create -f qcow2 -o size=100G /data/kvm/image/dameng-8-65-data02.qcow2

将虚拟磁盘加到虚拟机里

virsh attach-disk --domain dameng-8-65 --source /data/kvm/image/dameng-8-65-data02.qcow2 --target vdd  --driver qemu --subdriver qcow2 --sourcetype file --cache none --persistent

//参数解释:
// --domain  指定虚拟机名称
// --source  指定刚才手动创建的虚拟磁盘
// --target  指定磁盘名称,比如 sda sdb sdc,我这里写的vdd
// --driver 指定要使用的驱动程序为 qemu, 这些信息同样可以和上面virsh dumpxml dameng-8-65 打印的信息比对
// -subdriver 指定磁盘镜像的子驱动程序为 qcow2
// --cache none 指定缓存模式为 none,禁用缓存

重启虚拟机并确认

virsh start dameng-8-65
virsh console dameng-8-65

// 进入后执行
fdisk -l 查看

 

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容