又是碰到的问题,继续做记录备份。
涉及到服务器之间文件共享,需用到NFS共享设置,服务器为Ubuntu 12.04 64位。

[记录]Linux(Ubuntu 12.04)系统  NFS文件共享安装与配置

准备环境

服务器两台:
服务端: 192.168.1.1
客户端: 192.168.1.2

服务端操作

1,首先安装nfs服务(以下操作自行切换root用户)

apt-get install nfs-kernel-server

2,安装完成后,编辑设置文件:

vi /etc/exports

新安装的是一个空文件,只有部分注释,在下方加入:

/mydata  192.168.1.2(rw,sync,no_root_squash,no_subtree_check)

释义:

/mydata : 本地要共享的文件夹名称;
192.168.1.2:欲让访问的服务器地址,也可以写* ,或192.178.1.* 这样的通配符;
rw:读写权限
sync:同步写入内存和硬盘
no_root_squash:root用户拥有所有权限
no_subtree_check:不对共享文件夹内的上级目录权限做检查
如若共享多个目录,添加多行即可。
3,重启NFS相关服务

/etc/init.d/portmap restart
/etc/init.d/nfs-kernel-server restart 

4,查看共享目录

showmount -e

服务器端的安装已经完成,接下来操作访问的服务器端。

客户端(访问的服务器)

1,同样安装nfs服务

apt-get install nfs-kernel-server

2,在本地挂载共享的文件夹,先在本地服务器创建一个文件夹,用来挂载共享的文件夹。

mkdir nfsdisk

接下来挂载:

mount -t nfs 192.168.1.1:/mydata  /nfsdisk

注:以上操作需root权限,上面命令中的地址是主服务器的地址后面跟冒号和主服务器共享文件夹地址,接着空格,跟上本地要挂载的文件夹。

可以尝试创建个文件或文件夹,再返回主服务器看下该目录下是否出现。

附加操作

1,取消挂载

sudo umount /netdisk

如若提示 "device is busy",标示该目录正在被使用,使用以下命令:

fuser -km /netdisk
df -lh

然后再执行umount操作

2,添加开机自动挂载

vi /etc/rc.local

在exit()之前,添加上面的挂载命令:

mount -t nfs 192.168.1.1:/mydata  /nfsdisk

3,常用参数

ro  只读访问
rw  读写访问
sync  同步写入资料到内存与硬盘中
async  资料会先暂存于内存中,而非直接写入硬盘
secure  NFS通过1024以下的安全TCP/IP端口发送
insecure  NFS通过1024以上的端口发送
wdelay  如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay  如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide  在NFS共享目录中不共享其子目录
no_hide  共享NFS目录的子目录
subtree_check  如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check  和上面相对,不检查父目录权限
all_squash  共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash  保留共享文件的UID和GID(默认)
root_squash  root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash  root用户具有根目录的完全管理访问权限
anonuid=xxx  指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx  指定NFS服务器/etc/passwd文件中匿名用户的GID

完。