2009-07-28/15:32
NFS (Network File System) - sharing ur file system across network
透过nfs我们可以将A机器上(server 端)的目录或档案系统,开放给B机器(client端)mount起来。
如此,使用者和程式在存取远端的资料时就好像在本地存取。
1.设定NFS server端
(server 端指的是要提供目录或档案系统的机器。)
1.1 察看/etc/defaults/rc.conf与NFS相关的设定
/etc/default# grep -i nfs >> /etc/rc.conf
为节省时间..故直接将与NFS相关的设定到/etc/rc.conf,然後再进入/etc/rc.conf做修正
1.2 您的/etc/rc.conf会多出这些资讯
### Network daemon (miscellaneous) & NFS options: ###
nfs_client_enable="NO" # This host is an NFS client (or NO).
nfs_client_flags="-n 4" # Flags to nfsiod (if enabled).
nfs_access_cache="2" # Client cache timeout in seconds
nfs_server_enable="NO" # This host is an NFS server (or NO).
nfs_server_flags="-u -t -n 4" # Flags to nfsd (if enabled).
mountd_flags="-r" # Flags to mountd (if NFS server enabled).
nfs_reserved_port_only="NO" # Provide NFS only on secure port (or NO).
rpc_lockd_enable="NO" # Run NFS rpc.lockd (*broken!*) if nfs_server.
rpc_statd_enable="YES" # Run NFS rpc.statd if nfs_server (or NO).
保留有关server的部分...也就是我把他标成粗体字的部分.....其馀的删除
并将其中的"NO"变更成为"YES" nfs_server_enable="YES"
1.3 编辑 /etc/exports 档案
(此档案说明要分享档案及可存取的机器)
底下的例子表示我将 /backup 放出允许 192.168.0.10 存取。
/backup 192.168.0.10
若想看看其它例和详细写法,man exports。
注意:需用完整路径,如:/home是不被允许的/usr/home才可以被接受
1.4 启动server端
存档後重开机或是手动启动server端
# nfsd -u -t -n 4
# mountd -r (一定要先编辑完/etc/exports才能启动NFS server喔)
2.设定client端
(client 端指的是要去存取 (mount) 他人提供出来的目录或档案系统的机器。)
2.1 同server端的方式,将上面有关client的部分抄入 /etc/rc.conf,也就是下面这两行
nfs_client_enable="NO" # This host is an NFS client (or NO).
nfs_client_flags="-n 4" # Flags to nfsiod (if enabled).
与server端相同的,别忘了将"NO"改成"YES" .. 变成 nfs_client_enable="YES"
2.2 启动client
存档後重开机或是手动启动client端
# nfsiod -n 4
3.挂上远端的目录
3.1 在client机器上,执行下面这个指令
# mount -v ohaha:/backup /mnt
ohaha:/backup on /mnt (nfs) --> 此表示成功了
说明:-v 表示显示画面; ohaha乃是server端的host name不同网域可使用ip
/backup 是分享的目录 ; /mnt 乃是client端想要的挂入点
4.让client端每次开机都自动挂上NFS
4.1 修改/etc/fstab档
# Device Mountpoint FStype Options Dump Pass#
ohaha:/backup /mnt nfs rw 2 2
4.2 建议您先手动执行看看是否成功,然後在让它开机自动挂上,这样比较安全
5.完成...enjoy it ....