伺服器說明 外網 IP(NAT) 內網 IP(NAT) 主機名apache web 伺服器 10.0.0.7/24 172.16.1.7/24 web02nginx web 伺服器 10.0.0.8/24 172.16.1.8/24 web01NFS 存儲伺服器 10.0.0.31/24 172.1 ...
伺服器說明 外網 IP(NAT) 內網 IP(NAT) 主機名
apache web 伺服器 10.0.0.7/24 172.16.1.7/24 web02
nginx web 伺服器 10.0.0.8/24 172.16.1.8/24 web01
NFS 存儲伺服器 10.0.0.31/24 172.16.1.31/24 nfs01
rsync 備份伺服器 10.0.0.41/24 172.16.1.41/24 backup
要求:
搭建網站集群後端 NFS 共用存儲搭建及優化解決方案
1、配置 NFS 服務:
要求:
1)在 NFS 服務端 nfs01 上共用/data 目錄,允許從 NFS 客戶端 web01、web02 上分別掛載共
享目錄。
2)當在 NFS 客戶端 web01 上的掛載點/data 寫入數據時,在 NFS 客戶端 web02 上也可以刪
除或修改。
(三)搭建網站集群全網備份伺服器 backup
要求:在 backup 伺服器上配置 Rsync 數據同步服務,從 nfs01 伺服器上可以推送數
據到 backup 伺服器的/backup 目錄。 本
具體要求:backup 伺服器的備份目錄必須為/backup。
(四)解決網站集群後端 NFS 共用存儲單點實現實時數據同步
1、實時數據同步要求:
當用戶通過任意台 web 伺服器將數據寫入到 NFS 伺服器 nfs01 時,同時複製到備份伺服器
backup。
NFS伺服器
第一個歷程碑:檢查NFS RPC服務軟體有沒有安裝
rpm -qa|grep nfs
rpm -qa|grep rpc
說明:預設centos系統沒有安裝nfs與rpc服務軟體
第二個歷程碑:進行yum安裝nfs與rpc服務軟體
yum install -y nfs-utils rpcbind
# yum install -y nfs-utils rpcbind
第三個裡程碑:進行NFS配置文件編寫
NFS服務配置文件
cat >>/etc/exports<<EOF
/data 172.16.1.0/24(rw,sync)
EOF
第四個歷程碑:創建共用目錄
mkdir -p /data
chown -R nfsnobody.nfsnobody /data
第五個歷程碑:啟動服務
/etc/init.d/rpcbind start
查看NFS服務註冊信息
# /usr/sbin/rpcinfo
# rpcinfo -p localhost
設置開機自啟動
chkconfig rpcbind on
chkconfig nfs on
查看rpcbind開機自啟序號
head -10 /etc/init.d/rpcbind
chkconfig: 2345 13 87
查看nfs開機自啟序號
# head -10 /etc/init.d/nfs
chkconfig: - 30 60
第六個歷程碑:檢查NFS服務配置,以及本地測試掛載
# showmount -e
# df -h
# cd /mnt
# echo "momoda" >oldoy.txt
# ll
total 4
-rw-r--r-- 1 nfsnobody nfsnobody 7 Aug 31 10:57 oldoy.txt
# cd /data
# cat oldboy.txt
momoda
web伺服器所做的
第一個歷程碑:檢查NFS RPC服務軟體有沒有安裝
rpm -qa|grep nfs
rpm -qa|grep rpc
說明:預設centos系統沒有安裝nfs與rpc服務軟體
第二個歷程碑:進行yum安裝nfs與rpc服務軟體
yum install -y nfs-utils rpcbind
第三個歷程碑:檢測是否存在共用目錄,進行共用目錄掛載
#showmount -e 172.16.1.31
mount -t nfs 172.16.1.31:/data /mnt
df -h
rsync伺服器
第一個裡程碑:查看有沒有這個軟體
# rpm -qa rsync
第二個裡程碑:安裝rsync軟體
#yum install -y rsync
第三個歷程碑:編寫配置文件(編寫好配置文件,後續操作步驟可以按照配置文件進行)
#cat >>/etc/rsyncd.conf<<EOF
#created by HQ at 2017
##rsyncd.conf start##
uid = rsync
gid = rsync
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 172.16.1.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[backup]
comment = "backup dir by oldboy"
path = /backup
EOF
第四個歷程碑:創建備份目錄的管理用戶
useradd -s /sbin/nologin -M rsync
第五個歷程碑:創建安全認證文件
echo "rsync_backup:oldboy123" >/etc/rsync.password
chmod 600 /etc/rsync.password
第六個歷程碑:創建備份目錄
mkdir -p /backup
chown -R rsync.rsync /backup
第七個歷程碑:啟動rsync服務
rsync --daemon
NFS伺服器
2.5.3 客戶端部署
第一個裡程碑:查看有沒有這個軟體
rpm -qa rsync
第二個裡程碑:安裝rsync軟體
yum install -y rsync
第三個裡程碑:創建安全認證文件
echo "oldboy123" >/etc/rsync.password
chmod 600 /etc/rsync.password
第四 測試
rsync -avz /etc [email protected]::backup
inotify伺服器:
部署安裝inotify-tools軟體
yum install -y inotify-tools
rpm -ql inotify-tools
第三個裡程碑:編寫inotify+rsync結合腳本
[root@nfs01 server]# cd /server/scripts
[root@nfs01 scripts]# vim tongbu.sh
#!/bin/bash
###########
inotifywait -mrq /data --format '%w%f' -e create,delete,close_write,moved_to|\
while read line
do
rsync -az --delete /data/ [email protected]::backup --password-file=/etc/rsync.password
done
sh tongbu.sh