烂泥:虚拟化KVM安装与配置
最近打算把公司的服务器全部做成虚拟化,一是跟有效的利用了服务器,二也是对自己是一个学习的机会。
KVM的安装与配置步骤如下:
1、 查看是否支持虚拟化
2、 安装kvm及其所需的软件包
3、 kvm图形化管理工具
4、 检测kvm模块是否安装成功
5、 检测kvm是否安装成功
6、 编辑网卡
7、 配置桥接网卡br0
8、 配置网卡eth0
9、 重启并查看网卡,使之生效
10、 关闭防火墙
11、 创建ISO镜像文件夹,使用NFS存储
12、 创建虚拟机硬盘
13、 创建虚拟机
14、 使用VNC客户端连接虚拟机,然后安装OS
因为没有真实的服务器来让我做实验,所以暂时只能现在虚拟机VMware Workation中进行实验。在实验开始之前,需要有两个工作要做一是开启服务器本身的虚拟化支持,这个在BIOS中开启,另外一个是vm中开启。如下图:

虚拟化开启并安装centos系统,建议centos安装64bit。进入系统,首先查看服务器是否支持虚拟化,可以使用如下命令:
more /proc/cpuinfo |grep svm
more /proc/cpuinfo |grep vmx

通过上图我们可以很明显的看到,服务器是支持虚拟化的。那么接下来,我们开始安装KVM。
现在我们来安装kvm及其所需的软件包,可以通过以下命令:
yum -y install qemu-kvm libvirt python-virtinst bridge-utils



通过上图可以看到,安装KVM依赖的软件包太多了,所以安装KVM时不建议使用源码安装。
如果你想通过图形化方式来管理KVM的话,可以安装如下软件包:


以上安装完毕后,我们检测kvm模块是否安装,可以使用如下名:
lsmod |grep kvm

通过上图,我们可以很明显的看到kvm模块已经安装成功。
下面我们检测下kvm是否安装成功,我们可以使用以下命令
virsh -c qemu:///system list
注意在使用该命令之前,一定要重启下服务器,否则会报错的。如下图:

重启服务器

服务器重启完毕后,在此使用virsh -c qemu:///system list命令进行检测:

可以很明显的看到,kvm目前已经安装成功。
以上是KVM的安装。下面我们开始来配置KVM并安装一个虚拟机。
因为虚拟机中网络,我们一般都是和公司的其他服务器是同一个网段,所以我们需要把KVM服务器的网卡配置成桥接模式。这样的话KVM的虚拟机就可以通过该桥接网卡和公司内部分其他服务器处于同一网段。
有关网卡的桥接模式,查找相关资料如下:
其实我们在虚拟机搭建的时候,我们最终关心的网卡是: eth0, br0, vnet0,vnet1…
其中eth0是我们服务器原来的物理网卡,而br0是我们虚拟出来的网桥设备,而vnetXXX就是桥接映射到虚拟机里面用到的网卡。
当配置完毕之后,我们使用ifconfig命令查看起来的话,会发现eth0是没有IP地址,而br0仿佛是虚拟出来的一个原来eth0的访问接口,它具有IP地址,可以代替原来的eth0被访问。
而vnetXX的地址可以在建立虚拟机之后在虚拟机里面配置,桥接后可以被外部访问。
注意:将已有的物理网卡添加到网桥,此时物理网卡eth0工作于混杂模式,所以不需要IP地址,因为网桥是工作在链路层的。br0就提供了IP地址,用来模拟原来的物理网卡的访问接口.
关于混杂模式:
根据以太网的原理,包是在整个子网里面广播发送的,当网卡发现这个数据帧不是发给自己的也不是广播包的时候,就直接把它丢掉,而不传送到上层内核去处理;
而当网卡处于混杂模式的时候,网卡就不会丢掉帧,而是全部向上提交到内核,让内核处理这些帧结构。通常的,混杂模式使用来进行网络调试的,不是正常的工作状态。
配置桥接网卡,我们可以通过现在服务器的网卡eth0来配置。把eth0网卡的配置文件复制一份并命令为br0,可以通过如下命令进行。
编辑网卡:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

下面我们来配置桥接网卡br0,根据上述的资料显示,我们知道该网卡时用来做桥接使用的。我们只需要把设备名,修改为br0,设备类型设置为Bridge桥接模式。如下图:
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.240
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

配置完毕后桥接网卡br0后,我们现在来配置物理网卡eth0,如下图:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:98:F6:00
ONBOOT=yes
BRIDGE=br0

重启并查看网卡,使之生效。
/etc/init.d/network restart
ifconfig

通过上图,我们可以看到网卡br0,已经正常启动。
以上配置完毕后,我们现在开始使用KVM安装虚拟机,但是在这之前我们还有几个工作要做。
关闭防火墙:
/etc/init.d/iptables stop
chkconfig iptables off

创建ISO镜像文件夹,使用NFS存储。
mkdir /iso
mount 192.168.1.11:/data/work/soft/iso /iso
注意:在使用NFS时,一定要关闭KVM所在服务器的SELinux。否则在创建虚拟机是,会报错。


以上操作完毕后,我们使用如下命令创建虚拟机硬盘:
qemu-img create -f qcow2 /vhost/ilanni01.img 4G

