一、kvm 简介

    kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

    KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列也是基于软件模拟的Para-Virtualization。

二、构建流程图

P1SO6I~TGSU]DF4%70VRJYT.png

三、内容

1、部署安装环境

1.1 修改系统内存

双击虚拟机,右方有编辑虚拟机设置,点击打开

83M60Y0V{Z0%P[3X3VIJV@3.png

1.2 开启虚拟化,设置处理器数量,并勾选图标注的选项

S]80]4ZAB_H]XRRLGBG2}6I.png

完成后,点击确定按钮

2、查看CPU的指令集,即查看虚拟化是否开启

WSE@R{L]IY@_[ZA}KUZSOO3.png

注:如果 vmx 不显示,重启系统即可。

3、配置yum源

))4{X)ZTM5B9V5`R`KCYSYO.png

注:yum源已配置,视情况而定

4、安装kvm服务及管理需求相关的包

Q{Z5QH`J[23P@EI_T]D{]8E.png

注:

    qemu-kvm    ----模拟计算机的工具,为KVM虚拟机提供IO设备

    libvirt    ----管理虚拟机

    virt-install    ----命令行的虚拟机创建安装工具

    bridge-utils   ----网桥工具

4.2 重新启动服务

0_JUCK4EOA5F{E0BD`5NL)T.png

4.3 检查

5、创建网桥

5.1 创建http-fpm网桥

5.1.1 进入目录

KY`H2E%{7E4J[B12CX]`8(1.png

5.1.2 编辑xml文件

P_I6P)F09$P0N}ALK9X2)ON.png

5.1.3 按指定xml文件定义并生成该网桥

8(5O6ANNJS8JBZX)ESS{62Y.png

5.1.4 启动httpfpm网桥

Y_{KO5AF]4X2}2N{3{FK~RB.png

5.1.5 设置httpfpm网桥开机启动

9%DQG0F]1$`~`ZU{%0NE$CI.png

5.2 创建php-mysql网桥

5.2.1 进入目录

KY`H2E%{7E4J[B12CX]`8(1.png

5.2.2 编辑xml文件

ONWICD7ZVRAX580JI%{0A(M.png

5.2.3 由指定xml文件定义并生成网桥

1RJ`OKP3AR2XBOCB)[I]773.png

5.2.4 启动httpfpm网桥

0~9H6Z)QC8@H(6@%B~TT7%U.png

5.2.5 设置httpfpm网桥开机启动

@`BT352MR0{PMPFHZ3{5NVR.png

5.2.6 查看网桥是否已启动

B3}J]C4(%GZ%M(K7W7@5(OA.png

5.3 创建物理桥

5.3.1 新建br0配置文件

A9%)I%L`T)}4%(J3T_7}2RG.png

注:type指定bridge类型,con-name为配置文件连接名,ifname为指定接口

5.3.2 把br0设置动态ip为172.18.254.39,并设置网关和DNS为172.18.0.1

2%)}S%L{TE}WZ16SIC(9PGN.png

注:ipv4.method为指定动态IP或手动设置IP,ipv4.gateway为设置网关  

5.3.3 启动br0

Y669FQFVP6399[TP5ZY$]GP.png

5.3.4 为br0添加物理网卡,并指定主网卡为br0

RRO@5M]}B}]OE(%XWFPRARL.png

注:type类型为bridge-slave,ifname指定接口为ens33,master为指定主设备为br0

5.3.5 启用bridge-slave网卡

[1NCJWM6I(55Q8A~~$LIWUN.png

注:如果网卡启动有未知错误,重启虚拟机

5.3.6 查看网卡关联

]BLD}%]%SGC9%CK1`43UZ1V.png

5.3.7 查看网桥

G{CAQ1F`OCCPJG3LH_$[H]L.png

6、创建虚拟磁盘文件

6.1 创建虚拟磁盘文件目录

WYI%SP@30HE$@3DR7J$D{CB.png

6.2 创建磁盘文件,并生成虚拟磁盘模板

%}T~_{54DY4@@AF6E``OV6O.png

7、下载虚拟机centos7镜像

    略

8、安装样板机

EY$_2I5%KR0K1Y@Y0R9G7(G.png

8.1 新建虚拟机

8D(MBCG$`@@}M{N4TV[58@K.png

8.2 选择安装方式

DK_AZLA6L5EL73QZ]BXK))D.png

8.3 添加镜像文件

DK_AZLA6L5EL73QZ]BXK))D.png

8.4 修改内存和处理器

O7E~A4LRC1$CUT%74_](N]R.png



8.5 导入生成的虚拟磁盘文件

CC63I4LR_M(4_FDX}B%)H9Q.png

8.6 修改虚拟机名字,并选择网卡


D3IYWBOW6{KK]BRMRQCN@AT.png

8.7 开始安装

W6Q(}LYD_R9$DNZO4A3HZ4Q.png

~L2TA[JUJ4)9I%K)HNW@1Z0.png

