一、NFS的介绍
1、什么是NFS
NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC:远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。
NFS服务器可以看作是一个FILE SERVER。它可以让你的机器(客户端)通过网络将远端的NFS SERVER共享目录MOUNT到自己的系统中。
在客户端看来使用NFS的远端文件就象是在使用本地文件一样。
2、NFS守护进程
nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端登录到NFS服务器后,必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。 exports里边有默认的格式,但他是空白的
portmap:主要功能是进行端口映射工作。
3、NFS服务器的配置
1) 需要的包:一般都缺省安装好了,如果需要可从镜像文件中安装。
2) NFS的相关配置文件和命令
/etc/exports NFS服务的主要配置文件
/usr/sbin/exportfs NFS服务的管理命令
/usr/sbin/showmount 查看命令
3) /etc/exports文件内容格式:
<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
系统并没有默认值,这个文件不一定会存在,可能要手动建立,然后在文件里面写入配置内容。
如:将NFS Server的/soft共享给192.168.3.0/24网段,权限为读写。
# vi /etc/exports
/soft 192.168.3.0/24(rw) 访问权限
二、搭建一个NFS服务
1、准备环境
复制第二台虚机作为NFS客户端,命名vbox_c,主机名改为cuug_c,IP改为192.168.3.99
复制虚机要正常关闭第一台虚机
启动vbox_c虚机, 主控台下修改三个网络配置文件
#vi /etc/sysconfig/network
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
#vi /etc/hosts
网卡配置文件由于重置了MAC,virtualbox 把原来的eth0做了一个备份eth0.bak
然后新建了eth0网卡,但是ip缺省是dhcp的,需要简单修改一下
- vi ifcfg-eth0.bak 更改的IP地址和MAC地址(更改为重置后的MAC)
- mv ifcfg-eth0.bak ifcfg eth0 把eth0.bak变成eth0
- service network restart 重启网络
- Ifconfig 检查网络
2、配置并测试NFS
节点cuug
[root@cuug ~]# service portmap status 默认是启动的,否则启动它
portmap (pid 1843) 正在运行...
[root@cuug ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
Stopping RPC idmapd: [ OK ]
Starting RPC idmapd: [ OK ]
NFS服务主要包括两块1)RPC服务,2)portmap服务
由于NFS服务本身不提供文件传输功能,我们要远程使用NFS文件系统就需要RPC服务的支持;而portmap服务就是用来为RPC服务进行动态端口分配和映射的,所以portmap服务也是NFS服务所必须的。
[root@cuug ~]# vi /etc/exports
/soft 192.168.3.0/24(rw)
[root@cuug /]# exportfs -av 扫描/etc/exports文件
exporting 192.168.3.0/24:/soft
[root@cuug ~]# mkdir /soft
[root@cuug ~]# touch /soft/abc
[root@cuug ~]# chmod -R 777 /soft /soft这个目录准备共享了,里面有点文件更好
[root@cuug ~]# showmount -a 查看那些客户端mount了自己,现在还没有。
节点cuug_s
[root@cuug_s ~]# service portmap status 默认是启动的,否则启动它
[root@cuug_s ~]# showmount -e 192.168.3.88
Export list for 192.168.3.88:
/soft 192.168.3.0/24
[root@cuug_s ~]# mkdir /soft 客户端建立一个本地挂载点
[root@cuug_s ~]# mount 192.168.3.88:/soft /soft
[root@cuug_s ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda2 28337624 4920976 21953932 19% /
/dev/sda1 101086 11528 84339 13% /boot
tmpfs 1037508 0 1037508 0% /dev/shm
192.168.3.88:/soft 28337664 4920832 21954048 19% /soft
[root@cuug_s ~]# ls -al /soft
总计 296
drwxr-xr-x 2 root root 4096 12-01 15:00 .
drwxr-xr-x 26 root root 4096 12-03 10:42 ..
-rw-r--r-- 1 root root 184037 12-01 14:06 rlwrap-0.30.tar.gz
-rw-r--r-- 1 root root 95310 12-01 14:06 rlwrap-0.41-1.el5.i386.rpm
NFS测试完毕
- 自动启动服务端NFS和客户端自动挂载目录(可选)
节点cuug
服务器端配置
[root@cuug ~]# chkconfig --list nfs
[root@cuug ~]# chkconfig nfs on
节点cuug_s
客户端配置
[root@cuug ~]# vi /etc/fstab
最后一行追加:192.168.3.88:/soft /soft nfs defaults 0 0
/soft为客户端的mount点,类型为nfs