kvm虚拟化的日常-虚拟机网络模式和热添加技术

原理

略。。。

2022 -3月17增补:参考我在hcia系列文章的内容

nat

默认安装为nat网络

1
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos_kvm.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-Minimal-2009.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

桥接模式

1
2
3
4
5
6
7
8
#创建桥接网卡
virsh iface-bridge eth0 vr0

virsh iface-unbridge br0

virsh edit domain
interface type='brige'
<source bridge='br0'>
1
2
#指定使用桥接网络
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos_kvm.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-Minimal-2009.iso --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

热添加

以下命令按步骤进行,新建磁盘盘符以vdb命名

热添加硬盘

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#创建硬盘
qemu-img create -f qcow2 磁盘路径 大小

#临时添加raw硬盘
virsh attach-disk 加入的domain 加入disk的绝对路径 盘符(未指定格式默认为raw打开) (永久生效添加--config
#或指定格式
virsh attach-disk 加入的domain 加入disk的绝对路径 盘符 --subdriver 指定格式 (永久生效添加--config

#临时删除盘
virsh detach-disk 删除disk的domain 盘符 (永久生效添加--config

#显示磁盘
fidsk -l

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

#显示磁盘分区信息
df -h

#挂载vdb到mnt
mount /dev/vdb /mnt

硬盘扩容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#在虚拟机把扩容硬盘的挂载目录卸载
umount /mnt

#剥离硬盘
virsh detach-disk 删除disk的domain 盘符

#调整硬盘容量
qemu-img resize


#再次附加硬盘
virsh attach-disk 加入的domain 加入disk的绝对路径 盘符 --subdriver 指定格式

#再次挂载扩容盘
mount /dev/vdb /mnt

#更新扩容盘超级块信息
xfs_growfs /dev/vdb(ext4格式磁盘使用resize2fs /dev/vdb)

热添加网卡

部分命令转自csdn

1
2
3
4
5
6
7
[root@centoszhu ~]# virsh                                              进入virsh命令行模式
virsh # attach-interface web01 --type bridge --source br0     添加一块桥接网卡
virsh # attach-interface web01 --type bridge --source br0 --model virtio 添加一块网卡,指定模式virtio网卡更快
virsh # attach-interface web01 --type bridge --source br0 --model virtio --config 写进配置文件,永久生效
virsh # domiflist web01                               查看虚拟机有多少块网卡
virsh # domblklist web01     查看虚拟机有多少硬盘
virsh # detach-interface web01 --type bridge --mac 52:54:00:8f:96:8f    分离网卡

以下原创

1
2
3
4
#附加模式为virtio的网卡
virsh attach-interface domain --type bridge --source br0 --model virtio
#删除网卡
detach-interface domain --type bridge --mac 52:54:00:35:03-7

热添加内存

1
2
3
4
5
6
#安装时配置max内存
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 215,maxmemory=2048 --vcpus 1 --disk /opt/web-clone.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsol


[root@centoszhu opt]# virsh setmem web02 1024M 临时生效
[root@centoszhu opt]# virsh setmem web02 1024M --config

热添加cpu

1
2
3
4
5
6
7
#1、安装虚拟机时,需要修改参数。maxvcpus=10

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web02 --memory 215,maxmemory=2048 --vcpus 1,maxvcpus=10 --disk /opt/web-clone.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole 系统帮助文档maxvcp


[root@centoszhu opt]# virsh setvcpus web02 2 临时添加
[root@centoszhu opt]# virsh setvcpus web02 2 --config 写入配置文件,永久生效

热迁移

1
2
3
4
5
6
7
8
9
10
11
#共享主机安装nfs
yum install nfs-utils

#创建共享目录
mkdir /data

vim /etc/exports
/data x网段/24(rw,async,no_root_squash,no_all_squash)

systemctl restart rpcbind
systemctl restart nfs

宿主机链接共享机

1
2
3
4
5
#测试连接
shoumount -e 共享机IP地址
#挂载共享机目录(注意先backup原目录文件)
mount -t nfs 共享机IP地址:/data 要挂载的目录
virsh migrate --live --verbose oldboy qemu+ssh://迁入机IP地址/system --unsafe

更多请参考


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!