一、基础知识简介

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

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.xmlvim httpfpm.xml

image.png

image.png

virsh net-define /etc/libvirt/qemu/networks/httpfpm.xml virsh net-start httpfpmvirsh 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 br0nmcli connection up bridge-slave-ens33

image.png

    再次查看

image.png

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

image.png

6、创建虚拟磁盘文件

mkdir -pv /virtualmachines/centos7_baseqemu-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.xmlvim httpd.xml

image.png

image.png

image.png

image.png

virsh define httpd.xmlvirsh autostart httpdvirsh start httpd

image.png

    配置php的文件

image.png

image.png

image.png

image.png

    配置mysql的文件

image.png

image.png

image.png

image.png

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

    PHP:

spacer.gifimage.png

spacer.gifimage.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