烂泥:虚拟化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中开启。如下图:

clip_image001

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

more /proc/cpuinfo |grep svm

more /proc/cpuinfo |grep vmx

clip_image002

通过上图我们可以很明显的看到,服务器是支持虚拟化的。那么接下来,我们开始安装KVM。

现在我们来安装kvm及其所需的软件包,可以通过以下命令:

yum -y install qemu-kvm libvirt python-virtinst bridge-utils

clip_image003

clip_image004

clip_image005

通过上图可以看到,安装KVM依赖的软件包太多了,所以安装KVM时不建议使用源码安装。

如果你想通过图形化方式来管理KVM的话,可以安装如下软件包:

clip_image006

clip_image007

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

lsmod |grep kvm

clip_image008

通过上图,我们可以很明显的看到kvm模块已经安装成功。

下面我们检测下kvm是否安装成功,我们可以使用以下命令

virsh -c qemu:///system list

注意在使用该命令之前,一定要重启下服务器,否则会报错的。如下图:

clip_image009

重启服务器

clip_image010

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

clip_image011

可以很明显的看到,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

clip_image012

下面我们来配置桥接网卡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

clip_image013

配置完毕后桥接网卡br0后,我们现在来配置物理网卡eth0,如下图:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

HWADDR=00:0C:29:98:F6:00

ONBOOT=yes

BRIDGE=br0

clip_image014

重启并查看网卡,使之生效。

/etc/init.d/network restart

ifconfig

clip_image015

通过上图,我们可以看到网卡br0,已经正常启动。

以上配置完毕后,我们现在开始使用KVM安装虚拟机,但是在这之前我们还有几个工作要做。

关闭防火墙:

/etc/init.d/iptables stop

chkconfig iptables off

clip_image016

创建ISO镜像文件夹,使用NFS存储。

mkdir /iso

mount -t nfs 192.168.1.11:/data/work/soft/iso /iso

注意:在使用NFS时,一定要关闭KVM所在服务器的SELinux。否则在创建虚拟机是,会报错。

clip_image017

clip_image018

以上操作完毕后,我们使用如下命令创建虚拟机硬盘:

qemu-img create -f qcow2 /vhost/ilanni01.img 4G

clip_image019

使用如下命令创建虚拟机:

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 --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 --vnc --vncport=5991 --vnclisten=0.0.0.0

以上所有的参数,我们都可以使用virt-install –help进行查看。

clip_image020

clip_image021

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

vncview 192.168.1.240:5991

clip_image022

clip_image023

clip_image024

通过上图,我们可以看到现在已经进入Centos的安装界面。

至此,我们的KVM的安装结束。


本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/1510700


相关文章
|
10天前
|
存储 Linux 调度
KVM 虚拟化的功能特性
【10月更文挑战第13天】虚拟化技术创建实体资源的虚拟版本,提升资源利用率。KVM(Kernel-based Virtual Machine)作为全虚拟化解决方案,借助Linux内核实现Hypervisor功能,通过模块化方式提供高效的虚拟化环境。
|
2月前
|
KVM 虚拟化
虚拟化技术概述及KVM环境安装
关于虚拟化技术概述及KVM环境安装的教程,涵盖了虚拟化的定义、分类、管理工具,以及KVM的系统需求、安装步骤和使用指南。
70 11
虚拟化技术概述及KVM环境安装
|
15天前
|
安全 KVM 虚拟化
OpenEuler 中配置 KVM 虚拟化环境指南
本文档详细介绍了如何在OpenEuler系统中配置和管理KVM虚拟化环境,包括环境准备、组件安装、虚拟机安装及管理命令等,适合初学者和有经验的用户。内容覆盖了从桥接网卡配置到虚拟机的安装与管理,以及常见问题的解决方法,帮助用户高效利用虚拟化技术。
|
3月前
|
Linux KVM 虚拟化
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
在Linux中,KVM和Docker在Linux虚拟化中的区别是什么?
|
6月前
|
存储 Linux KVM
虚拟化技术之KVM安装与使用
虚拟化技术之KVM安装与使用
|
6月前
|
大数据 Linux KVM
【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)
【云计算与大数据技术】虚拟化技术、开源技术Xen、KVM、OpenVZ的讲解(图文解释 超详细)
203 0
|
3月前
|
存储 Linux 调度
OpenStack如何支持虚拟化技术?
【8月更文挑战第21天】
171 0
|
1月前
|
存储 分布式计算 分布式数据库
云计算和虚拟化技术
云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术,将这些资源池化,组成资源共享池,共享池即是“云”。
131 64
|
18小时前
|
存储 持续交付 虚拟化
|
3月前
|
存储 运维 虚拟化
Docker技术概论(1):Docker与虚拟化技术比较
Docker技术概论(1):Docker与虚拟化技术比较
120 17
Docker技术概论(1):Docker与虚拟化技术比较