`
hyw520110
  • 浏览: 210384 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Linux下NFS服务器的配置

 
阅读更多

类型:System V-launched Service
软件包:nfs-utils
进程:nfsd,lockd,rpciod,rpc.{mounted,rquotad,statd}
脚本:nfs,nfslock
端口:由portmap服务指派端口(111)
配置文件:/etc/exports
辅助工具:portmap(必须)
相关命令:rpcinfo -p [IPADD]:查看服务器提供的rpc服务
          showmount -e:查看服务共享的目录
Server端:
1./etc/exports格式:
            目录                     选项            
例:共享/share目录给192.168.0.x的用户
           /share                192.168.0.0/24 (rw)  
2.启动portmap服务:                                    
    service portmap start[restart]                     
3.启动NFS服务:
    service nfs start[restart]                         
Client端
1.启动portmap服务:                                    
    service portmap start[restart]                     
2.挂载服务器端的共享目录(假设服务器端192.168.0.1):   
    mount -t nfs 192.168.0.1:/share  /mnt/localshare  

卸载使用umount
# umount  /mnt/localshare  
关机时如果NFS Server上面还有Client联机,建议NFS Server关机之前,要先关掉portmap与nfs这两个系统服务。如果无法正确地将这两个系统服务关掉,那么先以netstat -utlp找出PID,然后使用kill杀掉进程,这样才能正常关机。

 

1. 查看系統有沒有nfs功能
cat /proc/filesystes
2. ntsysv 命令選中nfs
service nfs restart,看能否啟動,如不能正常,可以查看相應的出錯信息
tali /var/log/messages
3. 配置/etc/exports
eg: /home/mis    *(rw)
此文件是配置相關的文件和一些權限,上面的設置表示,所有的用戶對/home/mis都有讀寫的權限
4. 執行exportfs -a 表示將所有的更新.
5. service nfs restart
6. 執行mount命令
eg: mount 10.0.1.153:/home/mis  /mnt/mis
7. 常用的命令
showmount
repcinfo
8. 如果在開機時就加載,可在/etc/fstab中加入
ip:/home.mis   /mnt/mis nfs intr

 

细解:

 

1 NFS 安装

系统默认已经安装了 NFS 软件包,如果手工安装 NFS ,需要 5 RPM 包。

setup-* :             共享 NFS 目录在 /etc/exports 中定义

initscripts-*         包括引导过程中装载网络目录的基本脚本

nfs-utils-* :         包括基本的 NFS 命令与监控程序

portmap-* :        支持安全 NFS RPC 服务的连接

quota-* :       网络上共享的目录配额,包括 rpc.rquotad (这个包不是必须的)

 

可以使用下面命令查看系统是否已经安装了某个软件包。

[root@Meil sda1]# rpm -qa |grep setup 
setup-2.5.25-1
losetup-2.11y-9
setuptool-1.12-1

 

2 、配置 NFS

 

编辑 /etc/exports ,在文件中列出,要共享的目录。书写规则是:(每个共享规则一行) 共享目录 主机 ( 参数 )

例如:

/mnt/sda1 10.50.92.36(ro,sync,no_root_squash)

 

上面的规则代表将 /mnt/sda1 目录以读写同步方式共享给主机10.50.92.36 。如果登陆到 NFS 主机的用户是 root, 那么该用户就具有 NFS 主机的 root 用户的权限。

 

下面是一些 NFS 共享的常用参数:

rw :可读写的权限;

ro :只读的权限;

no_root_squash :登入到 NFS 主机的用户如果是 ROOT 用户,他就拥有 ROOT 的权限 root_squash :在登入 NFS 主机使用目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID GID 都会变成 nobody 那个身份;

all_squash :不管登陆 NFS 主机的用户是什么都会被重新设定为 nobody

anonuid :将登入 NFS 主机的用户都设定成指定的 user id, ID 必须存在于 /etc/passwd 中。

anongid :同 anonuid ,但是变成 group ID 就是了!

sync :资料同步写入存储器中。

async :资料会先暂时存放在内存中,不会直接写入硬盘。

insecure 允许从这台机器过来的非授权访问。

 

exportfs 命令:

如果我们在启动了 NFS 之后又修改了 /etc/exports ,是不是还要重新启动 nfs 呢?这个时候我们就可以用 exportfs 命令来使改动立刻生效,该命令格式如下:

exportfs [-aruv]

-a :全部 mount 或者 unmount /etc/exports 中的内容

-r :重新 mount /etc/exports 中分享出来的目录

-u umount 目录

-v :在 export 的时候,将详细的信息输出到屏幕上。

具体例子:

[root@Meil sda1]# exportfs  -rv
exporting 10.50.92.36:/mnt/sda1
reexporting 10.50.92.36:/mnt/sda1 to kernel<==
全部重新 export 一次!

 

 

3 、启动 NFS

 

# service portmap start

# service nfs start

 

检查 NFS 的运行级别:

# chkconfig --list portmap

# chkconfig --list nfs

 

根据需要设置在相应的运行级别自动启动 NFS

# chkconfig --level 235 portmap on

# chkconfig --level 235 nfs on

 

另外,还需要查看系统的 iptables /etc/hosts.allow /etc/hosts.deny 是否设置了正确的 NFS 访问规则。

 

4 、客户端配置

客户端运行以下命令 MOUNT NFS 文件系统

 

 

 

 

 

[root@NTP_92_36 root]# mkdir /mnt/nfs

[root@NTP_92_36 root]# mount -t nfs 10.50.44.89:/mnt/disk1 /mnt/nfs

mount: 10.50.44.89:/mnt/disk1 failed, reason given by server: Permission denied

[root@NTP_92_36 root]# mount -t nfs 10.50.44.89:/mnt/sda1 /mnt/nfs

[root@NTP_92_36 root]# cd /mnt/nfs/

 

5 、可能出现的问题

rpc 超时问题

在服务器上的 hosts 文件加上了客户机的 ip 地址解析。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics