KVM虚拟机添加硬盘
1,创建硬盘
1 | qemu - img create - f raw / opt / GlusterFS1_data.img 30G |
硬盘名称为GlusterFS1_data.img 大小为30G
一般情况创建qcow2磁盘
1 | qemu-img create -f qcow2 /opt/GlusterFS1_data.qcow2 30G |
2,编辑虚拟机配置文件virsh edit GlusterFS1( GlusterFS1为虚拟机名)在其他<disk>标签下面添加
1 2 3 4 5 6 | <disk type = 'file' device = 'disk' > <driver name = 'qemu' type = 'raw' cache = 'none' / > <source file = '/opt/GlusterFS1_data.img' / > <target dev = 'vdb' bus = 'virtio' / > <address type = 'pci' domain = '0x0000' bus = '0x00' slot = '0x06' function = '0x0' / > < / disk> |
PS:按照百度搜索出来的命令添加方法virsh attach-disk GlusterFS1/opt/GlusterFS1_data.img vdb —cache none
设置无效
2024-12-23补充开始
宿主机是Ubuntu22.04添加磁盘的配置文件有所不同
需要修改以下两处
1. 磁盘名称
仿照磁盘1即可例如磁盘1是vda则这里写成vdb
2. bus的id
随意写一个id只要不重复就 可以,如果有重复则在:wq保存配置文件的时候会报错,重新编辑修改即可
2024-12-23补充结束
虚拟机是Windows添加方法类似,配置文件稍有不同
创建qcow2磁盘
1 | qemu-img create -f qcow2 Windows10_data.img 1024G |
修改配置文件
1 2 3 4 5 6 | <disk type= 'file' device= 'disk' > <driver name= 'qemu' type= 'qcow2' cache= 'none' /> <source file= '/kvm/disk/Windows10_data.img' /> <target dev= 'sdc' bus= 'sata' /> <address type= 'drive' controller= '0' bus= '0' target= '0' unit= '2' /> </disk> |
注意:如果不清楚配置文件怎么修改可以参考系统盘的配置
3,重启虚拟机
1 2 | virsh shutdown GlusterFS1 virsh start GlusterFS1 |
PS:不能在虚拟机使用reboot重启,需要在宿主机使用以上命令重启,也不能在宿主机使用命令重置virsh reset GlusterFS1
验证,登录虚拟机
1 | fdisk - l |
PS:在虚拟机配置文件里面明明配置的是vdb不知道为什么到虚拟机变成了vda
本次实验宿主机使用服务器为物理机,操作系统为CentOS6.5 虚拟机操作系统为CentOS7.4
2025-01-10补充开始
默认使用ide磁盘最多添加两块磁盘
如果超过两块磁盘则启动虚拟机报错
1 | 2025-01-10T07:55:51.246708Z qemu-kvm: -device ide-hd,bus=ide.0,unit=2,drive=drive-ide0-0-2,id=ide0-0-2,bootindex=1: Can't create IDE unit 2, bus supports only 2 units |
需要添加多块磁盘则修改配置文件添加以下配置
1 2 3 4 5 6 7 8 9 | <disk type= 'file' device= 'disk' > <driver name= 'qemu' type= 'qcow2' /> <source file= '/kvm/test.qcow2' /> <target dev= 'hdb' bus= 'scsi' /> <address type= 'drive' controller= '1' bus= '0' target= '0' unit= '3' /> </disk> <controller type= 'scsi' index= '1' model= 'virtio-scsi' > <address type= 'pci' domain= '0x0000' bus= '0x00' slot= '0x06' function= '0x0' /> </controller> |
修改信息解释如下
注意:scsi磁盘会优先于ide磁盘,修改后进入系统原ide磁盘的顺序会放置在新加磁盘的后面
例如原ide磁盘在没有添加磁盘时的磁盘信息是/dev/sda
在新加磁盘之后新磁盘的磁盘信息会变成/dev/sda 原磁盘会变成/dev/sdb
2025-01-10补充结束
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!