使用如下命令创建虚拟机:
virt-install --name ilanni01 --boot network,cdrom,menu=on --ram 512 --vcpus=1 --os-type=linux --accelerate –c /iso/CentOS-6.5-x86_64-bin-DVD1.iso --disk path=/vhost/ilanni01.img,size=4,format=qcow2,bus=virtio --bridge=br0,model=virtio --vnc --vncport=5991 --vnclisten=0.0.0.0
其中 –name表示虚拟机的名称
--boot表示虚拟机启动的顺序
--ram表示为虚拟机分配的内存
--vcpus表示为虚拟机分配的cpu个数
--os-type表示虚拟机的类型
--accelerate 表示KVM加速器
--disk 表示虚拟机的硬盘路径
-c表示虚拟机使用的镜像文件
--bridge表示使用桥接网卡的名称
--vncport表示远程使用VNC连接虚拟机时使用的端口
以上也可以这样进行写:
virt-install -n ilanni01 --boot network,cdrom,menu=on -r 512 --vcpus=1 --os-type=linux --accelerate -c /iso/CentOS-6.5-x86_64-bin-DVD1.iso --disk path=/vhost/ilanni01.img,size=4,format=qcow2,bus=virtio --bridge=br0,model=virtio --vnc --vncport=5991 --vnclisten=0.0.0.0
以上所有的参数,我们都可以使用virt-install –help进行查看。


使用VNC客户端进行连接,然后安装centos系统
vncview 192.168.1.240:5991



通过上图,我们可以看到现在已经进入Centos的安装界面。
至此,我们的KVM的安装结束。
烂泥:虚拟化KVM安装与配置的更多相关文章
- 使用虚拟化KVM安装RHEL7系统
使用虚拟化KVM安装RHEL7系统 作者:Eric 微信:loveoracle11g 检查真实物理机是否支持虚拟化功能 [root@server ~]# grep vmx /proc/cpuinfo ...
- 烂泥:kvm安装windows系统蓝屏
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近一直在学习有关KVM的知识,实验一直是在虚拟机VM中进行的.今天刚好公司有一台空闲的服务器,直接拿来安装centos.kvm等等,然后相关的配置. ...
- 烂泥:KVM安装centos6.5系统
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在前一篇文章中,我介绍了有关KVM的安装与配置.接下来,就来介绍如何在KVM中安装Centos系统. 注意该centos镜像文件,使用的是:CentOS ...
- KVM安装和配置
[未验证部分] kvm安装前检查 # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 ca ...
- 虚拟化 - kvm安装
vmware centos6.5 64位 kvm虚拟化安装配置 安装 centos 64位 1.推荐配置 内存 2G 硬盘50G,或者再单独分一个磁盘,用来存储虚拟机文件 最关键的一步,在创建虚拟机时 ...
- 烂泥:CentOS安装及配置TFTP服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 为什么要学习有关TFTP服务器的安装及配置呢?主要是为了后续学习有关linux系统的无人值守安装做准备. TFTP简单文件传输协议,使用UDP的69端口 ...
- VMware虚拟化kvm安装部署总结
虚拟化 1.环境 Centos7.3 关闭selinux,关闭防火墙 2.虚拟化环境配置 2.1 kvm部署安装 1. VMware 配置桥接模式 2.bios开启虚拟机,以本地台式机为例, 重启动电 ...
- 烂泥:centos安装及配置DNS服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要在centos配置DNS服务器,要先安装DNS软件BIND.当然我们也可以安装其他的DNS软件,比如国内的开源DNS软件DNSPod. 在此我们以通过 ...
- 烂泥:centos安装及配置DHCP服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 有关DHCP服务器的配置一直打算学习,这几天终于抽出时间来专门学习这个知识点. DHCP:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下 ...
随机推荐
- SQL增删查改注意的事项
一.新增 1.增加的时候,bit字段要用“0,1”表示false,和true: 2.时间字段,用单引号包括,里面要遵循基本时间格式: 3,不能为标识列(自动编号列)插入数据(特殊情况下:set ide ...
- C#设计模式——职责链模式(Chain Of Responsibility Pattern)
一.概述 在软件开发中,某一个对象的请求可能会被多个对象处理,但每次最多只有一个对象处理该请求,对这类问题如果显示指定请求的处理对象,那么势必会造成请求与处理的紧耦合,为了将请求与处理解耦,我们可以使 ...
- 那晚征服的一道js经典的面试题
今天朋友共享了一道js中经典的面试题,需求是这样的 给定你任意一个字符串,让你写出一个算法,求算出该字符串中出现次数最多的一个字符,并将其结果输出 刚拿到这道题的第一感觉便是定义一个count计时器, ...
- 第一个Object-C类
转自:http://www.cnblogs.com/heyonggang/p/3441051.html 来源:http://www.cnblogs.com/mjios/archive/2013/04/ ...
- 回文串---Best Reward
HDU 3613 Description After an uphill battle, General Li won a great victory. Now the head of state ...
- php中的字符串常用函数(四) ord() 获得字符的ascii码 chr()获取ascii码对应的字符
ord('a');//=>97 返回小写a 的ascii码值97 chr(97);//=>a 返回ascii码表上的97对应的 小写a
- urllib库初体验以及中文编码问题的探讨
提出问题:如何简单抓取一个网页的源码 解决方法:利用urllib库,抓取一个网页的源代码 ------------------------------------------------------- ...
- 一些实用但不为人知的Unix命令
浮现在脑海的很多 Linux命令,其中一些不为人知,另一些则很常见,如下: xargs or parallel: 并行运行一些程序,命令有很多的选项 sed and awk: 广为人知并且非常有用的处 ...
- 说反话(c++实现)
描述:给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串.字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有 ...
- RHEL7用户管理
本文介绍Linux的用户管理 用户管理 Linux 是一个可以实现多用户登陆的操作系统,不同用户可以同时登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件. 但实 ...