首页 > 代码库 > 【CentOS】NFS服务器的安装与配置
【CentOS】NFS服务器的安装与配置
一、系统环境
[root@C58-NFS-Client mnt]# cat /etc/redhat-release CentOS release 5.8 (Final) [root@C58-NFS-Client mnt]# uname -r 2.6.18-308.el5 [root@C58-NFS-Client mnt]# uname -m x86_64 [root@C58-NFS-Client mnt]# iptables -F #暂时关闭Linux系统防火墙
二、NFS服务器端配置
1、检查nfs与rpc(CentOS5.8中的包名称:portmap)是否在系统中安装(默认是已经安装的了)
[root@C58-NFS-Server data]# rpm -qa nfs* portmap nfs-utils-1.0.9-60.el5 portmap-4.0-65.2.2.1 nfs-utils-lib-1.0.8-7.9.el5 #如果未安装,可以执行以下命令进行安装 [root@C58-NFS-Client mnt]# yum install nfs-utils protmap
2、启动rpc服务与nfs服务,并将服务启动项加入到/etc/rc.local中,让其开机自启动
[root@C58-NFS-Server data]# /etc/init.d/portmap start #启动rpc服务 Starting portmap: [ OK ] [root@C58-NFS-Server data]# /etc/init.d/portmap status #检查rpc服务的启动状态 portmap (pid 25567) is running... [root@C58-NFS-Server data]# /etc/init.d/nfs start #启动nfs服务 [root@C58-NFS-Server data]# /etc/init.d/nfs status #检查nfs服务的启动状态 rpc.mountd (pid 25445) is running... nfsd (pid 25442 25441 25440 25439 25438 25437 25436 25435) is running... rpc.rquotad (pid 25416) is running... [root@C58-NFS-Server data]# rpcinfo -p localhost #检测nfs是否向rpc服务注册成功 program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 946 status 100024 1 tcp 949 status 100011 1 udp 1001 rquotad 100011 2 udp 1001 rquotad 100011 1 tcp 1004 rquotad 100011 2 tcp 1004 rquotad 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100021 1 udp 41616 nlockmgr 100021 3 udp 41616 nlockmgr 100021 4 udp 41616 nlockmgr 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100021 1 tcp 41579 nlockmgr 100021 3 tcp 41579 nlockmgr 100021 4 tcp 41579 nlockmgr 100005 1 udp 605 mountd 100005 1 tcp 608 mountd 100005 2 udp 605 mountd 100005 2 tcp 608 mountd 100005 3 udp 605 mountd 100005 3 tcp 608 mountd #将rpc与nfs的服务启动项加入到/etc/rc.local中,让其开机自启动 [root@C58-NFS-Server data]# echo "#NFS Configure by nowsun" >> /etc/rc.local [root@C58-NFS-Server data]# echo "/etc/init.d/portmap start" >> /etc/rc.local [root@C58-NFS-Server data]# echo "/etc/init.d/nfs start" >> /etc/rc.local [root@C58-NFS-Server data]# cat /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don‘t # want to do the full Sys V style init stuff. touch /var/lock/subsys/local #NFS Configure by nowsun /etc/init.d/portmap start /etc/init.d/nfs start
三、配置nfs的配置文件(/etc/exports)
#配置10.0.0.0/24网段的所用服务器能进行/data目录的读写挂载,sync表示直接与硬盘同步 [root@C58-NFS-Server data]# echo "/data 10.0.0.0/24(rw,sync)" >> /etc/exports #重新加载exports文件,使其所配置的内容生效(无须重启rpc和nfs服务) [root@C58-NFS-Server data]# exportfs -rv exporting 10.0.0.0/24:/data #设置/data目录的属主、属组为nfsnobody(nfsnobody的默认使用的账户) [root@C58-NFS-Server data]# chown -R nfsnobody.nfsnobody /data [root@C58-NFS-Server data]# ll -ld /data drwxr-xr-x 2 nfsnobody nfsnobody 4096 Jan 16 22:59 /data #查看自己共享的目录服务 [root@C58-NFS-Server data]# showmount -e localhost Export list for localhost: /data 10.0.0.0/24
/etc/exports配置文件的说明:
[A:输出目录] [B:客户端1 选项(访问权限,用户映射,其他)] [C:客户端2 选项(访问权限,用户映射,其他)]
A:输出目录
输出目录是指NFS系统中需要共享给客户机使用的目录;
B: 客户端
指定ip地址的主机:192.168.0.200
指定子网中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主机:data.nowsun.net
指定域中的所有主机:*.nowsun.net
所有主机:*
C:选项
用来设置输出目录的访问权限、用户映射等。
NFS主要有3类选项:
访问权限选项:
设置输出目录只读:ro
设置输出目录读写:rw
用户映射选项:
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反; anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其他选项:
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
四、客户端配置
[root@C58-NFS-Client /]# showmount -e 10.0.0.9 Export list for 10.0.0.9: /data 10.0.0.0/24 [root@C58-NFS-Client /]# mount -t nfs 10.0.0.9:/data /mnt [root@C58-NFS-Client /]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/sda3 ext3 5.2G 2.0G 2.9G 41% / /dev/sda1 ext2 190M 8.0M 173M 5% /boot tmpfs tmpfs 123M 0 123M 0% /dev/shm 10.0.0.9:/data nfs 5.2G 2.0G 2.9G 41% /mnt ===》已经挂载成功咯! [root@C58-NFS-Client /]# cd /mnt/ [root@C58-NFS-Client mnt]# touch DataTest [root@C58-NFS-Client mnt]# ll total 4 -rw-r--r-- 1 nfsnobody nfsnobody 0 Jan 16 23:50 DataTest
以上步骤操作完,那NFS的安装与配置就算完成了!~
本文出自 “NowSun” 博客,请务必保留此出处http://nowsun.blog.51cto.com/522159/1427333