KVM虚拟机直接挂栽物理硬盘分区的方法

KVM虚拟机,一般扩充硬盘的方法是通过virt-manager,添加新的虚拟硬盘。那么有没有直接挂栽host宿主机上的物理硬盘分区的方法呢? 这里做了一些实验。

1.首先打开现有虚拟机的配置文档,位置在 /etc/libvirt/qemu/vm-names.xml  可以看到,虚拟机自带的 两个disk 都是 type='file', device 分别是 disk、cdrom 。

我们要做的就是添加一个disk ,type=‘block’ 块设备。  这个要在 virsh 环境下编辑才可以

virsh   #进入virsh环境,下面的命令是在 virsh# 提示符之下执行的
edit vm-name   #如果你有多个文字编辑工具,会让你选择用哪一种来编辑
#找到类似下面的语段,添加内容如下
<disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none'/> #这里的type=‘raw’表示是初始状态,未格式化
      <source dev='/dev/disk/by-uuid/de06200b-7f00-4d34-a8a3-de669a59bda9'/>
      <target dev='vdc' bus='virtio'/>  # vdc vda之类的命名不影响显示结果
</disk>

#添加上面的语段后,保存退出,然后启动vm-name
start vm-name 

2. 挂栽新添加的分区

利用 fdisk -l 命令,查看是否出现了新添加的分区

如上图所示,我们设定的name是vdc,但是显示的是vda,系统自动命名的。

如果是已经格式化过的磁盘分区,且是ext4格式的,则可以直接mount到你想要的地方即可,不用重新格式化就能直接用。可以看一下我的实验:

 

可以看到,我将  /dev/vda 直接mount到 mnt这个文件夹了,df -Th 命令,可以看到系统挂栽的磁盘分区的格式和容量。

我在mnt下新建了 test.txt文档,并写入了一些数字。 

同时还登录宿主机查看了一下这个文档,里面的数字和虚拟机编辑后的不一致,还保留了之前的内容。 在宿主机中将该分区卸载,重新挂栽后,再查看test.txt 文档,则内容就变成了和虚拟机中一样了。

若要每次虚拟机开机直接mount到指定目录,请参考我的其他博客内容:

用systemd挂载硬盘分区和进行bind挂栽文件夹以及定时关机_lggirls的博客-CSDN博客https://blog.csdn.net/lggirls/article/details/100297311

3.几点注意事项

A 采用上述方法为虚拟机添加物理硬盘后,需要保持物理硬盘在线才能正常启动虚拟机。如果 移除了物理硬盘,需要采用上述方法,将对应的disk 删除。否则会出现错误提醒。

B保持物理硬盘正常即可,host可以不用挂该物理硬盘到自己的文件系统就可以使用。也就是说,只需要vm直接以 UUID配置到上述文档中,不需要host先挂栽,然后vm再挂栽。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值