分类: LINUX
2011-08-17 08:59:59
一.基础环境:
以 CentOS 5.4 32bit,NFS必須要有兩個套件才行,分別是:
NFS 主程式:nfs-utils
RPC 主程式:portmap
简单的使用 rpm -qa | grep nfs 與 rpm -qa | grep portmap 即可知道
二.套件结构:
NFS套件中,各目录内容
/etc/exports 主要设定档
/usr/sbin/exportfs 分享资源
/usr/sbin/showmount 查看NFS分享目录资源
/var/lib/nfs/*tab 查看连接记录
三.具体配置:
服务器端配置
1.编辑 /etc/exports文件
#vim /etc/exports
/tmp *(rw,no_root_squash)
/home/nfs 192.168.130.231(rw,no_root_squash)
以上内容
第一条为所有人都可以访问我的/TMP目录,可读可写,并且权限设置为ROOT
第二条为只有192.169.130.231才可以访问我的/home/nfs目录可读可写,
并且权限设置为ROOT
权限设置:
rw 可擦写的权限。
ro 只读的权限。
no_root_squash 当登入NFS主机使用共享之目录的使用者如果是root时,那么这个使用者的权限将被转换成为匿名使用者,通常他的UID和GID都会变成nobody身份。
root_squash 登入NFS主机使用共享目录的使用者,如果是root,那么对于这个共享的目录来说,他就具有 root的权限。
all_squash 不论登入NFS使用者的身份为何,他的身份都会被转换成为匿名使用者,通常也就是nobody。
anonuid 通常为nobody,当然也能自行设定这个UID的值,UID必须存在于/etc/passwd当中。
anongid 同anonuid,不过变成group ID就是了。
sync 资料同步写入到内存和硬盘当中。
async 资料会先暂存于内存当中,而非直接写入硬盘anonuid:
2. 激活服务portmap和nfsd
# /etc/rc.d/init.d/portmap start
# /etc/rc.d/init.d/nfs start
3. exportfs
如果修改了/etc/exports这个文件后,不必重新激活nfs,只要重新扫瞄一次/etc/exports的文件,并且重新将设定加载即可:
# exportfs [-aruv]
参数说明:
-a 全部挂载(或卸载) /etc/exports 文件内的设定 。
-r 重新挂载/etc/exports里的设定,此外,亦同步更新/etc/exports及/var/lib/nfs/xtab的内容。
-u 卸载某一目录。
-v 在export的时候,将共享的目录显示到屏幕上。
4. 检验目录/var/lib/nfs/xtab
检验所共享的目录内容,查看/var/lib/nfs/etab这个文件:
# cat /var/lib/nfs/etab
/home/nfs 192.168.130.231(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)
/tmp *(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,mapping=identity,anonuid=65534,anongid=65534)
5. showmount
# showmount [-ae] hostname
参数说明:
-a 在屏幕上显示目前主机和Client所连上来的使用目录状态 。
-e 显示hostname这部机器的/etc/exports里面的共享目录。
当要扫瞄某一主机所提供的NFS共享的目录时,就使用showmount -e IP(或主机名称hostname)即可
6. 观察激活的端口号
# netstat -utln
Active Internet connections (only SERVERs)
Proto Recv-Q Send-Q Local Address
Foreign Address State
tcp 0
0 0.0.0.0:111 0.0.0.0:*
LISTEN
客户端的配置
1. 启动客户端的portmap程序和NFSLOCK
#/etc/init.d/portmap start
#/etc/init.d/nfslock start
2. 扫瞄能使用的NFS Server目录
#showmount -e 192.168.129.87
Export list for 192.168.129.87:
/tmp *
/home/nfs 192.168.130.231
2.
挂载/home/nfs目录
首先建立这个目录,然后再利用mount指令来挂载/home/nfs目录:
# mkdir -p /home/nfs/dingpeng
# mount -t nfs 192.168.129.87:/home/nfs/
/home/nfs/dingpeng
# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/VolGroup00-LogVol00
6.7G 4.7G 1.7G 74% /
/dev/sda1 99M 20M 75M 21% /boot
tmpfs 217M 0 217M 0% /dev/shm
none 217M 104K 217M 1% /var/lib/xenstored
192.168.129.87:/home/nfs
6.7G 5.2G 1.2G 83% /home/nfs/AJ
3. 卸载使用 umount
#umount /home/nfs/dingpeng
4. 开机挂载
# vim /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
192.168.129.87:/home/nfs /home/nfs/dingpeng nfs nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768 0 0 (此设定在同一行)
四.自动挂载
1.修改AUTO.MASTER
建立/ home/nfs目录
# mkdir /home/nfs# vim /etc/auto.master
添加 /home/nfs /etc/auto.nfs
Auto.nfs为自建立
2.创建AUTO.NFS挂载内容
#vim /etc/auto.nfs
dingpeng -rw,bg,soft,rsize=32768,wsize=32768 192.168.129.87:/home/nfs
testing -rw,bg,soft,rsize=32768,wsize=32768 192.168.129.87:/home/test
3.重启AUTOFS服务
#/etc/init.d/autofs restart#cd /home/nfs/dingpeng#cd /home/nfs/testing# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/VolGroup00-LogVol00 6.7G 4.7G 1.7G 74% //dev/sda1 99M 20M 75M 21% /boottmpfs 217M 0 217M 0% /dev/shmnone 217M 104K 217M 1% /var/lib/xenstored192.168.129.87:/home/nfs 6.7G 5.2G 1.2G 83% /home/nfs/AJ192.168.129.87:/home/test 6.7G 5.2G 1.2G 83% /home/nfs/testing