RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器

 

作业环境
服务器端
操作系统:Red Hat Enterprise Linux Server release 6.0 (Santiago)
KVM:qemu-kvm-0.12.1.2-2.113.el6.x86_64

客户端
操作系统:Windows 7
KVM管理工具:Xming 6.9

一、安装KVM及相关软件

1、KVM 需要有 CPU 的支持(Intel vmx 或 AMD svm),在安装 KVM 之前检查一下 CPU 是否提供了虚拟技术的支持:
[root@etone ~]# egrep '^flags.*(vmx|svm)' /proc/cpuinfo
有显示, 有显示则说明处理器具有VT功能

2、在主板BIOS中开启CPU的Virtual Technolege(VT,虚化技术)

3、安装kvm及其需要的软件包
[root@etone ~]# yum install kvm virt-* libvirt

4、检查kvm模块是否安装,使用以下命令显示两个模块则表示安装完成
[root@etone ~]# lsmod | grep kvm

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

5、客户端安装Xming远程管理软件
一路默认就OK了,装到当前Win 7系统的系统盘。

二、启动virt-manager管理界面

1、客户端
运行Xming,需要若干设置,基本是一路默认,在“Specify parameter settings”中,勾选“No Access Control”选项。

2、服务器端
启动libvirtd服务,并保证下次自动启动
[root@etone ~]# service libvirtd start
Starting libvirtd daemon: [ 确定 ]
[root@etone ~]# chkconfig libvirtd on
将KVM显示导出到客户端PC
[root@etone ~]# export DISPLAY=10.8.110.28:0
[root@etone ~]# virt-manager

3、此时,在客户端Win 7系统中会自动弹出Virtual Machine Manager(VMM)管理界面

4、注:当前的Red Hat版本下,客户端VMM无法显示文字内容

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

需在服务器物理机上手动安装相关字体包
[root@etone ~]# yum install dejavu-fonts-common-2.30-2.el6.noarch
[root@etone ~]# yum install dejavu-sans-fonts-2.30-2.el6.noarch

三、远程创建和管理KVM虚拟机

1、将Windows2003-Enterprise-SP1的iso镜像上传到服务器端。

2、在客户端Virtual Machine Manager工具栏中,单击“New”,弹出创建虚拟机对话框。五个步聚,按提示操作基本能顺利创建:
? 第一步是设置虚机名称,选择安装方式,这里设为从“Local install media”安装;
? 第二步选择iso镜像,并选择操作系统类型及其具体的版本;
? 第三步设置内存大小和CPU数量;
? 第四步创建虚拟硬盘;
? 第五步是摘要信息

3、虚拟机创建完成后,直接运行并从CDROM启动安装Guest OS

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

 

4、Guest OS安装完成后,在Virtual Machine Manager主界面监控列表中可见

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思



通过工具栏中的“Open”按钮,可以进入该虚拟机管理界面,在其“Consol”中可操作Guest OS

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

“Details”中可查看或修改Guest OS的配置信息

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

 

5、安装完成后需要将默认的IDE硬盘和网卡换成virtio,并打上驱动程序,这样性能就可以得到提升。

6、在远程管理KVM虚拟化物理主机的过程中,可以动态调节VM的内存,实现clone,开机,关机,暂停主机等操作。

7、服务器端使用virsh list命令可查看主机虚拟化情况
[root@etone ~]# virsh list

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

 

8、KVM虚拟机的信息保存在 /var/lib/libvirt目录下

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

 

三、KVM默认网络配置

1、kvm上网有两种配置,

一种是default,它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。

 

另外一种方式是bridge方式,可以使用虚拟机成为网络中具有独立IP的主机。

yum install bridge-utils

2、Guest OS安装完成时,网卡默认为“Realtek RTL8139 Family PCI Fast Ethernet NIC”,并已装好网卡驱动。其上网方式是默认的NAT,内网地址为192.168.0.0网段的内网地址。

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

 

3、在服务器端查看kvm桥接情况,三组对比数据如下:


a.没有虚拟机运行时
[root@etone ~]# brctl show

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思



b.有一台虚拟机运行时
[root@etone ~]# brctl show

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思



c.有两台虚拟要运行时
[root@etone ~]# brctl show

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思



4、virbr0的配置文件在/var/lib/libvirt/network目录下,默认配置为:
[root@etone ~]# cat /var/lib/libvirt/network/default.xml

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思


四、配置bridge上网方式

