linux实战---基于KVM虚拟化搭建LAMP


一、基础知识简介

    虚拟化可以虚拟出来多个操作系统:每个操作系统之间是相互独立的,所以每个操作系统上所跑的应用自然是相互不影响的。

1、 kvm的虚拟化特性

    1)嵌入到linxu正式kernel(提高了兼容性)

    2)代码级资源调用(提高性能)

    3)虚拟机就是一个进程(内存易于管理)

    4)直接支持NUMA技术(提高扩展性)

    5)虽然被Redhat收购了,但是依然保持着开源发展模式,社区活跃

    6)更好的商业支持及服务保障

    7)Centos7较Centos6默认支持cpu热添加,内存的热添加,大页内存默认都是开启的

2、虚拟机基本操作学习

   生成kvm虚拟机:virt-install

   查看在运行的虚拟机:virsh list

   查看所有虚拟机:virsh list –all

   查看kvm虚拟机配置文件:virsh dumpxml name

   启动kvm虚拟机:virsh start name

   正常关机:virsh shutdown name

   非正常关机(相当于物理机直接拔掉电源):virsh destroy name

   删除:virsh undefine name(彻底删除,如果想找回需要备份/etc/libvirt/qemu的xml文件)

   根据配置文件定义虚拟机:virsh define file-name.xml

   挂起,终止:virsh suspend name

   恢复挂起状态:virsh resumed name

二、实战步骤

    实验环境:centos7

1、实验大纲图


image.png

2、安装以下包

 yum -y install libvirt-daemon-kvm qemu-kvm virt-manager libvirt

image.png

systemctl restart libvirtd   重启服务

image.png

3、创建http-fpm网桥

cd /etc/libvirt/qemu/networks/

image.png

cp default.xml httpfpm.xml
vim httpfpm.xml

image.png

image.png

virsh net-define /etc/libvirt/qemu/networks/httpfpm.xml
 virsh net-start httpfpm
virsh net-autostart httpfpm

4、创建php-mysql网桥

cp httpfpm.xml phpmysql.xml

image.png

image.png

virsh net-define /etc/libvirt/qemu/networks/phpmysql.xml   自定义
virsh net-start phpmysql      启动
virsh net-autostart phpmysql     自启动

image.png

5、创建物理桥

nmcli connection add type bridge con-name br0 ifname br0

image.png

nmcli connection modify br0 ipv4.method manual ipv4.addresses 172.18.254.39/16 ipv4.gateway 172.18.0.1 ipv4.dns 172.18.0.1

image.png

nmcli c s   查看方案及网卡信息

image.png

nmcli connection up br0

image.png

    再次查看

image.png

nmcli connection add type bridge-slave ifname ens33 master br0
nmcli connection up bridge-slave-ens33

image.png

    再次查看

image.png

    以上问题的解决方案:重启 reboot

image.png

6、创建虚拟磁盘文件

mkdir -pv /virtualmachines/centos7_base
qemu-img create -f qcow2 -o size=80G,preallocation=metadata,compat=1.1 /virtualmachines/centos7_base/centos7.img

image.png

image.png

image.png

image.png

7、挂载,或下载到本机

mount 172.18.0.1:/var/ftp/pub /mnt/

image.png

8、安装centos7过程

virt-manager

image.png

image.png

image.png

image.png

image.png

image.png

image.png


image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

9、配置模板机

image.png

ip a s

image.png

image.png

image.png

image.png

10、使用console连接centos7需要配置grub

vim /etc/default/grub

image.png

image.png

grub2-mkconfig > /boot/grub2/grub.cfg

image.png

11、复制httpd模板机

mkdir -pv /virtualmachines/{httpd,php,mysql}

image.png

image.png

   (具体情况具体分析。。。)

image.png

cd /etc/libvirt/qemu/

image.png

 cp centos7.5.xml httpd.xml
vim httpd.xml

image.png

image.png

image.png

image.png

virsh define httpd.xml
virsh autostart httpd
virsh start httpd

image.png

    配置php的文件

image.png

image.png

image.png

image.png

    配置mysql的文件

image.png

image.png

image.png

image.png

12、配置三台虚拟机的网卡信息

    PHP:

image.png

image.png

image.png

    MYSQL:

image.png

image.png

    HTTPD:

image.png

三、搭建LAMP

1、httpd虚拟机配置

image.png

image.png

image.png

image.png

vim /etc/httpd/conf/httpd.conf

image.png

image.png

2、php虚拟机配置

image.png

image.png

    首先删除原本测试用的htdocmulu

image.png

    将phpmysamin压缩包解压

image.png

image.png

    做一个超链接 连接到htdocs

image.png

image.png

image.png

image.png

image.png

    php配置完毕

3、mysql虚拟机配置

image.png

image.png

image.png

image.png

4、测试

image.png

猜你喜欢

转载自blog.51cto.com/13869720/2312566