Linux下,All deviceis file,所有的设备都是文件。当我们需要把某些文件夹就或者文件共享给其他用户,就可以使用网络文件系统。

本文介绍Redhat Linux下的NFS配置。

在使用NFS之前,确保安装以下rpm包:nfs-utils-xxx.i686.rpm、nfs4-acl-tools-xxx.i686.rpm、nfs-utils-xxx.i686.rpm(xxx表示版本)。可以使用rpm-qa进行查询:

[root@localhost nfs]# rpm -qa|grep nfs
nfs-utils-lib-1.1.5-1.el6.i686
nfs4-acl-tools-0.3.3-5.el6.i686
nfs-utils-1.2.2-7.el6.i686

如果查询结果为空,则需要手动安装,可以在安装Linux系统的ISO包里查找,先挂载:mount -o loop /home/Wentasy/software/RHEL_6.2.iso /mnt,然后find,把nfs开头的3个rpm依次安装。

[root@larrywen mnt]# find . -name "*nfs*"
./Packages/nfs-utils-1.2.3-15.el6.i686.rpm
./Packages/nfs-utils-lib-1.1.5-4.el6.i686.rpm
./Packages/nfs4-acl-tools-0.3.3-5.el6.i686.rpm
./Packages/sblim-cmpi-nfsv3-1.1.1-1.el6.i686.rpm
./Packages/sblim-cmpi-nfsv4-1.1.0-1.el6.i686.rpm

现在对NFS进行配置,配置文件为/etc/exports,配置文件格式如下:

<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]

NFS主要有3类选项:

访问权限选项

设置输出目录只读:ro

设置输出目录读写:rw

用户映射选项

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);

no_all_squash:与all_squash取反(默认设置);

root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);

no_root_squash:与rootsquash取反;

anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);

anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

其它选项

secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);

insecure:允许客户端从大于1024的tcp/ip端口连接服务器;

sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;

async:将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);

no_wdelay:若有写操作则立即执行,应与sync配合使用;

subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

我的配置文件如下:

/home/nfs */24(rw,sync)

* :允许所有的网段访问

rw :读写权限

sync:资料同步写入内在和硬盘

查看/home/nfs权限及在此目录创建文件,在file1里输入内容“hello”

[root@localhost ~]# vi /etc/exports
[root@localhost ~]# ll /home/nfs -d
drwxr-xr-x. 2 root root 4096 Jul 21 09:58 /home/nfs [root@localhost ~]# ll /home/nfs -d
drwxr-xr-x. 2 root root 4096 Jul 21 09:58 /home/nfs
[root@localhost ~]# cd /home/nfs
[root@localhost nfs]# touch file1
[root@localhost nfs]# echo "hello" file1
hello file1
[root@localhost nfs]# echo "hello" > file1
[root@localhost nfs]# cat file1
hello
[root@localhost nfs]# cat /etc/exports
/home/nfs *(rw,sync) [Wentasy@localhost test]$ ll /home/nfs -d
drwxrwxrwx. 2 root root 4096 Jul 21 10:07 /home/nfs

现在启动NFS服务。

[root@localhost ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]

另一个客户端以其他用户登录,然后挂载共享的文件夹到/home/Wentasy/test,编辑file1,加入“world”。

[Wentasy@localhost ~]$ sudo mount -t nfs 169.254.140.100:/home/nfs /home/Wentasy/test/
[Wentasy@localhost ~]$ cd /home/Wentasy/test/
[Wentasy@localhost test]$ ll
total 4
-rw-r--r--. 1 root root 6 Jul 21 10:08 file1
[Wentasy@localhost test]$ cat file1
hello world

执行mount命令,可以看到169.254.140.100:/home/nfs挂载到

/home/Wentasy/test
[Wentasy@localhost test]$ mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
169.254.140.100:/home/nfs on /home/Wentasy/test type nfs (rw,vers=4,addr=169.254.140.100,clientaddr=169.254.140.100)

切换到root用户或者先前的客户端,查看file1文件,可以看到Wentasy用户修改的文件内容已经同步了。

[root@localhost nfs]# cat file1
hello world

更精彩的文章:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html

我的邮箱:wgbno27@163.com  新浪微博:@Wentasy27
微信公众平台:JustOracle(微信号:justoracle)
数据库技术交流群:336882565(加群时验证 From CSDN XXX)
Oracle交流讨论组:https://groups.google.com/d/forum/justoracle By Larry Wen
 
@Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]

Redhat Linux NFS配置的更多相关文章

  1. linux NFS 配置步骤

    转载 http://woxihuanpes.blog.163.com/blog/static/12423219820097139145238/ NFS server可以看作是一个FILE SERVER ...

  2. Redhat linux DNS配置指南(SCANIP配置手册)

    在oracle 11g的RAC中增加了SCAN IP,而使用 SCAN IP的一种方式就是使用DNS,这里介绍在Redhat Linux 5.4中DNS的详细配置操作在配置DNS之前修改主机名Redh ...

  3. Redhat Linux网卡配置与绑定

    Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失. 相关的 ...

  4. RedHat Linux RHEL6配置本地YUM源

    YUM是Yellow dog Updater Modified的简称,起初是由yellow dog这一发行版的开发者Terra Soft研发,用python写成,那时还叫做yup(yellow dog ...

  5. Redhat Linux FTP配置

    文件传输协议(FTP:FileTransfer Protocol)使得主机间可以共享文件. FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输.控制连接 ...

  6. linux NFS配置案例

    1.查看NFS软件包        [root@server7 ~]# rpm -qa | egrep "nfs|rpcbind" 2.安装NFS和RPC服务        [ro ...

  7. Linux nfs配置

    ***************节点2的arch2目录挂载到节点1下.那么节点2是主节点1是备******** 10.230.39.234(节点1)cat /etc/exports /arch2 10. ...

  8. linux下配置NFS服务器

    (声明:本文大部分文字摘自Linux NFS服务器的安装与配置) 一.NFS简介     NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Su ...

  9. RedHat Linux AS4 DNS 配置

     RedHat Linux AS4 DNS配置   检查当前系统中安装 DNS功能组件bind情况 [root@svr01 /]# rpm -qa|grep bind* ypbind-1.17.2 ...

随机推荐

  1. [转]我的数据结构不可能这么可爱!——珂朵莉树(ODT)详解

    参考资料: Chtholly Tree (珂朵莉树) (应某毒瘤要求,删除链接,需要者自行去Bilibili搜索) 毒瘤数据结构之珂朵莉树 在全是珂学家的珂谷,你却不知道珂朵莉树?来跟诗乃一起学习珂朵 ...

  2. poj 2599 单调栈 ***

    和poj2082差不多,加了一个宽度的条件 #include<cstdio> #include<cmath> #include<algorithm> #includ ...

  3. 吴恩达-coursera-机器学习-week4

    第八.神经网络:表述(Neural Networks: Representation) 8.1 非线性假设 8.2 神经元和大脑 8.3 模型表示1 8.4 模型表示2 8.5 样本和直观理解1 8. ...

  4. 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem F. Judging Time Prediction 优先队列

    Problem F. Judging Time Prediction 题目连接: http://www.codeforces.com/gym/100253 Description It is not ...

  5. SQL Server Management Studio 教程二: 创建新登录名

    1.先用windows身份登录SQL server2008 2.打开[安全性],右击[登录名],选择[新建登录名] 3.[常规]选项页面中,修改如下位置设置,默认数据库可以是其他数据库,不一定是mas ...

  6. $.ajax 方法参数总是记不住,在这里记录一下

    jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...

  7. OpenVPN使用easy-rsa3吊销证书

    cd /etc/easy-rsa ./easyrsa revoke targetkey(证书名) ./easyrsa gen-crl 其中gen-crl会生成一份吊销证书的名单,放在pki/crl.p ...

  8. STM32 USB FS Core and USB OTG Core

    STM32 USB-FS-Device development kit Compatible with the STM32F102xx and STM32F103xx series, STM32 L1 ...

  9. 微软为何选择在 Github 上开源 .NET 核心?

    本文来自微软开源.NET 的一篇公告 ,文中阐述了微软为何选择在 Github 开源.NET,以及微软对开源和开源社区方面的认识的变迁. 对于.NET来说,今天(2014/11/12)是个大日子! 我 ...

  10. Ubuntu上的Hadoop安装教程

    Install Hadoop 2.2.0 on Ubuntu Linux 13.04 (Single-Node Cluster) This tutorial explains how to insta ...