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、實驗大綱圖
2、安裝以下包
yum -y install libvirt-daemon-kvm qemu-kvm virt-manager libvirt
systemctl restart libvirtd 重啟服務
3、建立http-fpm網橋
cd /etc/libvirt/qemu/networks/
cp default.xml httpfpm.xml vim httpfpm.xml
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
virsh net-define /etc/libvirt/qemu/networks/phpmysql.xml 自定義 virsh net-start phpmysql 啟動 virsh net-autostart phpmysql 自啟動
5、建立物理橋
nmcli connection add type bridge con-name br0 ifname br0
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
nmcli c s 檢視方案及網絡卡資訊
nmcli connection up br0
再次檢視
nmcli connection add type bridge-slave ifname ens33 master br0 nmcli connection up bridge-slave-ens33
再次檢視
以上問題的解決方案:重啟 reboot
6、建立虛擬磁碟檔案
mkdir -pv /virtualmachines/centos7_base qemu-img create -f qcow2 -o size=80G,preallocation=metadata,compat=1.1 /virtualmachines/centos7_base/centos7.img
7、掛載,或下載到本機
mount 172.18.0.1:/var/ftp/pub /mnt/
8、安裝centos7過程
virt-manager
9、配置模板機
ip a s
10、使用console連線centos7需要配置grub
vim /etc/default/grub
grub2-mkconfig > /boot/grub2/grub.cfg
11、複製httpd模板機
mkdir -pv /virtualmachines/{httpd,php,mysql}
(具體情況具體分析。。。)
cd /etc/libvirt/qemu/
cp centos7.5.xml httpd.xml vim httpd.xml
virsh define httpd.xml virsh autostart httpd virsh start httpd
配置php的檔案
配置mysql的檔案
12、配置三臺虛擬機器的網絡卡資訊
PHP:
MYSQL:
HTTPD:
三、搭建LAMP
1、httpd虛擬機器配置
vim /etc/httpd/conf/httpd.conf
2、php虛擬機器配置
首先刪除原本測試用的htdocmulu
將phpmysamin壓縮包解壓
做一個超連結 連線到htdocs
php配置完畢
3、mysql虛擬機器配置
4、測試