kvm虚拟机使用说明-luojinsheng

Windows Windows 2个月前 (08-15) 6次浏览 未收录 0个评论 扫描二维码

一:kvm虚拟化应用场景

场景1:只有一台服务器,但是要运行多个版本的软件,不同版本之间还相互冲突场景2:机房的迁移,物理机在运输过程中容易损坏,导致数据丢失场景3:openstack部署太难!步骤太繁琐,如何体验最新版的openstack场景4:开发环境和测试环境经常损坏,运维重复装系统场景5:业务的扩张,需要快速部署10个一模一样的集群

二:kvm 虚拟机安装及使用

1:首先关闭selinux和防火墙setenforce 0systemctl stop firewalld.service或者 /etc/init.d/iptables stop2:安装kvmyum install libvirt virt-install qemu-kvm -ylibvirt:管理kvm的生命周期virt-install:创建虚拟机的工具qemu-kvm:使用qemu-img为虚拟机提供硬盘3:启动kvmsystemctl start libvirtd.service 4:创建虚拟机建议虚拟机内存不要低于1024M,否则安装系统特别慢! virt-install –virt-type kvm –os-type=linux –os-variant rhel7 –name centos7 –memory 1024 –vcpus 1 –disk /opt/centos2.raw,format=raw,size=10 –cdrom /opt/CentOS-7-x86_64-DVD-1708.iso –network network=default –graphics vnc,listen=0.0.0.0 –noautoconsole 参数介绍–virt-type:指定虚拟机类型–os-type:指定系统类型–name:虚拟机名字–memory:内存,这个参数在centos7安装的kvm里边使用–ram: 内存,这个参数在centos6安装的kvm里边使用–vcpus:指定cpu个数–disk /opt/centos2.raw,format=raw,size=10:指定磁盘位置,类型,大小–cdrom /opt/CentOS-7-x86_64-DVD-1708.iso:指定镜像文件所在位置–boot hd:如果不安装系统就把上一条命令换成这个–network network=default:网络类型–network bridge=br0:桥接网络使用这个参数

三:虚拟机console登录

1:为什么要使用console连接?1):常规情况下,安装完 KVM 之后,可能都会通过 VNC 连接到 KVM 虚拟机里面去修改 IP 等信息。但是一旦虚拟机比较多的话,打开过多的端口会造成安全问题 2):很多时候,我们是通过跳板机连接的宿主机,你的window和kvm宿主机没有直达的路由,这时候vnc都用不了,如何快速进入到 KVM 虚拟机里面去排查问题呢? 2:配置在centos7的kvm虚拟机中执行:grubby –update-kernel=ALL –args=”console=ttyS0,115200n8″

reboot重启生效3:登录virsh console centos7

四:kvm虚拟机磁盘格式

1:kvm常见磁盘格式有两张raw:裸格式,占用空间比较大,不适合远程传输,不支持快照功能,性能较好 qcow2:cow(copy on write)占用空间小,适合传输,支持快照,性能比raw差一点点 2:创建磁盘,查看,修改,格式转换创建磁盘qemu-img create -f qcow2 test.qcow2 10G-f参数指定磁盘类型,默认是raw查看磁盘信息qemu-img info test.qcow2

修改磁盘大小qemu-img resize test.qcow2 +5G磁盘格式转换qemu-img convert -f raw -O qcow2 test.raw test.qcow2

五:kvm虚拟机日常管理

1:列表,开机,关机,重启列表virsh list:显示处于运行状态的虚拟机virsh list –all:显示所有的虚拟机开机virsh start centos7(虚拟机名称)重启virsh reboot centos7关机(正常关机)virsh shutdown centos7关机(拔电源)virsh destroy centos72:导出虚拟机配置,删除虚拟机,恢复虚拟机,修改虚拟机配置,重命名导出虚拟机配置virsh dumpxml centos7 >centos7.xml(只要磁盘文件没有被破坏,就能恢复虚拟机)删除虚拟机virsh undefine centos7恢复虚拟机virsh define centos7.xml修改虚拟机配置1)直接修改配置文件/etc/libvirt/qemu/centos7.xml2)使用virsh edit centos7,这种方法有报错提醒重命名虚拟机virsh domrename centos7 centos8,这个命令低版本不适用3:挂起,恢复,开机启动,查看vnc端口号挂起virsh suspend centos7恢复virsh resume centos7让虚拟机开机启动首先必须得让libvirtd服务开机自启动然后virsh sutostart centos7查看vnc端口号virsh vncdisplay centos7

六:虚拟机快照

只有qcow2的磁盘类型支持快照,raw不支持创建快照virsh snapshot-create centos7查看快照virsh snapshot-list centos7还原快照virsh snapshot-revert centos7 –snapshotname 1516574134删除快照virsh snapshot-devel centos7 –snapshotname 1516574134

