nothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothingnothing
2011年(14)
分类: LINUX
2011-11-01 23:00:42
实验环境:
操作系统:CentOS 5.4
共享文件:ISO镜像文件一个
什么是NFS
NFS是网络文件系统的简写(network file system),主要用在linux或unix环境中,是由sun公司开发,并于1984年推出的一个RPC服务系统。
NFS有什么作用
它可以将多个目录或者单个目录进行发布,例如我们在网络中安装系统的时候可以用NFS来共享光盘镜像,NFS是以发布目录的方式将文件进行发布,而客户端是以挂载的方式进行访问。客户端可以节省本地空间,将数据存放在nfs服务器上。NFS也可以针对但个用户以及多用户设置不同的访问权限
NFS服务器端配置
NFS的配置相对于其他服务是比较简单的,我们依然还是要注意防火墙以及SElinux
安装NFS必须要开启的服务有:nfs、portmap
1、检查软件是否已安装
# rpm -qa | grep nfs
nfs-utils-1.0.9-42.el5
nfs-utils-lib-1.0.8-7.6.el5
# rpm -qa | grep portmap
portmap-4.0-65.2.2.1
从上面看到默认已经安装了,如果没有安装,可以执行下面的命令安装
#rpm -ivh nfs*
#rpm -ivh portmap*
2、例如:机房有多台服务器,而其中只有一台服务器有光驱,而我们其他的计算机也想安装光盘上的软件,现在我们就可以用NFS来实现。例如我们的服务器光驱挂载在/media上,接下来我们来编辑配置文件来实现以上的功能
nfs的配置文件是/etc/exports, 我们打开它进行编辑
#vi /etc/exports
/media *(ro)
这里编辑两个字段:/media为共享目录,*(ro)为哪些人可以访问以及访问权限,*代表所有人,(ro)为只读权限。
3、启动服务
# service portmap start
# service nfs start
4、添加开机自动启动
#chkconfig --level 2345 portmap on
#chkconfig --level 2345 nfs on
5、测试:
使用exportfs命令查询输出的目录
#exportfs
/mnt
客户端配置
1、查看服务器上共享的nfs目录
我们可以在服务器端或客户端使用showmount --export 192.168.0.2 查看NFS服务器所发布的目录
# showmount --export 192.168.0.2
Export list for 192.168.0.2:
/mnt *
2、挂载
可以使用mount临时挂载nfs共享目录
# mount -t nfs 192.168.0.2:/mnt /mnt/
也可以写入fstab中,永久挂载
#vi /etc/fstab
192.168.0.2:/mnt /mnt nfs defaults 0 0
#mount -a
3、查看挂载在本地的nfs共享目录
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
19G 3.4G 15G 19% /
/dev/sda1 99M 12M 82M 13% /boot
tmpfs 62M 0 62M 0% /dev/shm
192.168.0.2:/mnt 3.8G 3.8G 0 100% /mnt
然后我们就可以访问光盘目录了
一些相关共享权限
* :指所有的客户机都可以挂载此目录
ro 客户端为只读权限
rw 客户端为读写权限
sync:同步磁盘(async:资料先暂存在内存中,而非直接写入硬盘)
root_sqush 客户端使用root访问时映射为nobady (默认选项)
no_root_squash 登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用
其它的示例:
例如还可以编辑/etc/exports为:
/tmp *(rw,sync,root_squash)
/home/public 192.168.0.*(rw,sync) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)