1、创建桥接器
在/etc/sysconfig/network-scripts目录下,创建一个ifcfg-br0 文件,其类型设为Bridge:
[root@etone ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTRPOTO=static
IPADDR=10.8.0.124
NETMASK=255.255.0.0
NETWORK=10.8.0.0
GATEWAY=10.8.1.254
ONBOOT=yes

2、将物理接口桥接到桥接器
修改eth0的内容(本服务器是用eth0上网的),去掉其IP相关信息,加上“BRIDGE=br0”,将其桥接到br0上;如果是双网卡或是多网卡,照此过程修改:
[root@etone ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:1e:c9:f0:b6:a7
NM_CONTROLLED=yes
ONBOOT=yes
#IPADDR=10.8.0.123
BOOTPROTO=none
#NETMASK=255.255.0.0
TYPE=Ethernet
#GATEWAY=10.8.1.254
#DNS1=10.8.1.1
IPV6INIT=no
USERCTL=no
BRIDGE=br0

3、重启物理机网络服务
[root@etone ~]# service network restart
此时,物理机的IP地址由10.8.0.123变成了10.8.0.124。

4、查看当前桥接情况(有一个虚拟机正在运行)
[root@etone ~]# brctl show

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思

5、将虚拟机接口桥接到桥接器
[root@etone ~]# brctl delif virbr0 vnet0
[root@etone ~]# brctl addif br0 vnet0
[root@etone ~]# brctl show

 

RHEL 6上KVM的安装配置及使用-将物理接口桥接到桥接器 - zhuzhu - 五事九思



这一步也可以在Virtual Machine Manager中进行。

6、将虚拟机Guest OS IP设置为同一网段地址:10.8.110.220
此时,该虚机可以访问外部网络,并可被(由于是局域网环境,这里仅限于被10.8.0.0/255.255.0.0)外部网络访问。

转载于:https://www.cnblogs.com/shineshqw/articles/2344917.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#中IEnumerableT.Distinct()将指定实体类对象用Lambda表达式实现多条件去重

背景说明 在EF等ORM框架中需要以List实体类的方式对数据进行大量操作,其中免不了对一些数据进行去重复,而C#中IEnumerable.Distinct()便提供了这一功能。只是对刚开始接触的新人来说比价抽象难以接受,本文会对这一功能进行简要说明&#xff…

C#中利用Linq.Dynamic实现简单的动态表达式构建查询

背景介绍 在ADO.NET中我们可以根据用户输入的查询条件拼接出指定的SQL语句进行查询或者筛选出所需的数据,但是在ORM框架如EF中,我们一般用LINQ操作数据查询,LINQ是否可以像SQL一样拼接查询条件呢?答案是可以的。这一技术叫Linq.D…

C#中IEnumerableT.GroupBy()的简单使用

背景介绍 在实际项目中,对数据进行GroupBy肯定是常用需求之一,特别是采用EF等ORM框架后隔绝了用SQL语句直接操作数据,LINQ中的GroupBy肯定是要掌握的。 首先先对一个字段GroupBy,代码如下: static void Main(string[…

25 个精美的后台管理界面模板和布局

任何系统都会有一个管理后台,好看的管理后台看起来赏心悦目,管理的时候心情也舒畅,本文给大家推荐 25 个制作精美的后台管理界面的模板和布局,你值得拥有。 Free Admin Template Web App Theme Spring Time Free Admin Template F…

C#中IEnumerableT.Aggregate()的简单使用

背景介绍 IEnumerable<T>.Aggregate()在LINQ使用中好像很不起眼&#xff0c;但我个人认为这是十分实用并且强大的&#xff0c;支持自定义聚合操作&#xff0c;方法定义中的Func包含3个TSource参数&#xff0c;分别为下一个执行聚合的元素&#xff0c;当前聚合的元素&…

C#中IEnumerable.OfType()方法的简单使用

背景介绍 OfType的定义十分简单&#xff1a;IEnumerable.OfType(TResult)&#xff0c;如其定义&#xff0c;其中TRsult为所要过滤的类型。由于非泛型集合一律以Object类型存储对象&#xff0c;因此一个非泛型集合可能存储了各种类型&#xff0c;而OfType()方法可以轻松的对指定…

C#中IEnumerableT.Join()和IEnumerableT.GroupJoin()简单使用

背景介绍: 在无主外键关系的表中如果如果要关联就要用Join()和GroupJoin()方法了&#xff0c;我们先看Join()方法&#xff0c;代码如下&#xff1a; static void Main(string[] args) {List<SW_XSDD> sw_xsdd new List<SW_XSDD>(){new SW_XSDD { com_id "…

利用ASP.NET MVC 的默认类型绑定器---将Jquery datatables中的数据强类型绑定到实体类中

背景描述&#xff1a; 本文参考资料&#xff1a;https://blog.csdn.net/honantic/article/details/45913403 阅读了上述博文后对我产生了启发&#xff0c;在ASP.NET MVC 5中如何将大批量的数据比如说表格中的数据传到后台&#xff0c;是否可以像HTML辅助类一样强类型绑定实体…

JavaScript模态对话框类(拖拽时动画)

2010年写了一个模态对话框类&#xff0c;这次进行一些重构和扩充。拖拽时使其有动画效果。接口没变&#xff0c;如下 new ModelDialog({caption 标题 对话框标题(默认)template 主体内容 (默认)dialogCls 对话框className md-dialog(默认)headCls 头部classNa…

C#中其他简单LINQ查询表达式的简单使用介绍

本文主要记录下其他简单LINQ表达式&#xff0c;因为比较简单&#xff0c;记录下以后方便回忆&#xff0c;本文也会持续更新。 一些有用的LINQ扩展方法&#xff1a; LINQ表达式作用是否延迟查询Range生成指定范围内的整数的序列 Repeat生成包含一个重复值的序列 Skip跳过指定数…

支持上传文件的xhEditor for Typecho EX插件

2019独角兽企业重金招聘Python工程师标准>>> Typecho是一套超轻量的开源博客&#xff0c;界面简洁&#xff0c;功能紧凑&#xff0c;但是Typecho的文本编辑器实在是不好&#xff0c;需要自己写html代码&#xff0c;插图也不方便。试用了几个插件&#xff0c;发现Tin…

C#中IEnumerableT.Select()、SelectMany()的简单使用

本文主要用来记录、让自己有所了解和提升&#xff0c;以后遗忘时可以查看&#xff0c;关于SelectMany()&#xff0c;这篇文章写得不错&#xff0c;值得一看。 话不多说&#xff0c;先上代码看 Select() public class Person {public string Name { get; set; }public string G…

C#中合并两个lambda表达式

在LINQ中如何查询条件不固定&#xff0c;如何合并两个lambda表达式&#xff1f;其中一个方式是LINQ.Dynamic&#xff0c;关于LINQ.Dynamic的简单使用可以参考这篇文章&#xff0c;还有一种方法是利用Expression表达式树&#xff0c;有关表达式树的介绍&#xff0c;可以看这篇文…

彻底理解 Cookie、Session、Token

发展史 1、很久很久以前&#xff0c;Web 基本上就是文档的浏览而已&#xff0c; 既然是浏览&#xff0c;作为服务器&#xff0c; 不需要记录谁在某一段时间里都浏览了什么文档&#xff0c;每次请求都是一个新的HTTP协议&#xff0c; 就是请求加响应&#xff0c; 尤其是我不用记…

C#利用反射实现动态加载程序集简单案例

反射可以不但用来读取元数据&#xff0c;还可以使用反射从编译时还不清楚的类型中动态创建程序集&#xff0c;此案例摘自C#高级编程。 首先先创建一个控制台应用程序&#xff0c;然后添加一个类库&#xff0c;类库名称为CalculatorLib&#xff0c;如下图所示&#xff1a; Calcu…

设置与读取C#控制台应用程序Main函数中的参数args

在项目属性面版->调试->命令行参数设置。空格分隔。读取&#xff1a;string[] str Environment.GetCommandLineArgs();Main函数是C&#xff03;应用程序的入口点&#xff0c;Main函数可以有四种签名&#xff0c;分别如下:static void Main()static void Main(string[] a…

基于AgileEAS.NET企业应用平台实现基于SOA架构的应用整合方案-开篇

为什么80%的码农都做不了架构师&#xff1f;>>> 开篇 系统架构的文章&#xff0c;准备在这段时间好好的梳理和整理一下&#xff0c;然后发布基于AgileEAS.NET平台之上的企业级应用架构实践&#xff0c;结合具体的案例来说明AgileEAS.NET平 台之上如何进行系统的逻辑…

修改Visual Studio类模板注释信息

背景资料 在开发过程中&#xff0c;经常需要给新增的类和接口添加 public 修饰符和一些相关的注释信息&#xff0c;这个工作是机械而且枯燥的&#xff0c;这个可以通过修改VS自带的类模板来实现。 1、首先找到VS的安装目录&#xff0c;例如如下目录&#xff1a; D:\Program F…

CGDC

为什么80%的码农都做不了架构师&#xff1f;>>> 听了两天&#xff0c; eve online的讲服务器不错&#xff0c;涉猎较少&#xff0c;所以只能谈下当时记得东西。 eve服务器用stackless python来编程&#xff0c;由于分布式做的比较好&#xff0c;可以通过扩展硬件来…