一、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。

二、构建流程图

三、内容

1、部署安装环境

1.1 修改系统内存

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

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

完成后,点击确定按钮

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

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

3、配置yum源

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

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

注:

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

    libvirt    ----管理虚拟机

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

    bridge-utils   ----网桥工具

4.2 重新启动服务

4.3 检查

5、创建网桥

5.1 创建http-fpm网桥

5.1.1 进入目录

5.1.2 编辑xml文件

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

5.1.4 启动httpfpm网桥

5.1.5 设置httpfpm网桥开机启动

5.2 创建php-mysql网桥

5.2.1 进入目录

5.2.2 编辑xml文件

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

5.2.4 启动httpfpm网桥

5.2.5 设置httpfpm网桥开机启动

5.2.6 查看网桥是否已启动

5.3 创建物理桥

5.3.1 新建br0配置文件

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

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

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

5.3.3 启动br0

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

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

5.3.5 启用bridge-slave网卡

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

5.3.6 查看网卡关联

5.3.7 查看网桥

6、创建虚拟磁盘文件

6.1 创建虚拟磁盘文件目录

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

7、下载虚拟机centos7镜像

    略

8、安装样板机

8.1 新建虚拟机

8.2 选择安装方式

8.3 添加镜像文件

8.4 修改内存和处理器



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

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


8.7 开始安装

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

9、配置样板机

9.1 配置yum仓库

9.1.1 下载yum源

9.1.2 清空yum缓存

9.1.3 更新yum数据库

9.2 安装相关包,备用

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

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

10.1 创建虚拟机放置目录

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

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

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

10.4 编辑配置文件

10.5 开启httpd虚拟机

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

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

11、配置httpd虚拟机

11.1 配置第一个网卡

11.2 配置第二个网卡

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

12、配置php虚拟机

12.1 添加网卡

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

12.2 修改网卡参数

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

13、配置mysql虚拟机

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

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

httpd虚拟机

php虚拟机

mysql虚拟机

15、实现基于lamp搭建WordPress blog

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

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

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

2、指定模块的先后顺序

结果

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

1

2

3

4

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

5