搭建中小规模集群(nfs+rsync+inotify)-学习笔记
2016-11-18 14:26
435 查看
一。NFS共享服务
1.安装nfs服务器:
yum install nfs-utils -y
2.配置nfs服务器:
cat /etc/exports
/home/work 192.168.0.*(rw,sync,all_squash) 一般这配置就可以
rw:read-write,可读写; 注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
3.查看nfs服务器和客户端配置参数:
cat /var/lib/nfs/etab (服务端)
cat /proc/mounts (客户端查看挂载情况,卡住的情况必须用这个命令查看,不要用df -h)
二。RSYNC共享服务
1.客户端rsync本地工作模式:
rsync -avz --delete /etc/ /tmp/ (将etc下面的内容同步到tmp下面,并删除多余的文件。)
2.rsyn的远程同步模式:
rsync -avzP -e "ssh -p 22" /tmp/ root@192.168.88.240:/tmp/ #将本地tmp目录下面的文件同步到240
3.rsync的服务器模式的配置文件/etc/rsyncd.conf:
查看帮助 man rsyncd.conf
useradd rsync -s /sbin/nologin -M #创建同步服务的用户
echo "rsync_backup:wmj" > /etc/rsync.password #创建密码文件
chmod 600 /etc/rsync.password #修改密码文件的权限
4.启动rsync的服务端:
rsync --daemon
5.rsync客户端的配置:
echo "wmj" >/etc/rsync.password #创建客户端密码文件(只要写密码不要用户)
chmod 600 /etc/rsync.password
rsync -avz --delete /tmp/ rsync_backup@192.168.88.240::backup --password-file=/etc/rsync.password (将客户端的tmp目录里面的内容推送到服务端)
二。inotify服务
1.在客户端上安装inotify:
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz ./configure
make&&make install
2.监听/tmp/目录的增,删,改操作并按格式打印:
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create,delete,close_write /tmp/ (打印的日志格式为:“29/05/16 07:55 /tmp/123”)
3.使用inotify监听目录实时rsync同步脚本:
4.优化inotify参数:
# 在/proc/sys/fs/inotify目录下有三个文件,对inotify机制有一定的限制
max_user_watches #设置inotifywait或inotifywatch命令可以监视的文件数量(单进程)
max_user_instances #设置每个用户可以运行的inotifywait或inotifywatch命令的进程数
max_queued_events #设置inotify实例事件(event)队列可容纳的事件数量
----------------------------
1.安装nfs服务器:
yum install nfs-utils -y
2.配置nfs服务器:
cat /etc/exports
/home/work 192.168.0.*(rw,sync,all_squash) 一般这配置就可以
rw:read-write,可读写; 注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
anongid:匿名用户的GID值。
3.查看nfs服务器和客户端配置参数:
cat /var/lib/nfs/etab (服务端)
cat /proc/mounts (客户端查看挂载情况,卡住的情况必须用这个命令查看,不要用df -h)
二。RSYNC共享服务
1.客户端rsync本地工作模式:
rsync -avz --delete /etc/ /tmp/ (将etc下面的内容同步到tmp下面,并删除多余的文件。)
2.rsyn的远程同步模式:
rsync -avzP -e "ssh -p 22" /tmp/ root@192.168.88.240:/tmp/ #将本地tmp目录下面的文件同步到240
3.rsync的服务器模式的配置文件/etc/rsyncd.conf:
查看帮助 man rsyncd.conf
#rsync.conf start### uid = rsync gid = rsync use chroot = no max connections = 2000 timeout = 600 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 = 192.168.88.0/24 #hosts deny = 0.0.0.0/32 auth users = rsync_backup #虚拟用户 secrets file = /etc/rsync.password ######################################## [backup] comment = linux1 backup #欢迎语 path = /backup
useradd rsync -s /sbin/nologin -M #创建同步服务的用户
echo "rsync_backup:wmj" > /etc/rsync.password #创建密码文件
chmod 600 /etc/rsync.password #修改密码文件的权限
4.启动rsync的服务端:
rsync --daemon
5.rsync客户端的配置:
echo "wmj" >/etc/rsync.password #创建客户端密码文件(只要写密码不要用户)
chmod 600 /etc/rsync.password
rsync -avz --delete /tmp/ rsync_backup@192.168.88.240::backup --password-file=/etc/rsync.password (将客户端的tmp目录里面的内容推送到服务端)
二。inotify服务
1.在客户端上安装inotify:
wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz ./configure
make&&make install
2.监听/tmp/目录的增,删,改操作并按格式打印:
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e create,delete,close_write /tmp/ (打印的日志格式为:“29/05/16 07:55 /tmp/123”)
3.使用inotify监听目录实时rsync同步脚本:
#!/bin/bash inotify=/usr/local/bin/inotifywait $inotify -mrq --format '%w%f' -e create,delete,close_write /tmp/ \ |while read file do rsync -az --delete /tmp/ rsync_backup@192.168.88.240::backup --password-file=/etc/rsync.password done
4.优化inotify参数:
# 在/proc/sys/fs/inotify目录下有三个文件,对inotify机制有一定的限制
[root@web ~]# ll /proc/sys/fs/inotify/ 总用量0 -rw-r--r--1 root root 09月923:36 max_queued_events -rw-r--r--1 root root 09月923:36 max_user_instances -rw-r--r--1 root root 09月923:36 max_user_watches
max_user_watches #设置inotifywait或inotifywatch命令可以监视的文件数量(单进程)
max_user_instances #设置每个用户可以运行的inotifywait或inotifywatch命令的进程数
max_queued_events #设置inotify实例事件(event)队列可容纳的事件数量
----------------------------
echo 50000000>/proc/sys/fs/inotify/max_user_watches -- 把他加入/etc/rc.local就可以实现每次重启都生效 echo 50000000>/proc/sys/fs/inotify/max_queued_events
相关文章推荐
- 【小镇的技术天梯】lanmp服务器集群搭建(6)rsync+inotify同步主备nfs
- 搭建中小规模集群之rsync数据同步备份
- redis 学习笔记(6)-cluster集群搭建
- redis 学习笔记之集群搭建
- spark学习笔记四:spark集群搭建
- redis 学习笔记之集群搭建
- keepalived+LVS LVS集群节点 NFS+rsync+inotify+keepalived
- Time的hadoop学习笔记之--搭建有三台主机的Hadoop集群
- redis 学习笔记之集群搭建
- hadoop学习笔记--集群搭建
- Redis 学习笔记4: Redis 3.2.1 集群搭建
- iTop-4412开发板学习笔记之NFS服务搭建
- Redis 学习笔记4: Redis 3.2.1 集群搭建
- Hadoop-2.6.0学习笔记(一)HA集群搭建
- 第115讲:Hadoop集群构建硬件选择、集群规模、网络拓扑、机架感知等学习笔记
- 用 KVM 搭建web集群实验笔记 - NFS & Samba 服务
- Redis 学习笔记4: Redis 3.2.1 集群搭建
- redis 学习笔记(6)-cluster集群搭建
- redis 学习笔记之集群搭建