详解kvm部署三个虚拟机实现 WordPress 实验

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

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

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

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

2、指定模块的先后顺序

结果

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

1

2

3

4

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

5

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • KVM虚拟机技术学习总结

    最近在学习KVM,进程不算太快,近期整理了一下KVM虚拟机技术学习笔记,现在就分享给大家,也给大家做个参考.有需要的朋友可以来了解一下. KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理. 1.  查看KVM虚拟机配置文件及运行状态 (1) KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录是配置kvm虚拟机开机自启动目录. (2) virsh命令帮助 # virsh -help 或直接virsh命令和,再执行子命令.如下所示. [root@n

  • 详解CentOS7.2部署KVM虚拟机(图文)

    前段时间学习了关于PostGis.OSM数据以及Mapnik相关内容,接下来将利用假期重点学习PostgreSQL-XL和瓦片服务器集群技术,因此先把环境搭好.计划采用KVM来充分利用家里不太宽裕的"服务器"资源,以便实现弹性计算:) CentOS版本:64位 7.2  1511 一.安装KVM 1. 验证CPU是否支持KVM:如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. egrep '(vmx|svm)' /proc/cpuinfo 2. 关闭SEL

  • centos 6.6 安装 KVM 虚拟机的方法

    KVM是指基于Linux内核的虚拟机(Kernel-base Virtual Machine),增加到Linux内核是Linux发展的一个重要里程碑,这也是第一个整合到Linux主线内核的虚拟化技术.在KVM模型中,每一个虚拟机都是一个由Linux调度程序管理的标准进程,你可以在用户空间启动客户机操作系统,一个普通的Linux进程有两种运行模式:内核和用户,KVM增加了第三种模式:客户模式(有自己的内核和用户模式). 1 KVM虚拟机的管理工具 准确的来说,KVM仅仅是Linux内核的一个模块,

  • KVM虚拟机的创建、管理与迁移介绍

    虚拟机迁移技术为服务器虚拟化提供了便捷的方法.尽管商业的虚拟软件功能比较强大,但是开源虚拟机如 Linux 内核虚拟机 KVM 和 XEN 发展迅速,迁移技术日趋完善.  一.安装guest虚拟机 1.直接通过virt-manager安装.管理虚拟机(略) 2.通过命令行安装guest虚拟机 qemu-img create -f qcow2 /images/centos6.3-x86_64.img 10G chown qemu:qemu /images/centos6.3-x86_64.img

  • 详解在 KVM 上安装 Win7 虚拟机

    之前都是在用Linux 虚机,现在有需要用到Win7 虚机,才发现在 KVM 上安装 Win7 的过程远比想象中的复杂.本文就把其过程做个简单总结. 1. 在 Virtual Machine Manager 里面安装 首先尝试在 Virtual Machine Manager 里面安装.遇到的问题如下: (1)一直停留在 starting windows 界面. 解决方法:修改 video model 为 Cirrus,问题解决. (2)开始安装后,对鼠标和键盘无响应. google,发现需要使

  • 详解基于本地存储的kvm虚拟机在线迁移

    kvm虚拟机迁移分为4种 (1)热迁移基于共享存储 (2)热迁移基于本地存储 (3)冷迁移基于共享存储 (4)冷迁移基于本地存储 这里介绍的是基于本地存储的热迁移 动态块迁移版本要求 qemu版本要求  大于或等于0.12.1(centos6.7或以上都没问题) rpm -qa|grep qemu qemu-kvm-0.12.1.2-2.491.el6_8.1.x86_64 qemu-kvm-tools-0.12.1.2-2.491.el6_8.1.x86_64 目标宿主机:192.168.1.

  • kvm安装和删除虚拟机的方法

    什么是 KVM ? KVM 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine). 2006 年 10 月,由以色列的Qumranet 组织开发的一种新的"虚拟机"实现方案. 2007 年 2 月发布的 Linux 2.6.20 内核第一次包含了 KVM .增加 KVM 到 Linux 内核是 Linux 发展的一个重要里程碑,这也是第一个整合到 Linux 主线内核的虚拟化技术. KVM 在标准的 Linux 内核中增加了虚拟技术,从而我们可

  • kvm虚拟机的创建与克隆操作方法

    前言 这篇文章给大家介绍了kvm虚拟机的创建与克隆,下面话不多说,来看看详细的操作步骤 一.创建虚拟机: qemu-img create -f qcow2 -o preallocation=metadata /data/kvm_centos/centos6.7_base.qcow2 10G virt-install --name=centos6.7_base --ram 512 --vcpus=1 -f /data/kvm_centos/centos6.7_base.qcow2 --locati

  • 详解kvm部署三个虚拟机实现 WordPress 实验

    一.kvm 简介 kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少.KVM目前已成为学术界的主流VMM之一. KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术).是基于硬件的完全虚拟化.而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化.但Xe

  • 详解如何部署H5游戏到nginx服务器

    在自学游戏开发的路上,最有成就感的时刻就是将自己的小游戏做出来分享给朋友试玩,原生的游戏开可以打包分享,小游戏上线流程又长,那 H5 小游戏该怎么分享呢?本文就带大家通过 nginx 将构建好的 H5 游戏托管的阿里云上. 内容大纲: 下载.配置 nginx 上传游戏构建文件到云服务器 nginx 通过端口设置多个虚拟主机 开发环境: 阿里云服务器:Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-93-generic x86_64) nginx:nginx/1.4.6 (

  • 详解docker部署SpringBoot及替换jar包的方法

    关于docker的安装和使用,可以看看之前这两篇文章.docker kubernetes dashboard安装部署详细介绍和Docker如何使用link建立容器之间的连接.这篇文章主要介绍如何在docker上部署springboot项目.关于如何创建springboot项目可以看看这篇文章IDEA上面搭建一个SpringBoot的web-mvc项目遇到的问题 本文主要介绍docker部署springboot的三种方式,分别是:入门方式.jar包替换部署的方式和脚本部署方式,一步步来手把手教程.

  • 详解Python的三种拷贝方式

    在练习列表的操作的时候我发现赋值之后的列表会随着被赋值的列表改变而改变,就像是C语言中用指向同一实际变量的指针进行操作一样.这是因为Python中有三种拷贝方式:浅拷贝.深拷贝和赋值拷贝. 赋值拷贝就像是定义新指针并指向了同一内存区域,对任意一个列表名进行操作,其他的也会变化. 深拷贝的作用是完全拷贝一个列表A并赋值给另一列表B.以下是深度拷贝与列表操作的样例.记得在使用深拷贝的时候要引入copy包. import copy #对列表的增删改 numbers_Ori = ['one', 'two

  • 详解SpringBoot的三种缓存技术(Spring Cache、Layering Cache 框架、Alibaba JetCache 框架)

    引言 ​前两天在写一个实时数据处理的项目,项目要求是 1s 要处理掉 1k 的数据,这时候显然光靠查数据库是不行的,技术选型的时候老大跟我提了一下使用 Layering-Cache 这个开源项目来做缓存框架. ​之间问了一下身边的小伙伴,似乎对这块了解不多.一般也就用用 Redis 来缓存,应该是很少用多级缓存框架来专门性的管理缓存吧. ​趁着这个机会,我多了解了一些关于 SpringBoot 中缓存的相关技术,于是有了这篇文章! 在项目性能需求比较高时,就不能单单依赖数据库访问来获取数据了,必

  • 详解docker部署Jenkins新手使用教程

    本文通过docker部署Jenkins+Maven+SVN+Tomcat,在基础镜像Jenkins上安装Maven及自带的OpenJDK形成新的镜像,然后通过SVN将项目checkout下来,由Jenkins自带的插件或脚本将Maven生成的war包发送到指定的Tomcat的WebApps目录下,最终启动Tomcat完成自动化部署. 通过docker命令:sudo docker run –d -p 9898:8080 -p 50000:50000 -v /alidata/projects/jen

  • 详解Thymeleaf的三种循环遍历方式

    目录 循环遍历list集合 1.实体类 2.控制类 3.each.html 循环遍历map集合 1.控制类 2.each.html 循环遍历数组 循环遍历list集合 1.实体类 使用lombok插件,省去getter和setter,toString等方法的书写 代码 package com.springboot_thyleaf2.model; import lombok.Data; @Data public class User { private Integer id; private St

  • k8s之ingress-nginx详解和部署方案

    目录 1.ingress介绍 2.ingress的工作原理 3.ingress可以解决的问题 1)动态配置服务 2)减少不必要的端口暴露 4.部署ingress(deployment的方式) 1)配置文件准备(粘贴下面网址的yanl文件) 2)配置文件介绍和设置ingress的网络模式 3)修改配置文件 4)拉取镜像(通过查看ingress的yaml文件可以看出)和创建svc文件 5)指定运行节点(需要打标签) 5.部署ingress(DaemonSet的方式) 1)添加hostNetwork

  • 详解Rust中三种循环(loop,while,for)的使用

    目录 楔子 loop 循环 while 循环 for 循环 楔子 我们常常需要重复执行同一段代码,针对这种场景,Rust 提供了多种循环(loop)工具.一个循环会执行循环体中的代码直到结尾,并紧接着回到开头继续执行. 而 Rust 提供了 3 种循环:loop.while 和 for,下面逐一讲解. loop 循环 我们可以使用 loop 关键字来指示 Rust 反复执行某一段代码,直到我们显式地声明退出为止. fn main() {     loop {         println!("

  • 详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表 关键字参数 关键字参数在python中习惯用**kw表示,可以传入0到任意多个"关键字-值",参数在函数内部被当做一个字典结构.例如 def testArg(**kw) def testArg(city,**kw) 可以这样调用他 testArg(name='John',job='h

随机推荐