linux网络文件系统挂载配置
目录
1. NFS介绍
网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。本文将介绍在Centos6下如何配置NFS服务。
2. NFS搭建
2.1.相关准备
CentOS6系统的机器两台。
本文中,两台机器一台作为nfs服务器(ip地址为192.168.143.142),一台作为客户端(ip地址为192.168.143.144)
2.2.NFS相关lib安装以及环境配置
两台机器都要安装。
- 打开终端,通过#rpm -qa命令查看是否安装nfs以及rpc这两个包,如图:
rpm -qa |grep nfs
rpm -qa |grep rpc
- 如没有安装,通过#yum install nfs-utils rpcbind命令进行安装。
- 关闭防火墙,通过service iptables stop命令关闭。
- 设置SELinux为宽容模式(permissive)并重启机器
vi /etc/selinux/config
通过配置文件调整SELinux的参数 [root@www ~]# vi /etc/selinux/config SELINUX= permissive <==调整 enforcing|disabled|permissive SELINUXTYPE=targeted <==目前仅有 targeted 与 strict
2.3 NFS共享文件夹挂载
2.3.1 存储服务器配置及启动
- 终端输入命令:
mkdir /mnt/mm
—创建共享文件夹。 - 终端输入命令:
chmod 777 /mnt/mm
—修改文件夹的读写权限(有关于权限的介绍见文章附录) - 终端输入命令:
vi /etc/exports
输入/mnt/mm 192.168.143.144(rw,) ——-编辑/etc 目录下的共享目录配置文件exports,指定共享目录及权限等。对NFS服务的访问是由exports来批准,它枚举了若干有权访问NFS服务器上文件系统的主机名。
其中第一列是服务器要输出的共享目录。在本例中,共享目录是/mnt/mm
。
第二列指定允许哪些ip
第一列的共享目录。
(有关于exports参数的介绍参考文章附录,本文中的输入内容可根据说明进行调整) - 终端输入命令:
service rpcbind restart
—开启rpc服务 - 终端输入命令:
service nfs restart
—开启nfs服务 - 终端输入命令:
service nfs status
—检查nfs服务是否开启
如下图:
2.3.2 客户端配置
- 终端输入命令:#showmount –e 192.168.143.142—查看能否访问NFS服务,如下图所示:
设置为客户端开机挂载—/etc/fstab中加入开机挂载命令192.168.143.142:/mnt/mm /mnt/mm nfs defaults 0 2 。如下图:
注意
:
1. 第一个参数代表服务器地址以及共享目录第二个参数/mnt/mm是挂载点第三个参数nfs是类型第四个参数 挂载参数,是为了向用户输出错误信息
2. 第五个参数该选项被“dump”命令使用来检查一个文件系统该以多快频率进行转储,若不需转储即为0
3. 第六个参数该字段被fsck命令使用来决定在启动时需要被扫描的文件系统的顺序,根文件系统“/”对应该字段值为1,其他文件系统为2,若该文件系统无需在启动时被扫描则为0。安全提醒:确保网络安全,使用nfs时结合tcp_wrappers来限制使用范围(如只想192.168.5.123主机可挂载nfs服务器上的共享目录),另外还可结合iptables来加强安全性。重新启动客户机(存储服务器配置及启动的操作完成),然后进行挂载测试。 在客户端的/mnt/mm文件夹中进行读写,观察服务器,如果同时读写则代表成功。
- autofs自动挂载的实现—自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的挂载 ,从而节约资源,防止长时间无用连接。
1. 安装autofs
命令行输入命令:# yum install autofs
2. 配置autofs
命令行输入命令:# vim /etc/auto.misc 添加/mnt/mm -fstype=nfs 192.168.143.142:/mnt/mm
如下图:
---添加自动挂载的位置
如果上时间不进入,就会自动断开,默认是300秒.
在/etc/sysconfig/autofs配置.
3. 附录
3.1文件夹权限介绍
读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。例如rwx-rw-r用数字表示成764。意思是该登录用户、他所在的组和其他人所拥有的对应权限。本文中777代表该登录用户、他所在的组和其他人都有最高权限。实际可按照具体情况添加
3.2 exports文件参数介绍
选项 | 说明 |
---|---|
ro | 该主机对该共享目录有只读权限 |
rw | 该主机对该共享目录有读写权限 |
root_squash | 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户 |
no_root_squash | 客户机用root访问该共享文件夹时,不映射root用户 |
all_squash | 客户机上的任何用户访问该共享目录时都映射成匿名用户 |
anonuid | 将客户机上的用户映射成指定的本地用户ID的用户 |
anongid | 将客户机上的用户映射成属于指定的本地用户组ID |
sync | 资料同步写入到内存与硬盘中 |
async | 资料会先暂存于内存中,而非直接写入硬盘 |
insecure | 允许从这台机器过来的非授权访问 |
例:
/m zhang (rw) wang (rw,no_root_squash) 表示共享服务器上的根目录(/m)只有zhang和wang两台主机可以访问,且有读写权限;zhang主机用root用户身份访问时,将客户机的root用户映射成服务器上的匿名用户(root_squash,该参数为缺省参数),相当于在服务器使用nobody用户访问目录;wang主机用root用户身份访问该共享目录时,不映射root用户(no_root_squash),即相当于在服务器上用root身份访问该目录
/root/share/ 192.168.1.20 (rw,insecure,sync,all_squash) 表示共享服务器上的/root/share/目录只有192.168.1.20主机可以访问,且有读写权限;此主机用任何身份访问时,将客户机的用户都映射成服务器上的匿名用户(all_squash),相当于在服务器上用nobody用户访问该目录(若客户机要在该共享目录上保存文件(即写操作),则服务器上的nobody用户对该目录必须有写的权限)
/home/ljm/ *.gdfs.edu.cn (rw,insecure,sync,all_squash) 表示共享/home/ljm/目录,*.gdfs.edu.cn域中所有的主机都可以访问该目录,且有读写权限
/home/share/ .gdfs.edu.cn (ro,sync,all_squash,anonuid=student,anongid=math) 表示共享目录/home/share/,*.gdfs.edu.cn域中的所有主机都可以访问,但只有只读的权限,所有用户都映射成服务器上的uid为student、gid为math的用户
启动nfs后又修改了/etc/exports,不用重启该服务,使用exports命令即可:
Exports [-aruv]
-a 全部mount或umount文件/etc/exports中的内容
-r 重新mount文件/etc/exports中的共享内容
-u umount目录
-v 在export的时候,将详细的信息输出到屏幕上
例:
[root@localhost ~]#/usr/sbin/exportfs –rv 全部重新export一次
[root@localhost ~]#/usr/sbin/exportfs –au 全部卸载
[root@localhost ~]#/mnt/mm *(rw,) *表示所有的客户机都可以挂接此目录, rw表示挂接此目录的客户机对该目录有读写的权力,