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
kvm虚拟化管理平台WebVirtMgr部署-完整记录(2)的更多相关文章
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装:kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)kvm虚拟化管理平台WebVirtMgr部署-完 ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)
公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(0)
打算部署kvm虚拟机环境,下面是虚拟化部署前的一些准备工作: 操作系统环境安装1)修改内核模式为兼容内核启动[root@ops ~]# uname -aLinux openstack 2.6.32-4 ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装ubuntu虚拟机)-(5)
之前介绍了在webvirtmgr平台下创建centos,windows server 2008的虚拟机,今天说下创建ubuntu虚拟机的过程. (1)首先下载ubuntu16.04的iso镜像放到/u ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
一.背景说明 在之前的篇章中,提到在webvirtmgr里安装linux系统的vm,下面说下安装windows系统虚拟机的操作记录: 由于KVM管理虚拟机的硬盘和网卡需要virtio驱动,linux ...
- 008-kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)
公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求. 当KV ...
- KVM虚拟化管理平台WebVirtMgr部署及使用
KVM虚拟化管理平台WebVirtMgr部署及使用 需求: 公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上 ...
- centos7.2 kvm虚拟化管理平台WebVirtMgr部署
在服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM宿主机越来越多,需要对宿主机的状态进行调控,决定采用WebVirtMgr作为kvm虚拟化的web管理工具,图形化的WEB,让人 ...
- [原创]KVM虚拟化管理平台的实现
KVM虚拟化管理平台的实现 源码链接:https://github.com/wsjhk/IaaS_admin.git 根据KVM虚拟化管理的要求,设计并实现网页操作管理KVM虚拟机.设计原理架构如下图 ...
随机推荐
- Mac命令行使用tree查看目录结构
默认tree命令是无法使用的,可以使用homebrew install tree安装. 如果直接使用tree,查看的目录里面含有中文字符的目录或文件时会出现汉字不能显示的问题,可以使用tree -N查 ...
- Sql注入的分类:数字型+字符型
Sql注入: 就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.通过构造恶意的输入,使数据库执行恶意命令,造成数据泄露或者修改内容等,以 ...
- Python如何输出带颜色的文字方法
我们在使用python运维与开发的过程中,经常需要打印显示各种信息.海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性.这时候,如果能给重要的信息加上差异的字体颜色,那么就 ...
- 简易 Token 验证的实现
简易 Token 验证的实现 前言 在我们的服务器和客户端的交互中,由于我们的业务中使用 RESTful API 的形式和客户端交互,而 API 又是无状态的,无法帮助我们识别这一次和上一次的请求由谁 ...
- python五十六课——正则表达式(常用函数之match)
函数:match(regex,string,[flags=0])参数:regex:就是正则表达式(定义了一套验证规则)string:需要被验证的字符串数据flags:模式/标志位,默认情况下(不定义) ...
- golang []byte和string相互转换
测试例子 package main import ( "fmt" ) func main() { str2 := "hello" ...
- Spark机器学习中ml和mllib中矩阵、向量
1:Spark ML与Spark MLLIB区别? Spark MLlib是面向RDD数据抽象的编程工具类库,现在已经逐渐不再被Spark团队支持,逐渐转向Spark ML库,Spark ML是面向D ...
- QT 12 QTimage转换Mat
QImage cvMat2QImage(const cv::Mat& mat) { // 8-bits unsigned, NO. OF CHANNELS = 1 if(mat.type() ...
- Web应用程序使用说明
目录 Web应用程序使用说明 1.组织权限概述 a)概述 b)组织权限设置 2.门户的使用 门户-栏目门户配置 3.安全策略功能使用说明 一.概述 二.安全策略设置 Web应用程序使用说明 1. ...
- C++ new/malloc、delete/free
1.new和delete是运算符,可以被重载:malloc和free是库函数,不能被重载. 2.new会调用对象的构造函数,delete会调用对象的析构函数:malloc和free不会.