基於KVM的LAMP

實驗圖示:
在這裏插入圖片描述

跳板機:(以跳板機爲宿主機)

[root@centos7(zxl) ~]# yum -y install libvirt-daemon-kvm qemu-kvm virt-manager libvirt
[root@centos7(zxl) ~]# systemctl restart libvirtd

創建NAT橋:

#創建http-fpm網橋
root@centos7(zxl) ~]# cd /etc/libvirt/qemu/networks/
[root@centos7(zxl) networks]# cp default.xml httpfpm.xml
[root@centos7(zxl) networks]# vim httpfpm.xml 
<network>
  <name>httpfpm</name>
  <uuid>06a6d52e-6c03-4b29-bdf7-2cfe6d5e937a</uuid>
  <bridge name='httpfpm' stp='on' delay='0'/>
  <mac address='52:54:00:c6:21:33'/>
  <ip address='10.0.0.1' netmask='255.255.255.0'>  #網橋自身ip
    <dhcp>
      <range start='10.0.0.2' end='10.0.0.254'/>        #網橋分配的ip地址範圍
    </dhcp>
  </ip>
</network>
[root@centos7(zxl) ~]# virsh net-define /etc/libvirt/qemu/networks/httpfpm.xml   #使這個域生效,但是不啓動
[root@centos7(zxl) ~]# virsh net-start httpfpm           #開啓這個域
[root@centos7(zxl) ~]# virsh net-autostart httpfpm     #使這個域開機自啓動
#創建php-mysql網橋
[root@centos7(zxl) ~]# cd /etc/libvirt/qemu/networks/
[root@centos7(zxl) networks]# cp httpfpm.xml phpmysql.xml 
<network>
  <name>phpmysql</name>
  <uuid>06a6d52e-6c03-4b29-bdf7-2cfe6d5e937b</uuid>
  <bridge name='phpmysql' stp='on' delay='0'/>
  <mac address='52:54:00:c6:21:34'/>
  <ip address='20.0.0.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='20.0.0.2' end='20.0.0.254'/>
    </dhcp>
  </ip>
</network>
[root@centos7(zxl) ~]# virsh net-define /etc/libvirt/qemu/networks/phpmysql.xml 
Network phpmysql defined from /etc/libvirt/qemu/networks/phpmysql.xml

[root@centos7(zxl) ~]# virsh net-start phpmysql
Network phpmysql started

[root@centos7(zxl) ~]# virsh net-autostart phpmysql
Network phpmysql marked as autostarted

創建物理橋:

[root@centos7(zxl) ~]# nmcli connection add type bridge con-name br0 ifname br0
[root@centos7(zxl) ~]# 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
[root@centos7(zxl) ~]# nmcli connection up br0
[root@centos7(zxl) ~]# nmcli connection add type bridge-slave ifname ens33 master br0
[root@centos7(zxl) ~]# nmcli connection up bridge-slave-ens33

創建虛擬磁盤文件:(其作用是:記錄安裝的過程,以便可以用作模板來多次安裝)

[root@centos7(zxl) ~]# mkdir -pv /virtualmachines/centos7_base
[root@centos7(zxl) ~]# qemu-img create -f qcow2 -o size=80G,preallocation=metadata,compat=1.1 /virtualmachines/centos7_base/centos7.img  #這個centos7.img是在創建centos7虛擬機時用的。(第二個圖有顯示)

安裝centos7:(下圖是安裝的重要的點)
在這裏插入圖片描述
在這裏插入圖片描述

進去httpd的虛擬機:

[root@httpd conf.d]# vim /etc/httpd/conf/httpd.conf 
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

[root@httpd conf.d]# vim pma.conf 
#DirectoryIndex index.php
<VirtualHost *:80>
ServerName bbs.magedu.com
DocumentRoot /vhosts/pma/htdocs
<Directory /vhosts/pma/htdocs>
Require all granted
</Directory>
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$  fcgi://10.0.0.4:9000/vhosts/pma/htdocs/$1
</VirtualHost>

