Linux NFS服务器搭建

1、NFS:NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。
  在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
2、安装NFS服务器端:sudo
apt-get install nfs-kernel-server;
3、配置/etc/exports:sudo vim /etc/exports ;
  Ubuntu NFS允许挂载的目录及权限在文件/etc/exports中进行了定义。
  将根目录下的 文件夹  /home/upload 目录共享出来,
  在/etc/exports 文件末尾添加如下一行: /home/upload  *(rw,sync,no_root_squash)

*     : 代表允许所有的网络段访问,

rw   :是可读写权限,

sync
:是资料同步写入内存和硬盘,

no_root_squash: 是 Ubuntu nfs 客户端分享目录使用者的权限,如果客户端使用的是 root 用户,那对于该共享目录而言,该客户端就具有 root 权限。

Linux NFS服务器搭建 4、NFS重启服务
  $sudo /etc/init.d/portmap restart
  $sudo /etc/init.d/nfs-kernel-server restart
5、测试Ubuntu NFS
  此时可以运行以下命令来显示一下共享出来的目录: $showmount -e   
  或者可以使用以下命令把它挂载在本地磁盘上, 例如将/home/upload 挂载
  到/mnt下: $sudo mount -t nfs 192.168.1.117:/home/upload   /home/upload
  可以运行df命令查看是否挂载成功。
  写入文件,开机自动挂载。/etc/fstab     
  192.168.1.117:/home/upload   /home/upload    nfs     rw     0 0
Linux NFS服务器搭建  (这样,在/mnt目录下创建目录,/home/upload 下也会出现)
  查看后可以使用以下命令卸载: $ sudo umount /home/upload
  注意:使用卸载命令时,先退出挂载的目录,再执行卸载命令,否则会出现设备正忙现象而无法卸载
 
 
NFS:

RPC: Remote Procedure Call

Linux: 提供rpc服务的程序, Portmap: 111/tcp, 111/udp

RPC: 编程技术,简化分布式应用程序的开发,RPC:C --> RPC C --> RPC S --> S

NFS Client --> NFS Server

Browser --> Server  html格式

RPC: 二进制格式,文本格式(XMLRPC) --> SOAP(Simple Object Access Protocol)

RPC: 编程技术,协议

NFS: Sun
    NFSv2, NFSv3, NFSv4

NFS: Unix/Linux

Windows

服务器端:nfs-utils

nfs: nfsd(nfs服务), mountd(挂载), quotad(配额)

nfsd: 2049/tcp, 2049/udp
mountd: 端口
quotad: 端口
    半随机的

/etc/exports
/path/to/somedir CLIENT_LIST
    多个客户之间使用空白字符分隔

每个客户端后面必须跟一个小括号,里面定义了此客户访问特性,如访问权限等

172.16.0.0/16(ro,async) 192.16.0.0/24(rw,sync)

showmount -e NFS_SERVER: 查看NFS服务器“导出”的各文件系统
showmount -a NFS_SERVER: 查看NFS服务器所有被挂载的文件系统及其挂载的客户端对应关系列表
showmount -d NFS_SERVER: 显示NFS服务器所有导出的文件系统中被客户端挂载了文件系统列表

exportfs命令:
    -a:跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统;
    -r: 重新导出
    -u: 取消导出
    -v: 显示详细信息

客户端使用mount命令挂载

mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT  /PATH/TO/SOMEWHRERE

文件系统导出属性:
    ro:
    rw:
    sync:
    async:
    root_squash: 将root用户映射为来宾账号;
    no_root_squash:
    all_squash:
    anonuid, anongid: 指定映射的来宾账号的UID和GID;

让mountd和quotad等进程监听在固定端口,编辑配置文件/etc/sysconfig/nfs

WebServer: LAMP

NFS服务端:/var/www: 共享出去
NFS客户端:挂载NFSERVER:/var/www至本地的/var/www

 
上一篇:wamp2.5版本64位403forbidden问题


下一篇:HDU ACM 2586 How far away ?LCA->并查集+Tarjan(离线)算法