服务器负载均衡下附件均衡--nfs挂载-附件同步

当我们系统采用负载均衡的时候,多个服务器中的附件需要同步 附件。教程如下:

 

可以参考地址  :

http://it.keydatas.com/html/nfs.html
 

 


NFS配置
检查软件包是否已安装
    rpm -q nfs-utils
    rpm -q rpcbind


一、在A机上安装 NFS 服务器所需的软件包:   
yum install -y nfs-utils
(实际上需要安装两个包nfs-utils和rpcbind, 不过当使用yum安装nfs-utils时会把rpcbind一起安装上)

二、编辑exports文件,添加从机   
vi /etc/exports
/home/nfs 192.168.0.1(rw,sync,fsid=0)  192.168.222.202(rw,sync,fsid=0)    

配置说明:

这一行分为三个部分:

第一部分:/home/nfs ,这个是本地要共享出去的目录。

第二部分:192.168.0.1/24 ,此处为挂载服务器的ip,允许访问的主机,可以是一个IP:192.168.0.1,也可以是一个IP段:192.168.0.1/24

第三部分:括号中部分。

rw表示可读写,ro只读;

sync :同步模式,内存中数据时时写入磁盘;
    async :不同步,把内存中数据定期写入磁盘中;

no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
    root_squash : 和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;

all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
    no_all_squash

anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

fsid=0表示将/home/nfs整个目录包装成根目录

这个配置文件也可以这样写:
/data_test 192.168.43.*(rw,root_squash,all_squash,sync,anonuid=1000,anongid=1000,no_subtree_check)
/data_test 192.168.1.*(rw,root_squash,all_squash,sync,anonuid=1000,anongid=1000,no_subtree_check)

/nfs_data 192.168.1.0(rw,root_squash,all_squash,sync,anonuid=1000,anongid=1000,no_subtree_check)
/nfs_data 192.168.1.0(rw,sync,all_squash,anonuid=0,anongid=0)

加入第二行,anonuid=0,anongid=0即为root用户id。

3、让修改过的配置文件生效
exportfs -arv


三、启动A机上nfs服务   
先为rpcbind和nfs做开机启动:    
systemctl enable rpcbind.service
systemctl enable nfs-server.service

验证是否开机启动
systemctl list-unit-files

然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service

确认NFS服务器启动成功:
rpcinfo -p
通过查看service列中是否有nfs服务来确认NFS是否启动。

showmount -e 10.2.195.70      #这是主机ip

查看可挂载目录及可连接的IP


四、关闭A机上的防火墙或者给防火墙配置nfs的通过规则
centos7版本对防火墙进行 加强,不再使用原来的iptables,启用firewall
    1.查看已开放的端口(默认不开放任何端口)
        firewall-cmd --list-ports
    2.开启80端口
        firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)
    3.重启防火墙
        firewall-cmd --reload
    4.停止防火墙
        systemctl stop firewalld.service
    5.禁止防火墙开机启动
        systemctl disable firewalld.service
    6.删除
        firewall-cmd --zone=public --remove-port=80/tcp --permanent

2.centos7以下版本
    1.开放80,22,8080 端口
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    /sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
    /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
    2.保存
    /etc/rc.d/init.d/iptables save
    3.查看打开的端口
    /etc/init.d/iptables status
    4.关闭防火墙 
    1) 永久性生效,重启后不会复原
    开启: chkconfig iptables on
    关闭: chkconfig iptables off
    2) 即时生效,重启后复原
    开启: service iptables start
    关闭: service iptables stop


firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#nfs-utils和rpcbind相关端口
firewall-cmd --zone=public --add-port=111/tcp --permanent
firewall-cmd --zone=public --add-port=111/udp --permanent
firewall-cmd --zone=public --add-port=976/tcp --permanent
firewall-cmd --zone=public --add-port=976/udp --permanent
firewall-cmd --zone=public --add-port=2049/tcp --permanent
firewall-cmd --zone=public --add-port=2049/udp --permanent
firewall-cmd --zone=public --add-port=966/tcp --permanent
firewall-cmd --zone=public --add-port=966/udp --permanent
firewall-cmd --zone=public --add-port=33993/tcp --permanent
firewall-cmd --zone=public --add-port=33993/udp --permanent

五、在B,C机上配置clinet端

1、安装nfs,并启动服务。

yum install -y nfs-utils

systemctl enable rpcbind.service

systemctl start rpcbind.service

客户端不需要启动nfs服务,只需要启动rpcbind服务.

客户端挂载NFS服务端:
查看可挂载目录及可连接的IP
showmount -e 192.168.43.205


mount -t nfs 192.168.43.205:/data_test2/ /data_test2/
卸载挂载:umount /data_test/

mount -t nfs 10.2.195.70:/nfs_data/ /nfs_data/

读写权限问题:
 chmod 777 /home/user 注:仅把/home/user目录的权限设置为rwxrwxrwx
 
将目录的所属用户组变更为wangdl
chgrp -R wangdl /data_test
给组成员设置读写权限
chmod -R 0760 /data_test
ls  -l /data_test


chown -R wangdl:wangdl /data_test2
将目录 /tmp/src 中所有文件的所有者和组更改为用户 wangdl 和组 wangdl
chown -R user:user /nfs_data


六、在服务器端A再建立一个共享目录,并且可以允许A、B、C写入共享目录
1、在B、C机上取得使用NFS用户的ID号
#id wangdl


2、在A服务器上再建立一个共享目录

mkdir /home/nfs1

# vi /etc/exports
/home/nfs 192.168.222.201(rw,sync,fsid=0) 192.168.222.202(rw,sync,fsid=0)    
/home/nfs1 192.168.222.0/24(rw,sync,all_squash,anonuid=0,anongid=0)

加入第二行,anonuid=0,anongid=0即为root用户id。

3、让修改过的配置文件生效

exportfs –arv

客户机上卸载旧目录,挂载新目录即可。


6.想在客户机B、C上实现开机挂载,则需要编辑/etc/fstab:

vi /etc/fstab

加入以下内容:
192.168.43.205:/data_test2                  /data_test2    nfs    nolock  0 0

10.2.195.70:/nfs_data                  /nfs_data    nfs    nolock  0 0

保存后,重新挂载
mount -a

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章