1.线上业务系统选择文件系统标准
linux下常见的有DOS 文件系统类型msdos,windows下FAT和NTDFS文件系统,光盘文件系统ISO-9660,
单一文件系统ext2和日志文件系统ext3、ext4、xfs,集群文件系统gfs(Red Hat Global File System)、ocfs2(oracle cluster File System)、
虚拟文件系统(比如/proc),网络文件系统(NFS)。
2.网络文件系统(NFS)介绍:
NFS的全程是network FileSystem,即网络文件系统,NFS主要实现的功能是让网络上的不同操作系统之间共享数据。
NFS首先在远程服务端(共享数据的操作系统)共享出文件或者目录,然后远端共享出来的文件或者目录就可以通过关在的方式接到本地的不同操作系统上。
3.NFS Serve端的配置
NFS的主要配置文件只有一个 /etc/exports,配置简单,设置格式为: 共享资源路径 [主机地址(即可以让哪些主机访问)] [选项]
例: 下面是某个系统 /etc/exports的设置:
/webdata (代表主机地址,即任意主机地址)(sync(sync表示资料同步写入磁盘中,即客户端写入,则服务端也同步写入),rw(即客户端主机对共享资源有读、写权限),all_squash)
/tmp (rw,no_root_squash)
/home/share 192.168.1. (表示网段 192.168.1.x的网段都可共享) (rw,root_squash) *(ro)
/opt/data 192.168.1.18(rw)
共享资源路径:就是要共享出来的目录或者磁盘分区。如上面的/tmp、/home/share目录等。
主机地址:设定允许使用NFS Server共享资源的客户端主机地址,主机地址可以是主机名、域名、IP地址等,支持匹配。
选项: 下面是可用的各个选项含义:
ro : 即为: read only ,也就是客户端主机对共享资源仅仅有读写权限。
rw: 即为: read write,也就是客户端主机对共享资源有读、写权限。
no_root_squash: 信任客户端,根据用户UID进行判断,如果登入到NFS主机的用户是ROOT,那么此用户就拥有资源的最高权限。此参数很不安全,不建议使用。
root_squash : 系统预设值,当登入NFS主机的用户是root时,那么这个使用者的权限将被缩为匿名使用者,
也就是它的UID和GID都会编程nobody身份,只有可读权限,系统以此为预设值,显然为了安全考虑。
all_squash: 不管登陆NFS的主机的是什么用户,都会将共享文件的UID和GID映射为匿名用户nfsNobody.
no_all_squash: 系统预设值,保留共享文件的UID和GID默认权限。
sync: 资料同步写入磁盘中。默认选择。
async : 资料会先暂时存放在内存中,不会直接写入磁盘。
设置NFS-server时,确保相应的包已经安装。 # rpm -qa | grep rpcbind; #rpm -qa | grep nfs
yum install nfs-utils;
利用exportfs命令即可让修改生效:
重新mount文件/etc/exports中分享出来的目录,显示mount过程,操作如下:
#exportfs -rv (-r: 重新mount /etc/exports中分享出来的目录; -v : 在export的时候,将详细的信息输出到屏幕上)
实际操作:
#yum install rpcbind
#yum install nfs-utils;
配置共享目录: # vi /etc/exports
#exportfs -rv (让配置的文件生效)
systemctl start nfs (启动nfs服务)
#ps -ef |grep nfs (查看nfs服务是否启动)
#systemctl start rpcbind(启动rpcbind服务)
#ps -ef | grep rpc (查看rpcbind服务是否被启动)
#systemctl start nfslock(启动nfslock服务)
完成服务端的服务配置.
关闭防火墙: # iptables -F ;
more /etc/selinux/config (把里面的SELINUX值改为 disabled;) # reboot重启生效
或临时生效: # setenforce 0;
关闭firewalld # systemctl stop firewalld (firewalld为centos7后新增的防火墙)
以上完成服务端的配置。
开始设置客户端的配置。(客户端可以是Windows、linux客户端);
以linux客户端配置为例:
rpm -qa | grep nfs (# yum install nfs-utils)
#rpm -qa |grep rpcbind (#yum install rpcbind)
查看服务端共享的文件信息 #showmount -e 192.168.3.99(nfs服务端的IP地址)
挂载服务端的文件: # mount -t nfs 192.168.3.99:/data1(服务端的目录) /mnt(本地客户端目录)
#df -h (查看)
#umount -t nfs 192.168.3.99:/data1