Chinaunix首页 | 论坛 | 博客
  • 博客访问: 441552
  • 博文数量: 56
  • 博客积分: 2705
  • 博客等级: 少校
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-21 13:52
文章分类

全部博文(56)

文章存档

2016年(1)

2014年(1)

2013年(5)

2012年(4)

2011年(8)

2010年(10)

2009年(15)

2008年(12)

分类: LINUX

2008-09-09 15:33:24

今天在跑机顶盒流程的过程中发现内置硬盘空间已满,神啊没部电影都要几百兆呢?怎么办呢.....?
NFS....不知道谁冒出了一句,“好,就NFS”,领导对我说。
神啊,额可只知道nfs的概念,可从来没配过.....
没办法,还得做呀....(害得我午饭就没吃好)
不多说了,入正题吧!:
  • 网络文件系统(NFS)的概念

     网络文件系统(NFS)是一种在网络上的机器间共享文件的方法,文件就如同位于客户的本地硬盘驱动器上一样。Red Hat Linux 既可以是 NFS 服务器也可以是 NFS 客户,这意味着它可以把文件系统导出给其它系统,也可以挂载从其它机器上导入的文件系统。

  • NFS的安装

     RedHad默认已经安装了NFS,如果没装需手动安装如下5个rpm包:

setup-*:            共享NFS目录在/etc/exports中定义
initscripts-*:        包括引导过程中装载网络目录的基本脚本
nfs-utils-*:        包括基本的NFS命令与监控程序
portmap-*:       支持安全NFS RPC服务的连接
quota-*:      网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)

  • NFS的配置

     编辑/etc/exports文件添加共享目录:

 /home/stb 192.168.1.235(rw,sync,no_root_squash)
 /home/stb 192.168.1.170(rw,sync,no_root_squash)
 /home/stb 192.168.1.31(rw,sync,no_root_squash)

 /home/stb为对外共享的目录;

 192.168.1.235为对外共享的主机;

()内为opitons;

rw:             可读写的权限;
ro:             只读的权限;
no_root_squash: 登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限root_squash:    在登入 NFS 主机使用目录的使用者如果是 root 时,那么这个使用者的权限
sync:           资料同步写入存储器中。
async:          资料会先暂时存放在内存中,不会直接写入硬盘。

  • NFS服务的启动

    service nfs start

    service nfs restart

    service nfs stop

    service nfs reload 当修改过/etc/exports文件后不用重启服务可执行该命令

  • 客户端的挂载
  1. 通过mount命令挂载

mount 192.168.1.162:/home/stb /mnt/stb
mount -t nfs 192.168.1.162:/home/stb /mnt/stb -o nolock

//其中客户端必须有/mnt/stb目录

 2. 通过 /etc/fstab 来挂载 NFS 文件系统

  

要挂载其它机器上的 NFS 共享的另一种方法是在 /etc/fstab 文件中添加一行。这一行中必须声明 NFS 服务器的主机名,要导出的目录,以及要挂载 NFS 共享的本地机器目录。你必须是根用户才能修改 /etc/fstab 文件。

/etc/fstab 中每行的一般语法如下所示:

server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr
挂载点 /pub 在客户机器上必须存在。在客户系统的 /etc/fstab 文件中把这一行添加完毕后,在 shell 提示下键入命令 mount /pub,以及将会从服务器中挂载的挂载点 /pub
3. 

挂载 NFS 共享的第三种方法是使用 autofs。autofs 使用 automount 守护进程来管理你的挂载点,它只在文件系统被访问时才动态地挂载它们。

autofs 咨询主映射配置文件 /etc/auto.master 来决定要定义哪些挂载点。然后,它使用适用于各个挂载点的参数来启动 automount 进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。譬如,/etc/auto.misc 文件可能会定义 /misc 目录中的挂载点;这种关系在 /etc/auto.master 文件中会被定义。

auto.master 文件中的每个项目都有三个字段。第一个字段是挂载点。第二个字段是映射文件的位置,第三个字段可选。第三个字段可以包括超时数值之类的信息。

譬如,要在你的机器上的 /misc/myproject 挂载点上挂载远程机器 penguin.example.net 上的 /project52 目录,在 auto.master 文件中添加以下行:

 

/misc   /etc/auto.misc --timeout 60

/etc/auto.misc 文件中添加以下行:

myproject  -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52

/etc/auto.misc 中的第一个字段是 /misc 子目录的名称。该目录被 automount 动态地创建。它不应该在客户机器上实际存在。第二个字段包括挂载选项,如:rw 代表读写访问权。第三个字段是要导出的 NFS 的位置,包括主机名和目录。

注记
 

目录 /misc 在本地文件系统中必须存在。在本地文件系统的 /misc 目录中不应该有子目录。

到此就ok了!!!!!!!

补充:

   如果nfs的服务器和客户端不在同一网段,一定要给客户端所在网段的出口加上权限;

   比如:nfs服务器在192.168.1.0网段,客户端在3.0网段,但是通过192.168.1.48与

1.0网段通信,这时要给1.48加上权限;

   

阅读(2492) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-05-07 13:04:40

写得很好,转载一下,谢谢!