進入php虛擬機:(將包都在php裏運行)

[root@php htdocs]# vim /etc/php-fpm.d/www.conf 
listen = 0.0.0.0:9000
;listen.allowed_clients = 127.0.0.1
#這個目錄是httpd給限制的
[root@php htdocs]#  /vhosts/pma/htdocs        
#然後將wordpress包下到這個目錄即可。  

mysql虛擬機裝一個mysql服務即可。

筆記:
[root@localhost ~]# yum install libvirt-daemon-kvm qemu-kvm virt-manager libvirt

qemu-kvm ----模擬計算機的工具,爲KVM虛擬機提供IO設備

       libvirt    ----管理虛擬機

       virt-install    ----命令行的虛擬機創建安裝工具

       bridge-utils   ----網橋工具

用戶網絡(User Networking):NAT方式,讓虛擬機訪問主機、互聯網或本地網絡上的資源的簡單方法,但是不能從網絡或其他的客戶機訪問客戶機,性能上也需要大的調整。
虛擬網橋(Virtual Bridge):Bridge方式,這種方式要比用戶網絡複雜一些,但是設置好客戶機與互聯網,客戶機與主機之間的通信都很容易。
[root@KVM ~]# systemctl start libvirtd
[root@localhost yum.repos.d]# brctl addbr mybr0 #增加一個網橋 brctl show 查看
brctl delbr mybr0 #刪除mybr0
[root@localhost yum.repos.d]# brctl stp mybr0 on #開啓stp
[root@localhost yum.repos.d]# ip link add veth0.0 type veth peer name veth0.1 #添加虛擬以太網
[root@localhost yum.repos.d]# ip link set dev veth0.0 up 啓動veth0.0
[root@localhost yum.repos.d]# ip link set dev veth0.1 up 啓動veth0.1
[root@localhost yum.repos.d]# brctl addif mybr0 veth0.1 將mybr0和veth0.1關聯起來(mybr0是交換機,veth是虛擬以太網)
[root@localhost yum.repos.d]# ip netns add myns #相當於建立一個隔離的虛擬機
[root@localhost yum.repos.d]# ip netns list #顯示netns
[root@localhost yum.repos.d]# ip link set veth0.0 netns myns #將一個虛擬以太網連接到這個虛擬機中
[root@localhost yum.repos.d]# ip netns exec myns ifconfig -a #顯示ip
[root@localhost yum.repos.d]# ip netns exec myns ip link set veth0.0 name eth0 #將veth0.0重命名爲eth0
[root@localhost yum.repos.d]# ip netns exec myns ifconfig eth0 10.10.0.1/24 up #給eth0設置ip地址並將其激活
[root@localhost yum.repos.d]# ip netns exec myns ifconfig #查看ip地址
[root@localhost app]# ip link set mybr0 up #開啓mybr0
[root@localhost app]# ip addr add 10.10.0.254/24 dev mybr0 #給mybr0ip地址
[root@localhost app]# ifconfig #查看ip地址
virsh attach-interface c1 bridge mybr0 #這個c1虛擬機,給c1一個橋接的mybr0網絡
virsh detach-interface c1 bridge --mac mac地址 #virsh domiflist c1這個可以查到mac地址,,這個命令是拔出一個橋接的網絡
virsh console c1 #在終端上連接kvm創建的虛擬機,退出爲ctrl+]
創建多個kvm虛擬機
[root@localhost qemu]# cd /etc/libvirt/qemu/
複製上邊進入的目錄裏的 .xml文件,想創建幾個就複製幾份
修改複製的文件將

#這個是你複製的文件的修改,這個c3.img鏡像文件,這個要看自己設置的 /root/c3.img 是鏡像位置,至於這個c3.img是我複製來的 [root@localhost qemu]# virsh create .xml #創建並啓動虛擬機 網橋就是vm中的vmnet# 橋接和僅主機這些
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章