Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1579128
  • 博文数量: 157
  • 博客积分: 1776
  • 博客等级: 上尉
  • 技术积分: 1786
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-19 10:49
文章分类

全部博文(157)

文章存档

2018年(1)

2017年(12)

2015年(6)

2014年(17)

2013年(51)

2012年(65)

2011年(5)

分类: LINUX

2012-05-14 15:08:08

在NFS服务器的使用中,我们介绍了不少内容。这里我们主要讲解一下linux搭建NFS服务器的过程。首先我们需要了解一下什么是NFS服务,之后对于它的优势以及搭建过程在做一下具体的介绍。

一、什么是NFS服务

NFS是Network File System的简写,即网络文件系统.

网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件.通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件.

二、NFS的优势

1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到.

2.用户不必在每个网络上机器里头都有一个home目录.Home目录 可以被放在NFS服务器上并且在网络上处处可用.

3.诸如软驱,CDROM,和 Zip® 之类的存储设备可以在网络上面被别的机器使用.这可以减少整个网络上的可移动介质设备的数量.

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机.客户机远程访问存放在服务器上的数据.为了正常工作,一些进程需要被配置并运行.

三、linux搭建NFS服务器

1、服务器端

安装NFS的服务程序

yum install -y nfs-utils

写配置文件

vim /etc/exports

写入

/music        192.168.0.0/255.255.255.0(rw,sync)

格式是:

要共享的目录        共享的IP及掩码或者域名(权限,同步更新)

启动服务

/etc/init.d/portmap restart

/etc/init.d/nfs restart

chkconfig nfs on

chkconfig portmap on

然后关闭防火墙以及更改Selinux关于NIS的选项

/etc/init.d/iptables stop (防护墙服务关闭)

chkconfig iptables off

system-config-selinux (设置selinux)

2、客户端

编辑fstab文件,实现开机自动挂载

mount -t nfs IP:/目录  挂载到的目录  (此为临时挂载)

如:mount -t nfs 192.168.0.9:/doce     /doc

编辑FSTAB文件

vim /etc/init.d/fstab

IP:/目录 挂载到的目录nfs defaults 0 0

然后关闭防火墙以及更改Selinux关于NIS的选项

/etc/init.d/iptables stop (防护墙服务关闭)

chkconfig iptables off

system-config-selinux (设置selinux)

至此,linux搭建NFS服务器完毕.

--------------------------------------------------------------------------------

NFS权限说明

[root@www ~]# vim /etc/exports /tmp 192.168.100.0/24(ro) localhost(rw) *.ev.ncku.edu.tw(ro,sync) [分享目錄] [第一部主機(權限)] [可用主機名] [可用萬用字元]

你看看,這個設定檔有夠簡單吧!每一行最前面是要分享出來的目錄,注意喔!是以目錄為單位啊!然後這個目錄可以依照不同的權限分享給不同的主機,像鳥哥上面的例子說明是:要將 /tmp 分別分享給三個不同的主機或網域的意思。記得主機後面以小括號 () 設計權限參數,若權限參數不止一個時,則以逗號 (,) 分開。且主機名與小括號是連在一起的喔!在這個檔案內也可以利用 # 來註解呢。

至於主機名稱的設定主要有幾個方式:

  • 可以使用完整的 IP 或者是網域,例如 192.168.100.10 或 192.168.100.0/24 ,或192.168.100.0/255.255.255.0 都可以接受!

  • 也可以使用主機名稱,但這個主機名稱必須要在 /etc/hosts 內,或可使用 DNS 找到該名稱才行啊!反正重點是可找到 IP 就是了。如果是主機名稱的話,那麼他可以支援萬用字元,例如 * 或 ? 均可接受。

至於權限方面 (就是小括號內的參數) 常見的參數則有:

參數值內容說明
rw
ro
該目錄分享的權限是可讀寫 (read-write) 或唯讀 (read-only),但最終能不能讀寫,還是與檔案系統的 rwx及身份有關。
sync
async
sync 代表資料會同步寫入到記憶體與硬碟中,async 則代表資料會先暫存於記憶體當中,而非直接寫入硬碟!
no_root_squash
root_squash
用戶端使用 NFS 檔案系統的帳號若為 root 時,系統該如何判斷這個帳號的身份?預設的情況下,用戶端 root 的身份會由 root_squash 的設定壓縮成 nfsnobody,如此對伺服器的系統會較有保障。但如果你想要開放用戶端使用 root 身份來操作伺服器的檔案系統,那麼這裡就得要開 no_root_squash 才行!
all_squash不論登入 NFS 的使用者身份為何, 他的身份都會被壓縮成為匿名使用者,通常也就是 nobody(nfsnobody) 啦!
anonuid
anongid
anon 意指 anonymous (匿名者) 前面關於 *_squash 提到的匿名使用者的 UID 設定值,通常為 nobody(nfsnobody),但是你可以自行設定這個 UID 的值!當然,這個 UID 必需要存在於你的 /etc/passwd 當中!anonuid 指的是 UID 而 anongid 則是群組的 GID 囉。





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