nfs使用案例
准备
主机名 | 角色 | 外网IP | 内网IP |
---|---|---|---|
nfs | nfs服务端,rsync的客户端 | 10.0.0.31 | 172.16.1.31 |
backup | rsync服务端 | 10.0.0.41 | 172.16.1.41 |
web01 | nfs客户端,rsync客户端 | 10.0.0.7 | 172.16.1.7 |
web02 | nfs客户端,rsync客户端 | 10.0.0.8 | 172.16.1.8 |
1.目录名 $hostname_$ip_$date
2.无差异同步
nfs服务端
1.安装nfs
[root@nfs ~]# yum install -y nfs-utils
2.修改配置文件
[root@nfs ~]# vim /etc/exports
/date 172.16.1.0/24(rw,sync,all_squash)
3.创建目录
[root@nfs ~]# mkdir /date
4.授权属主属组
[root@nfs ~]# chown nfsnobody:nfsnobody /date
5.启动服务
[root@nfs ~]# systemctl start nfs-server
6.检查进程和端口号
[root@nfs ~]# ps -ef|grep [n]fs
[root@nfs ~]# netstat -lntup|grep 111
nfs客户端(web01)
1.安装
[root@web01 html]# yum install -y nfs-utils
2.查看挂载点
[root@web01 html]# showmount -e 172.16.1.31
3.安装网站服务
[root@web01 ~]# yum install -y httpd php
4.进入/var/www/html目录
[root@web01 ~]# cd /var/www/html
5.上传代码
rz
6.解压代码
[root@web01 html]# unzip kaoshi.zip
7.修改了php代码,改了里面上传目录
[root@web02 html]# vim upload_file.php
$wen="/var/www/html/pic";
8.修改目录的权限
[root@web01 html]# chown apache.apache /var/www/html/
9.启动服务
[root@web01 html]# systemctl start httpd
10.挂载目录
[root@web01 html]# mount -t nfs 172.16.1.31:/date /var/www/html/pic/
11.查看挂载
[root@web01 html]# df -h
#开机自启()不推荐
vim /etc/fstab
172.16.1.31:/data /var/www/html/pic/ nfs defaults 0 0
nfs客户端(web02)
1.安装
[root@web02 html]# yum install -y nfs-utils
2.查看挂载点
[root@web02 html]# showmount -e 172.16.1.31
3.安装网站服务
[root@web00 ~]# yum install -y httpd php
4.进入/var/www/html目录
[root@web02 ~]# cd /var/www/html
5.上传代码
rz
6.解压代码
[root@web02 html]# unzip kaoshi.zip
7.修改了php代码,改了里面上传目录
[root@web02 html]# vim upload_file.php
$wen="/var/www/html/pic";
8.修改目录的权限
[root@web02 html]# chown apache.apache /var/www/html/
9.启动服务
[root@web02 html]# systemctl start httpd
10.挂载目录
[root@web02 html]# mount -t nfs 172.16.1.31:/date /var/www/html/pic/
11.查看挂载
[root@web02 html]# df -h
rsync服务端(backup)
安装
yum -y install rsync
1.修改配置文件
[root@backup ~]# vim /etc/rsyncd.conf
#禁锢指定的目录,不允许用户跳出到其他目录
use chroot = no
#最大连接数
max connections = 200
#超出时间
timeout = 600
#忽略错误
ignore errors
#只读为false,可读可写
read only = false
#不允许其他用户查询模块名
list = false
#虚拟用户,rsync同步需要使用的用户
auth users = rsync_backup
#存放虚拟用户密码的文件
secrets file = /etc/rsync.passwd
#rsync服务的日志存放路径
log file = /var/log/rsyncd.log
#####################################
#模块名
[backup]
#同步的描述信息
comment = welcome to oldboyedu backup!
#同步的路径
path = /backup
2.创建服务启动的用户
[root@backup ~]\# useradd rsync -s /sbin/nologin -M
3.创建虚拟用户的密码文件
密码文件的格式
用户名:密码
[root@backup ~]\# echo 'rsync_backup:123' > /etc/rsync.passwd
[root@web01 ~]# cat /etc/rsync.passwd
rsync_backup:123
4.rsync要求密码文件的权限必须是600
[root@backup ~]\# chmod 600 /etc/rsync.passwd
5.创建一个同步的路径
[root@backup ~]\# mkdir /backup
6.修改同步路径的属主和属组
[root@backup ~]\# chown rsync:rsync /backup/
7.启动rsync服务
[root@backup ~]\# systemctl start rsyncd
8.加入开机自启
[root@backup ~]\# systemctl enable rsyncd
rsync的客户端(nfs)
1.安装
yum -y install rsync
#脚本
[root@nfs ~]# vim tongbu.sh
#!/bin/bash
backup=/backup
HOSTNAME=$(hostname)
IP=$(/usr/sbin/ifconfig eth1|awk 'NR==2{print $2}')
DATE=$(date +%F)
zong=/${HOSTNAME}_${IP}_${DATE}
export RSYNC_PASSWORD=123
mkdir -p $zong
rsync -az --delete /etc/passwd /$zong
rsync -az --delete /date /$zong
rsync -az --delete /$zong rsync_backup@172.16.1.41::backup
#定时任务
[root@nfs ~]# crontab -e
#无差异同步
* * * * * /bin/sh /root/tongbu.sh
rsync的客户端(web01,web02)
#安装
yum -y install rsync
[root@nfs ~]# vim tongbu.sh
#!/bin/bash
backup=/backup
HOSTNAME=$(hostname)
IP=$(/usr/sbin/ifconfig eth1|awk 'NR==2{print $2}')
DATE=$(date +%F)
zong=/${HOSTNAME}_${IP}_${DATE}
export RSYNC_PASSWORD=123
mkdir -p $zong
rsync -az --delete /etc/passwd /$zong
rsync -az --delete /$zong rsync_backup@172.16.1.41::backup
#定时任务
[root@nfs ~]# crontab -e
#无差异同步
* * * * * /bin/sh /root/tongbu.sh