4.7:kvm虚拟机克隆
4.7.1:完整克隆
自动挡:
virt-clone --auto-clone -o web01 -n web02 (完整克隆)
手动挡:
4.7.2:链接克隆
a:生成虚拟机磁盘文件 qemu-img create -f qcow2 -b 49-web03.qcow2 49-web04.qcow2
b:生成虚拟机的配置文件
c:导入虚拟机并进行启动测试
virsh define web03.xml virsh start web03
全自动链接克隆脚本:
cp centos2-clone.qcow2 web02.qcow2
virsh dumpxml web01 >web02.xml
vim web02.xml
#修改虚拟机的名字
#删除虚拟机uuid
#删除mac地址
#修改磁盘路径
virsh define web02.xml
virsh start web02
virsh dumpxml web01 >web03.xml
vim web03.xml
#修改虚拟机的名字
web03
#删除虚拟机uuid
8e505e25-5175-46ab-a9f6-feaa096daaa4
#删除mac地址
#修改磁盘路径
[root@kvm01 scripts]# cat link_clone.sh
#!/bin/bash
old_vm=$1
new_vm=$2
#a:生成虚拟机磁盘文件
old_disk=`virsh dumpxml $old_vm|grep "/tmp/${new_vm}.xml
#修改虚拟机的名字
sed -ri "s#()(.*)( )#\1${new_vm}\3#g" /tmp/${new_vm}.xml
#删除虚拟机uuid
sed -i '//d' /tmp/${new_vm}.xml
#删除mac地址
sed -i '/
4.8:kvm虚拟机的桥接网络
默认的虚拟机网络是NAT模式,网段192.168.122.0/24
4.8.1:创建桥接网卡
创建桥接网卡命令 virsh iface-bridge eth0 br0 取消桥接网卡命令 virsh iface-unbridge br0
4.8.2 新虚拟机使用桥接模式
默认NAT模式 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus
1 --disk /opt/web04.qcow2 --boot hd --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
桥接模式 virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 1024 --vcpus 1 --
disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
问题1:
如果虚拟机获取不到ip地址:
4.8.3 将已有虚拟机网络修改为桥接模式
a:关机状态下修改虚拟机配置文件:
例如:virsh edit centos7
b:启动虚拟机,测试虚拟机网络
4.9:热添加技术
热添加硬盘、网卡、内存、cpu
4.9.1 kvm热添加硬盘
临时生效
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2
永久生效
virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver qcow2 --config
临时剥离硬盘
virsh detach-disk web01 vdb
永久剥离硬盘
virsh detach-disk web01 vdb --config
扩容: 在虚拟机里把扩容盘的挂载目录,卸载掉 在宿主机上剥离硬盘virsh detach-disk web01 vdb 在宿主机上调整
容量qemu-img resize 在宿主机上再次附加硬盘virsh attach-disk web01 /data/web01-add.qcow2 vdb --subdriver
qcow2 在虚拟机里再次挂载扩容盘 在虚拟机里用xfs_growfs更新扩容盘超级块信息
作业1:扩容kvm虚拟机的根分区
作业2:误删centos7虚拟机系统文件rm -fr /lib64/libc.so.6,如何恢复?
4.9.2 kvm虚拟机在线热添加网卡
virsh attach-interface web04 --type bridge --source br0 --model virtio detach-interface web04 --type bridge --
mac 52:54:00:35:d3:71
4.9.3 kvm虚拟机在线热添加内存
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --
vcpus 1 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --
noautoconsole
临时热添加内存 virsh setmem web04 1024M 永久增大内存 virsh setmem web04 1024M --config
4.9.4 kvm虚拟机在线热添加cpu
virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name web04 --memory 512,maxmemory=2048 --
vcpus 1,maxvcpus=10 --disk /data/web04.qcow2 --boot hd --network bridge=br0 --graphics vnc,listen=0.0.0.0 --
noautoconsole 热添加cpu核数 virsh setvcpus web04 4 永久添加cpu核数 virsh setvcpus web04 4 --config
4.10:virt-manager和kvm虚拟机热迁移(共享的网络文件系统)
冷迁移kvm虚拟机:配置文件,磁盘文件
热迁移kvm虚拟机:配置文件,nfs共享
1): yum groupinstall "GNOME Desktop" -y yum install openssh-askpass -y
yum install tigervnc-server -y
vncpasswd vncserver :1 vncserver -kill :1
2):kvm虚拟机热迁移 1:两边的环境(桥接网卡) 2:实现共享存储(nfs) 3:虚拟机桥接网络 4:在线热迁移
作业4:扩展研究EXSI虚拟化和EXSI iso到kvm的虚拟机迁移 http://blog.51cto.com/liqingbiao/1742724
virt-v2v -i ova centos-dev-test01-v2v.ova -o local -os /opt/test -of qcow2
作业5:p2v迁移(物理机到kvm虚拟机的迁移) http://blog.csdn.net/tantexian/article/details/42869179
老古董:发热量大,配置低 2G ddr 400MHZ 750w 老古董:发热量大,配置低 2G ddr 400MHZ 750w 。。。。
一台新集群 64G ddr4 2400MHZ 550w
iso镜像,U盘 启动盘 win PE 打包所有根目录的文件,上传到kvm服务器,输出一个qcow2格式,替换驱动,
kvm宿主机 2000台 查看每一个宿主机有多少台虚拟机? 查看每一个宿主机还剩多少资源? 查看每一台宿主机,每一个
虚拟机的ip地址? kvm管理平台,数据库工具 信息:宿主机,总配置,剩余的总配置 虚拟机的信息,配置信息,ip地址,操作系
统
带计费功能的kvm管理平台,openstack ceilometer计费 自动化管理kvm宿主机,云主机定制化操作 部署openstack 克
隆一台openstack模板机:4G内存,开启虚拟化,挂载centos7.4的光盘 上传脚本openstack-mitaka-autoinstall.sh
到/root目录 上传镜像:cirros-0.3.4-x86_64-disk.img到/root目录 上传配置文件:local_settings到/root目录 上传
openstack_rpm.tar.gz到/opt下,并解压 sh /root/openstack-mitaka-autoinstall.sh 大概10-30分钟左右 访问http://1
0.0.0.11/dashboard 域:default 用户名:admin 密码:ADMIN_PASS
注意: 在windows系统上修改host解析(10.0.0.11 controller)
添加node节点: 修改ip地址 hostnamectl set-hostname compute1 重新登录让新主机名生效 cd /opt/ rsync -avz
10.0.0.11:/opt/repo . 上传脚本 openstack_node_autoinstall.sh sh openstack_node_autoinstall.sh
openstack controller主控制节点,node节点, kvm宿主机
node节点, kvm宿主机
node节点, kvm宿主机
node节点, kvm宿主机
node节点, kvm宿主机
服务重启:
[root@controller ~]# cat openstack-mitaka-autoinstall.sh |grep "systemctl start"
systemctl start chronyd.service
systemctl start mariadb.service
systemctl start rabbitmq-server.service
systemctl start memcached
systemctl start httpd.service
systemctl start openstack-glance-api.service openstack-glance-registry.service
systemctl start openstack-nova-api.service openstack-nova-consoleauth.service openstack-nova-scheduler.service \
systemctl start libvirtd
systemctl start openstack-nova-compute
systemctl start neutron-server.service neutron-linuxbridge-agent.service \
[root@controller ~]#