一、nfs解释 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
以下是NFS最显而易见的好处: 1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。 2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。 3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
我主要是为了节省本地存储空间。
二、nfs安装 服务器:10.201.82.6 客户端:10.201.82.10
1、服务器端: [root@nfs-server ~]# yum -y install nfs-utils rpcbind
把该目录共享给客户端82.10,可读可写,还同步,来访的root用户保持root帐号权限(可能会不安全) [root@nfs-server ~]# vi /etc/exports /var/log/shterm/2016/ 10.201.82.10(rw,sync,no_root_squash)
使配置生效 [root@nfs-server ~]# exportfs -rv exporting 10.201.82.10:/var/log/shterm/2016
启动服务 [root@nfs-server ~]# /etc/init.d/rpcbind start [root@nfs-server ~]# /etc/init.d/nfs start
设置开机自动启动nfs服务 chkconfig rpcbind on chkconfig nfs on
2、客户端: [root@nfs-bljbak ~]# yum -y install nfs-utils
创建挂载目录 [root@nfs-bljbak ~]# mkdir /home/shterm
查看共享状态 [root@nfs-bljbak ~]# showmount -e 10.201.82.6 Export list for 10.201.82.6: /var/log/shterm/2016 10.201.82.10
-t nfs :表示挂载文件的文件系统格式,也可以省略 [root@nfs-bljbak ~]# mount -t nfs 10.201.82.6:/var/log/shterm/2016 /home/shterm/
挂载成功之后,可以用df -h命令查看
设置开机自动挂载 [root@nfs-bljbak ~]# vi /etc/fstab 10.201.82.6:/var/log/shterm/2016 /home/shterm/ nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,nolock 0 0 mount命令 mount -a 的意思是将/etc/fstab的所有内容重新加载。 mount 是显示/etc/fstab的内容。
三、命令参数 1、重启nfs或者使用exportfs命令使nfs配置生效 service nfs restart 或者 exportfs -rv
#exportfs用法 -a :全部mount或者unmount /etc/exports中的内容 -r :重新mount /etc/exports中分享出来的目录 -u :umount 目录 -v :将详细的信息输出到屏幕上
2、nfs参数: ro 该主机对该共享目录有只读权限 rw 该主机对该共享目录有读写权限 root_squash (默认)客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户 no_root_squash 客户机用root访问该共享文件夹时,不映射root用户 all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户 no_all_squash (默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组 anonuid 将客户机上的用户映射成指定的本地用户ID的用户。匿名用户的UID值, 通常是nobody或nfsnobody,可以在此处自行设定 anongid 将客户机上的用户映射成属于指定的本地用户组ID。匿名用户的GID值 sync 资料同步写入到内存与硬盘中,适用在通信比较频繁且实时性比较高的场合 async 资料会先暂存于内存中,稍候再写入硬盘,性能较好(速度快), 适合超大或者超多文件的写入,但有数据丢失的风险,比如突然断电等情况 insecure 允许从这台机器过来的非授权访问 secure (默认):限制客户端只能从小于1024的tcp/ip端口连接服务器 insecure 允许客户端从大于1024的tcp/ip端口连接服务器
3、showmount命令 这是另一个重要的nfs指令。exportfs是用于在nfs server端进行设置,查询的。而showmount则主要用于Client端,用于查看NFS分享出来的目录资源。 -e 显示导出服务器上的所有文件系统。 -a 显示每个已安装在服务器上的所有网络文件系统 (NFS) 客户端和目录。 -d 显示当前装载 NFS 客户端的服务器上的所有目录。
4、客户端报错解决 df: `/home/shterm': Stale file handle
[root@nfs-bljbak ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_nfsbljbak-lv_root 50G 814M 46G 2% / tmpfs 939M 0 939M 0% /dev/shm /dev/sda1 485M 32M 428M 7% /boot /dev/mapper/vg_nfsbljbak-lv_home 3.0T 593M 2.8T 1% /home df: `/home/shterm': Stale file handle
卸载目录,重新挂载即可 [root@nfs-bljbak ~]# umount -f /home/shterm [root@nfs-bljbak ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_nfsbljbak-lv_root 50G 814M 46G 2% / tmpfs 939M 0 939M 0% /dev/shm /dev/sda1 485M 32M 428M 7% /boot /dev/mapper/vg_nfsbljbak-lv_home 3.0T 593M 2.8T 1% /home |