实验环境:
操作系统: CentOS release 6.8 (Final)
虚拟机:VMware Workstation 10.0.1build-1379776
实战任务: 安装配置NFS服务
服务器端:192.168.222.129
客户端1:192.168.222.130
客户端2:192.168.222.135
NFS概述:NFS(NetworkFile System)即网络文件系统,是Linux支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS使用的优势:
1.节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
2.用户不需要在网络中的每个机器上都建有例似Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
3.一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
NFS的组成:NFS体系至少有两个主要部分:
1.客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。
2.在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数。
NFS服务器端配置:
[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# mkdir -p /data/skyboy #建立共享目录
[root@localhost ~]# vi /etc/exports #配置共享目录
/data/skyboy/ 192.168.222.0/24(rw,no_root_squalsh,no_all_squash,sync)
[root@localhost ~]# service rpcbind start
正在启动 rpcbind: [确定]
[root@localhost ~]# service nfs start
[root@localhost ~]# vi /etc/sysconfig/nfs #打开端口
# Port rpc.mountd shouldlisten on.
MOUNTD_PORT=892 #把前面的#号去掉
# Port rquotad should listenon.
RQUOTAD_PORT=875 #把前面的#号去掉
# TCP port rpc.lockd shouldlisten on.
LOCKD_TCPPORT=32803 #把前面的#号去掉
# UDP port rpc.lockd shouldlisten on.
LOCKD_UDPPORT=32769 #把前面的#号去掉
这些端口是配置文件默认的,是可以自行修改增加需要的端口号,然后保存配置文件。
[root@localhost ~]# rpcinfo –p #查看启用的端口情况
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 892 mountd
100005 1 tcp 892 mountd
100005 2 udp 892 mountd
100005 2 tcp 892 mountd
100005 3 udp 892 mountd
100005 3 tcp 892 mountd
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049 nfs_acl
100227 3 tcp 2049 nfs_acl
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049 nfs_acl
100227 3 udp 2049 nfs_acl
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
[root@localhost ~]# vi /etc/sysconfig/iptables #充许防火墙通过的端口
-A INPUT -m state --state NEW -m tcp -p tcp--dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 892 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 32769 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp--dport 32803 -j ACCEPT
[root@localhost ~]# /etc/init.d/iptables restart
[root@localhost ~]# chkconfig --level 2345 rpcbind on #服务随系统自动启动
[root@localhost~]# chkconfig --level 2345 nfs on #服务随系统自动启动
NFS客户端配置:
[root@localhost/]# showmount
-bash:nf: command not found
[root@localhost/]# yum install showmount -y
NFS注意事项:
1.老版本采用portmap,新版本采用rpcbind;
2.防火墙的相关端口要打开;
3.下载rpcbind软件地址:https://pkgs.org/download/portmap
4.客户机启动就自动挂载服务器的共享目录,则需修改客户机上的/etc/fstab文件
/etc/fstab格式:(192.168.222.129:/data/skyboy /mnt nfs defaults 0 0)
Fs_spec fs_file fs_type fs_options fs_dump fs_pass
Fs_spec:定义希望加载的文件系统所在的设备或远程文件系统,对于nfs则设为IP:/共享目录
Fs_file:本地挂载点
Fs_type:挂载类型
Fs_options:挂载参数
Fs_dump:该选项被“dump”命令使用来检查一个文件系统该以多快频率进行转储,若不需转储即为0
Fs_pass:该字段被fsck命令使用来决定在启动时需要被扫描的文件系统的顺序,根文件系统“/”对应该字段值为1,其他文件系统为2,若该文件系统无需在启动时被扫描则为0配置客户端自动挂载服务器共享目录方式:
[root@localhost ~]# vi /etc/fstab
tmpfs /dev/shm tmpfs defaults 00
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
192.168.222.129:/data/skyboy /mnt nfs defaults 0 0
#最后一行是我添加的:
测试情况:
NFS服务器:192.168.222.129 注意:服务器的NFS和rpcbind服务要启动
客户端1:192.168.222.130 注意:配置fstab,自动挂载共享服务目录
客户端2:192.168.222.135 注意:配置fstab,自动挂载共享服务目录
服务器端:192.168.222.129
[root@localhost ~]# /etc/init.d/rpcbind status
rpcbind (pid 1274) 正在运行...
[root@localhost ~]# /etc/init.d/nfs status
rpc.mountd (pid 1399) 正在运行...
nfsd (pid 1415 1414 1413 1412 1411 1410 1409 1408) 正在运行...
客户端:192.168.222.130
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 15G 2.0G 13G 14% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 190M 56M 125M 31% /boot
192.168.222.129:/data/skyboy
18G 2.7G 14G 17% /mnt
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ll
总用量 4
-rw-r--r--. 1 root root 0 6月 18 02:37 as
-rw-r--r--. 1 root root 202 6月 18 02:33 mtab
-rw-r--r--. 1 root root 0 6月 18 02:37 saf
-rwxrwxrwx. 1 root root 0 6月 18 02:12 test
-rwxrwxrwx. 1 root root 0 6月 18 02:12 text.txt
客户端:192.168.222.130
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 4.8G 12G 30% /
tmpfs 504M 88K 504M 1% /dev/shm
/dev/sda1 477M 54M 398M 12% /boot
192.168.222.129:/data/skyboy
18G 2.7G 14G 17% /mnt #服务器的共享目录,挂载到客户端的/mnt下
[root@localhost ~]# cd /mnt
[root@localhost mnt]# ll
总用量 4
-rw-r--r--. 1 root root 0 6月 18 02:37 as
-rw-r--r--. 1 root root 202 6月 18 02:33 mtab
-rw-r--r--. 1 root root 0 6月 18 02:37 saf
-rwxrwxrwx. 1 root root 0 6月 18 02:12 test
-rwxrwxrwx. 1 root root 0 6月 18 02:12 text.txt
两个客户端的内容都是同步NFS服务器。