分类: 系统运维
2013-02-18 10:19:30
在Linux机器之间用NFS共享的.
nfs的概念略.
假设我们有一台server机器A,一台客户机器B.我们要在B上使用A的文件.
或者说,把A上的某个文件夹mount到B上.
步骤:
(1)在A上安装软件: nfs-kernel-server,nfs-common,portmap.B上,也尽量都安装这些软件.
(2)安装之后,检验这些服务是否可以正常启动,执行:
sudo /etc/init.d/portmap start
sudo /etc/init.d/nfs-kernel-server start
如果正常,则安装成功.
(3)修改A上文件夹的访问权限.
sudo vim /etc/exports
A上所有共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。
书写规则是:(每个共享规则一行)
共享目录 主机(参数)
例如:
/mnt/cdrom *.abc.com(ro,sync) master.abc.com(rw,sync)
上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*.abc.com域,并且以读写同步方式共享给master.abc.com主机。
任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
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_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
(4)修改完成后,一定要重新启动nfs服务:
sudo /etc/init.d/nfs-kernel-server restart
至此,在A上的工作已经完成.
(5)在B端挂载nfs文件夹.
sudo mount -t nfs 192.168.74.xxx:/home/test /mnt/share
卸载挂载的文件夹:
sudo unount /mnt/share