kvm 动态挂载硬盘
根据最新需求需要动态的给kvm下的windows虚拟机挂载硬盘,网上查看了很多资料终于试通了,在这里记录下方便自己回忆,同事可以给大家做做参考,如果有问题欢迎吐槽
环境:先说说我使用的环境,环境是使用virsh 依托xml文件创建虚拟机,在xml文件之用配置静态ide硬盘可以识别,但是虚拟机运行时动态attach-device时就无法实时现实出来,下面简单说说的步骤
操作前请参考这篇文章那个内容http://www.cnblogs.com/davygeek/p/4607467.html
系统:windows2008 Server R2
virtio驱动:virtio-win-0.1-65.iso
1.编辑xml,添加一个virtio类型的硬盘,和virtio作为cdrom挂在到系统上,因为挂在了virtio类型的硬盘我们才能尝试着去安装驱动
<domain type='kvm' id='1'> <name>test7</name> <uuid>d779256d-b82d-0ce6-520f-c4dda1596da9</uuid> <memory>1024000</memory> <os> <type>hvm</type> <boot dev='hd'/> </os> <features> <acpi/> </features> <devices> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/home/guowei/working/kvm/111111/win2008.img'/> <target dev='hda' bus='ide'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/home/guowei/working/kvm/111111/expand.img'/> <target dev='hdb' bus='virtio' type='virtio'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/home/guowei/working/kvm/111111/virtio-win-0.1-65.iso'/> <target dev='hdc' bus='ide'/> </disk> <interface type = 'bridge'> <source bridge = 'virbr0'/> </interface> <graphics type='vnc' passwd='11111' port='5907' keymap='en-us'/> </devices> </domain>
2. 修改好配置文件使用virsh create启动虚拟机
#sudo virsh create test.xml Domain test7 created from test.xml
使用virt-viewer 登陆
virt-viewer test7
3. 在虚拟机中查看设备管理器安装驱动
黄色的问好表示没有安装驱动
安装即可,另外一个同理安装即可,安装完成后会出现存储控制器,这样我们就可以使用命令动态挂在硬盘了
4.动态挂载硬盘
//创建镜像 sudo qemu-img create -f qcow2 expand.img 10G
编辑挂在硬盘xml
<disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/home/tt/working/kvm/111111/expand.img'/> <target dev='hdf' bus='virtio'/> </disk>
使用命令挂载
sudo virsh attach-device test7 attach.xml
这样在系统中就可以看到挂载的硬盘
参考:http://speakingbaicai.blog.51cto.com/5667326/1161964
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现