zoukankan      html  css  js  c++  java
  • kvm虚拟化管理平台WebVirtMgr部署-完整记录(2)

    继上一篇kvm虚拟化管理平台WebVirtMgr部署-完整记录(1),接下来说说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关机

    2.到快照池里创建快照

    如果此虚拟机遇到故障,那么就可以根据它的快照进行恢复了,快照恢复后,再次开机就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
  • 相关阅读:
    script中的event和for的意思
    jQuery选择器详解(一)转载自:http://blog.imbolo.com/jqueryselectors/#comments
    抽象类那点事(一步步案例分析,为什么需要它)
    关于application/xwwwformurlencoded等字符编码的解释说明 + 异步 True 或 False?+ onreadystatechange 事件
    SVG中中文字体的显示
    通过Virtualbox安装Ubuntu设置Emacs搭建Erlang环境
    试用Windows Live Writer
    Erlang中Eunit基本内容汇总
    xml特殊字符
    VS2010开发环境最佳字体及配色
  • 原文地址:https://www.cnblogs.com/kevingrace/p/5739009.html
Copyright © 2011-2022 走看看