七:kvm虚拟机克隆

1:完整克隆1)方法一:virt-clone -o web01 –auto-clone2)方法二1:克隆虚拟磁盘文件 cp centos7.qcow2 web03.qcow22:修改虚拟机备份的配置文件 name修改 uuid删掉 disk路径/opt/web03.qcow2 mac地址删除 3:测试启动 virsh define web01.xml2:链接克隆1:qemu-img create -f qcow2 -b cetnos7.qcow2 web04.qcow22:virt-install –virt-type kvm –os-type=linux –os-variant rhel7 –name web02 –memory 1024 –vcpus 1 –disk /opt/web04.qcow2,format=qcow2,size=10 –boot hd –network network=default –graphics vnc,listen=0.0.0.0 –noautoconsole

八:创建桥接网络

1:新创建虚拟机1):创建桥接网络 virsh iface-bridge eth0 br02):基于桥接网络创建虚拟机 virt-install –virt-type kvm –os-type=linux –os-variant rhel7 –name web04 –memory 1024 –vcpus 1 –disk /opt/web04.qcow2,format=qcow2,size=10 –boot hd –network bridge=br0 –graphics vnc,listen=0.0.0.0 –noautoconsole 2:修改现有虚拟机1):创建桥接网络 virsh iface-bridge eth0 br02):修改配置文件virsh edit centos7<interface type=’bridge’><mac address=’52:54:00:55:aa:fa’/><source bridge=’br0’/>3):修改虚拟机ip地址/etc/sysconfig/network-scripts/ifcfg-eth0

九:kvm虚拟机热添加技术

热添加技术就是不停机的情况下,在线热添加硬盘,内存,cpu,网卡等设备,热添加技术一般都是在虚拟机资源不够了,又不能停机的情况下使用的,热添加技术是虚拟机相对于物理机的一个很大的优势,它让资源分配变得更灵活!

1.热添加硬盘 创建硬盘 qemu-img create -f qcow2 centos7-add01.qcow2 5G热添加硬盘 virsh attach-disk web01 /opt/centos7-add01.qcow2 vdb –live –cache=none –subdriver=qcow2如果添加的磁盘大小不够使用了怎么办方法1:先卸载硬盘umount /data2:在主机上卸掉这个硬盘virsh detach-disk centos7.1 /tmp/test.qcow23:扩充容量qemu-img resize /tmp/test.qcow2 +5G4:重新添加硬盘virsh attach-disk centos7.1 /tmp/test.qcow2 vdb –live –cache=none –subdriver=qcow25:在虚拟机上挂载之前的分区mount /dev/vdb1 /data6:重新分区fdisk /dev/vdb7:分区后保存,执行partprobe /dev/vdb(如果执行报错,可以先卸载了,执行完再挂载)xfs_growfs /data(如果不是xfs格式化的,使用ext4,则使用resize2fs /data)成功扩容

2:热添加网卡添加网卡 virsh attach-interface web04 –type bridge –model virtio –source br0 –model virtio 虚拟网卡驱动,如果不是virtio,网卡名则不是eth0,1,2,而且性能低这个是临时生效,永久生效要修改配置文件,复制粘贴下边四行在配置文件里

<interface type=’bridge’><source bridge=’br1’/><model type=’virtio’/></interface>

3:热添加cpu热添加cpu需要在安装虚拟机的时候加上这个参数 maxvcpus=4,最大cpu数量安装参数: virt-install –virt-type kvm –os-type=linux –os-variant rhel7 –name web04 –memory 1024 –vcpus 1,maxvcpus=4 –disk /opt/web04.qcow2,format=qcow2,size=10 –boot hd –network bridge=br0 –graphics vnc,listen=0.0.0.0 –noautoconsole 热添加cpu virsh setvcpus web04 –count=2

4:热添加内存热添加内存需要在安装虚拟机的时候加上这个参数maxmemory=2048,最大内存安装参数virt-install –virt-type kvm –os-type=linux –os-variant rhel7 –name web04 –memory 512,maxmemory=2048 –vcpus=1,maxvcpus=2 –disk /opt/web04.qcow2,format=qcow2,size=10 –boot hd –network bridge=br0 –graphics vnc,listen=0.0.0.0 –noautoconsole

热添加内存virsh setmem web04 1G

十:kvm虚拟机热迁移

virsh migrate –live –verbose oldboy qemu+ssh://10.0.0.12/system –unsafe#参数virsh migrate –live      热迁移verbose oldboy       热迁移的主机oldboy       qemu+ssh://10.0.0.12/system  使用qemu加ssh协议,迁移到12的主机上,system固定格式–unsafe           使用不安全规范

最后virsh list –all 查看迁移的主机是否运行,登陆VNC查看

喜欢 (0)
[]
分享 (0)
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址