kvm虚拟化管理平台WebVirtMgr部署(3)
接下来说说WebVirtMgr的日常配置:添加宿主机,创建虚机,磁盘扩容,快照等
具体操作记录如下:
一、配置宿主机
1、登录WebVirtMgr管理平台
2、添加宿主机
选择首页的WebVirtMgr -->Addd Connection
选择“TCP链接“,设置Label,IP,用户,密码
注意:Label与IP要相同
二、虚机部署
1、创建存储池
点击前面创建的宿主机,进入虚拟机部署界面
点击“存储池”按钮,创建存储池(即创建磁盘镜像存放的位置)
注意:
创建存储池时,首先要在宿主机上创建一个目录,然后在”路径“设置栏中添加该目录
例:mkdir /home/kvm/kvmstorage -p
[把提前下载好的centos镜像拷贝到上面创建的存储池目录/home/kvm/kvmstorage下;这里可以放不同版本的系统镜像(windows也可以),以便在下面安装过程中选择不同镜像安装系统]
2、添加磁盘镜像
注意:
下面“Metadata”前的小方框一定不能勾选(默认是勾选的,要去掉!)
这里添加的“镜像”就是所创建虚拟机的硬盘空间(我测试环境给了150G)
虚拟机所占用的空间就是这个“镜像”所在的宿主机下路径所在的分区空间(也就是/home/kvm/kvmstorage/,即宿主机的home分区)
创建完成后如下:
3、宿主机网卡的桥接模式设置
注意下面的“设备”一项要填写桥接的物理网卡(即br0对应的那个网卡,这里填的是宿主机之前的内网卡em3)
网关地址也一定要填写正确,不然虚拟机和宿主机同网段机器则会网络不通。(如下这一步其实就是创建桥接的网卡配置,也可以在服务器上手动创建)
4、创建网络池
5、创建虚机
6、虚机挂载ISO镜像
下面选择系统安装时使用的镜像,这个镜像是上面放到/home/kvm/kvmstorage目录下的,如果下载了各种镜像版本放到里面,那么就可以在这里选择你想安装的版本了!
这里选择的镜像在上面提到过,保存到存储池目录/home/kvm/kvmstorage里面的,重启虚拟机后在这里就能看到
7、启动虚机
点击“启动”按钮后,打开虚机电源。
点击控制台按钮,进入操作系统安装界面
8、虚机IP地址设置
当虚机安装完成后,登陆虚拟机,给虚机设置静态IP地址
[root@vmserver001~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cat ifcfg-eth0 DEVICE=eth0 HWADDR=52:54:00:8C:6A:E1 TYPE=Ethernet UUID=4f57c69c-a0f3-44e2-b75e-c37eb130f5b1 ONBOOT=yes NM_CONTROLLED=no #让eth0不受networkmanager的控制 BOOTPROTO=static IPADDR=192.168.1.99 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
以上的做法里虚拟机配置的都是私网ip地址(宿主机要有私网网关地址),通过桥接模式上网。
如果宿主机上有公网网关地址的话,完全可以将虚拟机配置成公网ip,这样虚拟机就可以正常联网。
比如宿主机的ip地址是110.117.18.19,公网网关地址是110.117.18.1
那么需要将上面操作中所有192.168.1.17的配置改成110.117.18.19。
并且需要将110.117.18.19所在的公网网卡做成br0.
这样虚拟机的配置如下:
[root@vmserver001~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=52:54:00:AF:F3:84 TYPE=Ethernet UUID=cd66dc1e-60ae-43a0-b252-1244ad92dce7 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=110.117.18.30 NETMASK=255.255.255.192 //跟宿主机的NETMASK配置一样 GATEWAY=110.117.18.1 //跟宿主机的GATEWAY配置一样 [root@vmserver001~]# /etc/init.d/network restart [root@vmserver001~]# cat /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 [root@vmserver001~]# ping www.baidu.com PING www.a.shifen.com (220.181.111.188) 56(84) bytes of data. 64 bytes from 220.181.111.188: icmp_seq=1 ttl=55 time=1.65 ms 64 bytes from 220.181.111.188: icmp_seq=2 ttl=55 time=1.40 ms 64 bytes from 220.181.111.188: icmp_seq=3 ttl=55 time=1.53 ms
如何删除之前创建的存储池kvm01?
操作记录如下:
[root@openstack qemu]# virsh pool-list --all Name State Autostart ----------------------------------------- kvm01 active yes vm1 active yes
首先取消存储池kvm01的激活
[root@openstack qemu]# virsh pool-destroy kvm01 Pool kvm01 destroyed
然后登陆webvirtmgr界面,在“存储池”里找到“kvm01”,先停止,再删除。
再次查看,就删除了存储池kvm01了
[root@openstack qemu]# virsh pool-list --all Name State Autostart vm1 active yes
三、webvirtmgr克隆虚机操作
1、关闭正在运行的虚机
2、进入虚机配置界面,在克隆配置项,为新的虚机的“名字”,“MAC地址”,“磁盘镜像”进行设置
或者:(和上面的克隆效果是一样的)
直接克隆之前所创建虚拟机镜像(这个虚拟机必须是已经创建了的),然后用这个新克隆的镜像去创建新的虚拟机,这也是克隆虚拟机做法。
然后创建虚拟机,创建中选用上面新克隆的硬盘镜像
3、webvirtmgr界面里启动克隆的新虚拟机,vnc进入系统,对/etc/udev/rules.d/70-persistent-net.rules 文件做如下修改
修改后
4、编辑/etc/sysconfig/network-scripts/ifcfg-eth0 修改虚机的网卡配置,为虚机分配新的IP地址
5、重启系统 使网卡重新注册,让配置生效
#reboot
以上是centos系统的虚拟机克隆后的做法,如果克隆的虚拟机是ubuntu系统,
那么会发现没有这个/etc/udev/rules.d/70-persistent-net.rules文件
这时只需要修改克隆后的ubuntu虚拟机的ip,然后重启网卡,最后reboot机器即可。
四、webvirtmgr虚机磁盘扩容(新增磁盘)
1 关闭虚机
2 对虚机的xml文件的disk域添加如下代码:
场景一:新增一块磁盘
<disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> ---添加改行代码找到新增磁盘格式 <source file='/home/kvm/teststorage/entd01.img'/> --指定新增磁盘路径 <target dev='vda' bus='virtio'/> --指定磁盘设备名称,和传输总线类型 </disk>
场景二:新增多块磁盘
已新增两块盘为例:
<disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/home/kvm/teststorage/entd01.img'/> <target dev='vda' bus='virtio'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/home/kvm/vm/waq02-clone.qcow2'/> <target dev='vdb' bus='virtio'/> </disk>
3 启动虚机,然后在虚机系统内部对磁盘进行格式化,分区等操作。
五、Webvirtmgr虚拟机快照
1.首先需要将做快照的vm关机
如果此虚拟机遇到故障,那么就可以根据它的快照进行恢复了,快照恢复后,再次开机就ok了,就能恢复到快照制作时的机器状态。
虚拟机内存和CPU扩容
要想对虚拟机的内存和CPU进行扩容,需要先关闭此虚拟机,然后在“设置”里面重置,最后重启服务器即可。
关闭和删除br0 [root@openstack ~]# virsh net-list Name State Autostart Persistent -------------------------------------------------- br0 active yes yes [root@openstack ~]# virsh net-undefine br0 error: Failed to undefine network br0 error: Requested operation is not valid: network is still active [root@openstack ~]# virsh net-destroy br0 Network br0 destroyed [root@openstack ~]# virsh net-list Name State Autostart Persistent
记一次webvirtmgr中出现"Oops!500服务器内部报错“的处理过程,如下:
出现上面的报错,是由于webvirtmgr服务器上的不当操作或配置错误引起的(要从报错出现后最近的操作着手排查),比如:
1)在利用克隆的磁盘镜像创建新的虚拟机后,没有来得及修改克隆后的虚拟机信息就去访问webvirtmgr界面,于是就有这个报错。
需要修改克隆后新虚拟机的配置信息(上面已提到)后,再次访问就ok了。
2)在webvirtmgr访问页面里添加一个虚拟机后,再次访问也出现了这个报错。原因是这个虚拟机没有被正确创建。
解决办法:登陆到服务器发现这个创建失败的虚拟机,然后强制删除即可!
[root@kvm-server ~]# virsh list Id Name State ---------------------------------------------------- 5 centos7-test5 running 6 centos7-test6 running 7 ubutun-test1 running 8 ubuntu-test2 running 9 ubuntu-test3 running 10 centos6-node1 running 11 centos6-node2 running 12 centos6-node3 running 13 centos7-test4 running [root@kvm-server ~]# virsh list --all Id Name State ---------------------------------------------------- 5 centos7-test5 running 6 centos7-test6 running 7 ubutun-test1 running 8 ubuntu-test2 running 9 ubuntu-test3 running 10 centos6-node1 running 11 centos6-node2 running 12 centos6-node3 running 13 centos7-test4 running - centos7-test1 shut off #就是这个虚拟机创建失败,将其删除即可
解决办法:
[root@kvm-server ~]# virsh undefine centos7-test1 #强制删除 Domain centos7-test1 has been undefined [root@kvm-server ~]# virsh list --all Id Name State ---------------------------------------------------- 5 centos7-test5 running 6 centos7-test6 running 7 ubutun-test1 running 8 ubuntu-test2 running 9 ubuntu-test3 running 10 centos6-node1 running 11 centos6-node2 running 12 centos6-node3 running 13 centos7-test4 running