服务器说明 外网 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结合脚本
[[email protected] server]# cd /server/scripts
[[email protected] 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