Linux環境下實現多臺kvm虛擬機器之間組成amp架構連線
規劃圖
一、安裝kvm
安裝之前,需要lscpu看flag是否包含svm或者vmx,該標誌表示cpu是否支援硬體虛擬化,而且需要64位架構,命令:lscpu | egrep 'vmx|lv|svm'
開機後再檢視,模組已經裝入(CentOS7預設裝入),裝入指令modprobe kvm
yum install libvirt-daemon-kvm qemu-kvm virt-manager libvirt
這裡需要注意,如果使用阿里雲epel源,需要更改epel配置路徑,安裝包在映象站的virt目錄下(和epel同級目錄)
3、圖形介面開啟,virt-manager,出現虛擬機器介面
看到QEMU/KVM說明已經連線到本地,kvm之上,可以建立虛擬機器了
物理網絡卡設定為橋,開啟網絡卡配置檔案/etc/sysconfig/network-scripts,cp ifcfg-eth0 ifcfg-br0,將eth0網絡卡配置檔案新增BRIDGE=br0,將ifcfg-br0的網絡卡配置檔案中TYPE=Bridge,NAME和DEVICE改為br0
對網絡卡的配置,裝置DEVICE不變,將ip、子網掩碼、閘道器等刪掉,新增BRIDGE=br0
5、如果pxe安裝,安裝時候記憶體選擇2048,否則可能會報錯,之後下一步點選自定義設定
下載好後yum安裝,安裝完成後systemctl daemon-reload;systemctl restart wokd,8001埠開啟
virsh-sysprep -d centos7.0-2,該主機所在的位置加讀許可權,比如實驗中/var/lib/libvirt/image
之後便可以開啟瀏覽器,https://ip:8001,輸入linux賬戶密碼後進入介面
(2)cp /var/lib/libvirt/images/centos7.0-2.qcow2 /app/vmdisk/centos7.qcow2
注意:建立好主機後最好安裝好各自的服務,在搭建網路完成後再安裝時,有點麻煩
之後systemctl stop NetworkManager、systemctl disable NetworkManager開始配置
cd /etc/sysconfig/network-scripts
完成配置後systemctl restart libvirtd
填各主機ip配置檔案時候,請注意需要對應mac填寫規劃好的ip,每個主機自帶一個eth0網絡卡,該網絡卡不動,只更改多出來的網絡卡對應的配置檔案
將服務機全部接到這塊br1物理橋上進行安裝,kvm中需要裝服務的主機各自接到網橋br1上
連上網就下載安裝服務吧。這裡防火牆運用iptables,所有一併下載到各主機,安裝完成後拆除php-fpm和mysql的外網連線
virsh detach-interface mysql bridge --mac 52:54:00:ab:74:7e
mysql> grant all on *.* to [email protected]'%' identified by 'user'
yum -y install php-fpm php-mysql
之後新增php網頁存放的目錄mkdir /php,在其中vim index.php,增加測試程式碼,更改目錄所有者所屬組,chown -R apache.apache /php,systemctl start php-fpm
ProxyPassMatch ^/(.*\.php)$ fcgi://10.66.0.2:9000/php/$1
5、基於lamp架構進行WordPress安裝,解壓後目錄覆蓋到php伺服器下:
(1)cn.wordpress.org,下載wordpress-VERSION-zh_CN.zip,
(2)unzip wordpress-VERSION-zh_CN.zip 至php網站目錄下
(3)在資料庫伺服器,建立wordpress資料庫,並建立wordpress使用的資料使用者
mysql> grant all privileges on wpdb.* to [email protected]'%' identified by 'wppass'
(4)回到php伺服器進入wordpress目錄,cp wp-config-sample.php wp-config.php
(5)之後便是進行wordpress的五分鐘安裝,但介面沒有圖片,因為只是php服務,只能處理動態資源,靜態圖片等資源無法資源,因此在php伺服器上需要安裝httpd服務,安裝好後新建配置檔案更改轉發規則,在/etc/httpd/conf.d/myhttpd.conf中有
yum -y install iptables-services
1、首先根據規劃圖,httpd是對外開放的伺服器,除非有惡意***或者大量SQL注入猜測密碼放入防火牆黑名單
2、fpm伺服器,只允許連線VNC、httpd、mysql的報文流入
4、VNC跳板機:只允許某些特定ip或者主機連入,拒絕其它內部伺服器的登入,因此跳板機也需要插入一根連線到br1的網線,指定靜態網址192.168.56.160,這樣便也可以上網了
現設定一另主機可以使用跳板機,該主機IP為192.168.56.143,mac為00:0c:29:6b:b0:79
之後按照配置時候virsh attach-interface VM bridge BRI的順序寫好指令碼自動執行,只要網絡卡新增順序正確,餘下都是自動獲取的