当前位置:   article > 正文

KVM虚拟机直接挂栽物理硬盘分区的方法_disk type='file' disk type='block

disk type='file' disk type='block

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/323145?site
推荐阅读
相关标签
  

闽ICP备14008679号