NFS 服务器配置 第15天

NFS 网络文件服务
NFS 即网络文件系统,用于在 Linux 系统间通过网络进行文件共享,用户可以把网络中 NFS 服
务器提供的共享目录挂载到本地文件目录中,可以象对本地文件系统一样操作 NFS 文件系统
中的内容。

安装和启动 NFS 服务
NFS 服务是 Linux 系统内置的功能,一般安装时并不会自动指定开机时启动。因此,可以执
行 ntsysv 命令,设置 nfs 开机时启动 NFS 服务。
# rpm -q portmap
# rpm -qa | grep nfs
[root@php_notes ~]# rpm -q portmap (分配 NFS 端口)
portmap-4.0-65.2.2.1
[root@php_notes ~]# rpm -qa | grep nfs
nfs-utils-1.0.9-44.el5
nfs-utils-lib-1.0.8-7.6.el5
system-config-nfs-1.3.23-1.el5
查看是否安装 NFS 相关组件
# service portmap start
# service nfs start
注意:portmap 一定要优先于 nfs 启动
[root@php_notes ~]# service portmap start
启动 portmap:[确定]
[root@php_notes ~]# service nfs start
启动 NFS 服务: [确定]
关掉 NFS 配额:[确定]
启动 NFS 守护进程:[确定]
启动 NFS mountd:[确定]
检查 RPC 程序是否启动
由于 NFS 是通过 RPC(Remote Procedure Call,远程过程调用)协议来使用远程计算机上的
文件,因此系统中的 RPC 服务必须启动。
# rpcinfo -p
[root@php_notes ~]# rpcinfo -p
程序 版本 协议 端口
100000
2 tcp
111 portmapper
100000
2 udp
111 portmapper
设置共享目录
设置 NFS 服务器共享的目录,则需配置
/etc/exports 文件来控制
exports 格式编写
/sharedirectory
host
(rights)
(host 和(right)之间无空格)
共享目录的绝对路径 客户主机地址
权限
exports 配置举例
/home/ftp/pub *(ro)
表示所有的主机皆可访问此目录,权限为可读(ro)
/home/ftp/pub 192.168.9.100(ro)
只允许 192.168.9.100 主机访问此目录,权限为可读(ro)
/home/ftp/pub 192.168.9.0(rw)
只允许 192.168.9.0 该网段上的主机访问此目录,权限为读写(rw)
[root@php_notes ~]# vi /etc/exports
/usr 192.168.9.90(ro)
/etc
/home 192.168.9.0(ro)
[root@php_notes ~]# service nfs restart
exportfs: No host name given with /home….
启动 NFS 服务: exportfs: No options for /etc : suggest (sync) to avoid warning
[root@php_notes ~]# vi /etc/exports
/usr 192.168.9.90(ro)
/etc *(ro)(如果不写将出现警告信息)
/home 192.168.9.0(ro)
“/etc/exports” 4L, 66C written
[root@php_notes ~]# service nfs restart(此时我警告信息)
配置 NFS 客户端
#mkdir /mnt/share 创建目录挂装点 share
#showmount -e NFS 主机名或 IP 地址
查看 NFS 服务器共享了哪目录
#mount NFS 主机名或 IP 地址:/share/ /mnt/share/
将 NFS 主机上的共享目录,映射到指定位置
#ls /mnt/share 查看新映射的目录
#umount /mnt/share/断开映射目录
[root@php_notes ~]# mkdir /mnt/share
[root@php_notes ~]# mount 192.168.9.90:/etc /mnt/share
[root@php_notes ~]# ls /mnt/share
[root@php_notes ~]# umount /mnt/share 卸载
[root@php_notes ~]# mount 192.168.9.90:/home /mnt/share
mount: 192.168.9.90:/home failed, reason given by server: Permission denied
[root@php_notes ~]# mount 192.168.9.90:/etc /mnt/share
[root@php_notes ~]# df 查看是否挂载成功
192.168.9.7:/etc
5952256 2195200 3449792 39% /mnt/share
[root@php_notes ~]# ls /mnt/share
exportfs 命令
exportfs 命令用于维护当前主机中 NFS 服务器的输出目录列表。
重新输出共享目录
命令格式:exportfs -rv
功能描述
该命令使 NFS 服务器重新读取 exports 文件中的设置,
使用该命令可以在改变 exports 文件
设置后,使在当前 NFS 服务器生效,而不需要重新启动 NFS 服务器。
[root@php_notes ~]# vi /etc/exports
/var(新添加的)
“/etc/exports” 4L, 54C written
[root@php_notes ~]# showmount -e
Export list for php_notes:
/etc *
/usr 192.168.9.90
/home 192.168.9.0
[root@php_notes ~]# exportfs -rv
exporting 192.168.9.0:/home
exporting 192.168.9.90:/usr
exporting *:/etc
exporting *:/var
[root@php_notes ~]# showmount -e
Export list for php_notes:
/var *
/etc *
/usr 192.168.9.90
/home 192.168.9.0
[root@php_notes ~]# showmount -e
Export list for php_notes:
/var *
/etc *
/usr 192.168.9.90
/home 192.168.9.0
开机时自动映射 NFS 目录
开机自动挂载:写入/etc/fstab
vi /etc/fstab
NFS 主机名:/share /mnt/share
nfs
rw
0
0
NFS 目录路径
本机挂装目录 文件系统 权限 是不检查文件系统 检查文件系统顺序
[root@php_notes ~]# vi /etc/fstab(下面的记录是新添加的)
192.168.9.90:/etc
/mnt/share
nfs
ro
0 0
“/etc/fstab” 10L, 726C written
[root@php_notes ~]# reboot
挂载本机的共享目录失败,可能是因为系统启动时挂载文件系统在启动 NFS 服务之前。
还为实验用其他主机挂载本机共享目录,只是本机挂载本机目录。