1. 程式人生 > >linux實戰---基於KVM虛擬化搭建LAMP

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