烂泥:虚拟化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:动态主机配置协议,在此就不多做介绍.不清楚的童鞋,可以去百度下 ...
随机推荐
- Spring基础——在Spring Config 文件中配置 Bean
一.基于 XML 的 Bean 的配置——通过全类名(反射) <bean <!-- id: bean 的名称在IOC容器内必须是唯一的若没有指定,则自动的将全限定类名作为 改 bean 的 ...
- 6/13 sprint2 看板和燃尽图的更新
- LeetCode - 44. Wildcard Matching
44. Wildcard Matching Problem's Link --------------------------------------------------------------- ...
- java 接口学习
你应该知道接口是一种契约,它与实现方式无关 但是类,即使是抽象类,你都能自定义成员变量,而成员变量往往就与实现方式有关. 这一点的实际意义不大. 但是有一点,类会暴露太多不必要,甚至不能暴露的东西,你 ...
- 【C#进阶系列】08 方法
实例构造与引用类型 之前的章节其实已经写过了引用类型的构造过程: 首先当然是,在堆中,为引用类型的实例对象分配内存,然后初始化对象的附加字段(即类型对象指针和同步块索引). 这个时候为对象分配的内存都 ...
- 线段树的区间更新---A Simple Problem with Integers
POJ 3468 Description 给出了一个序列,你需要处理如下两种询问. "C a b c"表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 100 ...
- java ftp
FTPUtil import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import jav ...
- Java-链表LinkedList源码原理分析,并且通过LinkedList构建队列
在这里我们介绍一下最简单的链表LinkedList: 看一下add()方法: public boolean add(E e) { linkLast(e); return true; } void li ...
- mybatis中#和$符号的区别
mybatis做为一个轻量级ORM框架在许多项目中使用,因其简单的入门受到了广大开发者的热爱.在近期项目中再做一个相关的开发,碰到了#.$符号这样的问题,之前没怎么注意过,通过学习之后,有了点感悟,分 ...
- 股票价格涨跌预测—基于KNN分类器
code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...