回车之后的步骤与新安装centos7一样,这里就不一一赘述。

9、配置样板机

9.1 配置yum仓库

9.1.1 下载yum源

9.1.2 清空yum缓存

DG[RI7}GD(~ZJ9)8UKH5D$0.png

9.1.3 更新yum数据库

XOY`~605(VS@G$9T%IS@{ON.png

9.2 安装相关包,备用

8]{KJ{(C4_{PKDNRM(I]{A8.png

安装完成后,使用 reboot 命令关闭虚拟机。

10、以样板机为模板,创建三个虚拟机,名字为httpd,mysql,php,为实现 WordPress 做准备。

10.1 创建虚拟机放置目录

CF{)ZY[%D9PZR2P@FQA8]~1.png

注:因虚拟机文件较大,这里新创建了一个目录,并挂载到硬盘上,建议新创建硬盘。

10.2 复制样板机到指定目录,并修改名字为httpd

PCIPVHMD1I@_BIFIOG}W}74.png

10.3 进入配置文件目录,复制生成httpd虚拟机的配置文件

7C(6P]G01(5P[F{DD]5)YNC.png

10.4 编辑配置文件

S03P[D)18K$M{$({8@8BC`3.png

J~5S_7)~FO1_F5_9O)KP5[L.png

FS8CGQB4J)[B_6{0([P0D)5.png

10.5 开启httpd虚拟机

@Q8WIY}7]4[MR}~{(2YAH[E.png

完成后,以上述同样的步骤创建mysql、php虚拟机。

10.6 查看创建的虚拟机是否启动

}79C1MZ[`MR19YF(0GA6@0T.png

11、配置httpd虚拟机

11.1 配置第一个网卡

WR{NN_SYM%83C8A08863S7A.png

11.2 配置第二个网卡

YDBV@VOJ$ESJGF1U{Q_X(`E.png

11.3 查看配置的网卡是否自动生成IP地址

F]SAA`E3$`TJ2AS1@~}6C)M.png

12、配置php虚拟机

12.1 添加网卡

    对于添加网卡,选中网卡,点击鼠标右键,点击添加网卡,选中network,修改network source,再点击右下角finish选项完成。

86XU9$9~X[~FS%MZIV2THLA.png

12.2 修改网卡参数

KA18GEXP)$(U[9D89386[7X.png

12.3 查看配置的网卡是否自动生成IP地址

]LVP21CK}~E5UT)F[21D)RL.png

13、配置mysql虚拟机

SO{6%3BM@XIRXX)@~PUEW4C.png

查看配置的网卡是否自动生成IP地址

VZJF~}~VI~}7WU)WDU~LR{7.png

14、测试虚拟机之间是否可以访问

httpd虚拟机

%{L1%]U39[$RBCO5$A_@HMN.png

php虚拟机

%9}881{4PS(@[IW68NY~TGO.png

A9KHZORGMQQBDGTXVS7)J1J.png

mysql虚拟机

S2QOY40T]NZ)[IRO~2GN8GF.png

I}JNN6EHH73I$)MA)WKRVUC.png

15、实现基于lamp搭建WordPress blog

    详细过程,请参考博客:http://blog.51cto.com/12948961/2307599

    因模块不同,需要指定模块顺序

1、在httpd客户机修改http服务的配置文件

(LJPW{[}ZD[0K$Z~8Z98L@C.png

2、指定模块的先后顺序

H}J$%439_`%1@U7ETVNHBFY.png

结果

    因连接网络的不同,获取的IP地址有所不同。

1

ZWE4BDFQRY4~MW8N%$DU816.png

2

C)]{AJZYAVN38[1ZQ_@8JTM.png

3

TV2M$Y1K(DVO}96E]_D}YSI.png

4

TYI$TOR]JQI(7I2P]{6`{7M.png

注:因之前做过此实验,提示内容有所不同。

5

6NP~C7ZRA}$KWOXYCX~FE3V.png