原创:100 台规模集群存储系统搭建及数据实时备份,集群实时


服务器说明 外网 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 rsync_backup@172.16.1.41::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/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

done

 sh tongbu.sh

 

相关内容