【Linux网络文件系统--Network File System搭建】

一、NFS简介

NFS是网络文件系统(Network File System)的简称,是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统。

1、设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务);

2、NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享;

3、NFS为C/S架构;

二、NFS应用

1、我的服务器磁盘满了,而我又不能停机添加硬盘或者更换容量更大的服务器,硬盘热插拔服务器除外。

2、配置SSH免密码登录,需要把两台机器的SSH加密串copy到authorzied_keys文件中,例如配置hadoop应用,hadoop允许新添加DataNode节点,如果没有NFS那么各个节点配置SSH免密码登录,两三个节点还好说,万一有一千个节点,今天坏掉一个节点,又新加一个,明天又扩容一个节点,配置SSH免密码真是牵一发而动全身,有了NFS各个节点可以把加密串配置到NFS共享目录中

三、安装软件

    在192.168.1.104上共享一个目录给其他主机使用,因此1.104作为服务器端,需要检查服务器端软件安装情况,并完成软件安装。

1、检查软件是否安装

[root@bogon ~]# rpm -q nfs-utils portmap

nfs-utils-1.2.3-36.el6.i686

package portmap is not installed

2、下载安装portmap

[root@bogon ~]# wget ftp://ftp.pbone.net/mirror/archive.download.redhat.com/pub/redhat/linux/6.1/en/os/i386/RedHat/RPMS/portmap-4.0-17.i386.rpm

Connecting to ftp.pbone.net|85.14.85.4|:21... connected.

Logging in as anonymous ... Logged in!

==> SYST ... done.    ==> PWD ... done.

==> TYPE I ... done.  ==> CWD (1) /mirror/archive.download.redhat.com/pub/redhat/linux/6.1/en/os/i386/RedHat/RPMS ... done.

==> SIZE portmap-4.0-17.i386.rpm ... 30245

==> PASV ... done.    ==> RETR portmap-4.0-17.i386.rpm ... done.

Length: 30245 (30K) (unauthoritative)

100%[======================================>] 30,245      59.1K/s   in 0.5s    

[root@bogon ~]# ls

anaconda-ks.cfg  install.log  install.log.syslog  portmap-4.0-17.i386.rpm

[root@bogon ~]# rpm -ivh portmap-4.0-17.i386.rpm 

Preparing...                ########################################### [100%]

   1:portmap                ########################################### [100%]

[root@bogon ~]#  service portmap start

Starting portmapper: portmap: relocation error: portmap: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

                                                           [FAILED]

[root@bogon ~]# yum install libc.so.6

Loaded plugins: fastestmirror, security

Loading mirror speeds from cached hostfile

 * base: mirrors.163.com

 * extras: mirrors.163.com

 * updates: mirrors.163.com

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package glibc.i686 0:2.12-1.107.el6 will be updated

--> Processing Dependency: glibc = 2.12-1.107.el6 for package: glibc-common-2.12-1.107.el6.i686

---> Package glibc.i686 0:2.12-1.166.el6_7.7 will be an update

--> Running transaction check

---> Package glibc-common.i686 0:2.12-1.107.el6 will be updated

---> Package glibc-common.i686 0:2.12-1.166.el6_7.7 will be an update

--> Finished Dependency Resolution

Complete!

[root@bogon ~]#  service portmap start

Starting portmapper: portmap: relocation error: portmap: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

                                                           [FAILED]

[root@bogon ~]# yum install libc.so.6 libnsl.so.1

Package glibc-2.12-1.166.el6_7.7.i686 already installed and latest version

Package glibc-2.12-1.166.el6_7.7.i686 already installed and latest version

Package glibc-2.12-1.166.el6_7.7.i686 already installed and latest version

Nothing to do

[root@bogon ~]#  service portmap start

Starting portmapper: portmap: relocation error: portmap: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

                                                           [FAILED]

[root@bogon ~]# yum install glibc

Loaded plugins: fastestmirror, security

Complete!

[root@bogon ~]# 

[root@bogon ~]#  service portmap start

Starting portmapper: portmap: relocation error: portmap: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference

                                                           [FAILED]

[root@bogon ~]# reboot

Broadcast message from root@bogon

        (/dev/pts/0) at 4:04 ...

The system is going down for reboot NOW!

[root@bogon ~]# Last login: Fri Feb 26 03:46:42 2016 from 192.168.1.103

[root@bogon ~]# wget ftp://carroll.aset.psu.edu/pub/.mirrors/1/rh-mirror.redhat.com/redhat/linux/5.0/en/os/i386/RedHat/RPMS/portmap-4.0-7.i386.rpm

==> SYST ... done.    ==> PWD ... done.

==> TYPE I ... done.  ==> CWD (1) /mirror/archive.download.redhat.com/pub/redhat/linux/5.0/en/os/i386/RedHat/RPMS ... done.

==> SIZE portmap-4.0-7.i386.rpm ... 23064

==> PASV ... done.    ==> RETR portmap-4.0-7.i386.rpm ... done.

Length: 23064 (23K) (unauthoritative)

100%[=====================================>] 23,064      54.6K/s   in 0.4s    

2016-02-26 04:07:42 (54.6 KB/s) - portmap-4.0-7.i386.rpm saved [23064]

[root@bogon ~]# clear

[root@bogon ~]# ls

anaconda-ks.cfg  install.log  install.log.syslog  portmap-4.0-17.i386.rpm  portmap-4.0-7.i386.rpm

[root@bogon ~]# rpm -q portmap

portmap-4.0-17.i386

[root@bogon ~]# rpm -e portmap-4.0-17.i386

[root@bogon ~]# rpm -ivh portmap-4.0-7.i386.rpm

Preparing...                ########################################### [100%]

   1:portmap                ########################################### [100%]

[root@bogon ~]#  service portmap start

Starting portmapper:                                       [  OK  ]

[root@bogon ~]# 

[root@bogon ~]# rpm -q nfs-utils portmap

nfs-utils-1.2.3-64.el6.i686

portmap-4.0-7.i386

[root@bogon ~]#  service nfs status

rpc.svcgssd is stopped

rpc.mountd is stopped

nfsd is stopped

rpc.rquotad is stopped

[root@bogon ~]#  service nfs start

Starting NFS services:                                     [  OK  ]

Starting NFS quotas:                                       [  OK  ]

Starting NFS mountd:                                       [  OK  ]

Starting NFS daemon:                                       [  OK  ]

[root@bogon ~]#                                            [  OK  ]

四、服务器端配置

把1.104的/opt/share_nfs共享给1.105机器,配置如下:

root@bogon ~]# mkdir /opt/share_nfs

[root@bogon ~]# vi /etc/exports

/opt/share_nfs 192.168.1.105(rw)

[root@bogon ~]# service portmap restart

Stopping portmap services:                                 [FAILED]

Starting portmapper:                                       [  OK  ]

[root@bogon ~]# service nfs restart

Shutting down NFS daemon:                                  [  OK  ]

Shutting down NFS mountd:                                  [  OK  ]

Shutting down NFS quotas:                                  [  OK  ]

Starting NFS services:                                     [  OK  ]

Starting NFS quotas:                                       [  OK  ]

Starting NFS mountd:                                       [  OK  ]

Starting NFS daemon:                                       [  OK  ]

[root@bogon ~]# exportfs                                   [  OK  ]

/opt/share_nfs  192.168.1.105

[root@bogon ~]# 

[root@bogon ~]# service portmap restart

Stopping portmap services:                                 [FAILED]

Starting portmapper:                                       [  OK  ]

[root@bogon ~]# service nfs restart

Shutting down NFS daemon:                                  [  OK  ]

Shutting down NFS mountd:                                  [  OK  ]

Shutting down NFS quotas:                                  [  OK  ]

Starting NFS services:                                     [  OK  ]

Starting NFS quotas:                                       [  OK  ]

Starting NFS mountd:                                       [  OK  ]

Starting NFS daemon:                                       [  OK  ]

[root@bogon ~]# exportfs                                   [  OK  ]

/opt/share_nfs  192.168.1.105

五、客户端配置以及验证

[root@bogon ~]#  showmount -e 192.168.1.104

Export list for 192.168.1.104:

/opt/share_nfs 192.168.1.105

[root@bogon ~]# cd /m

media/ misc/  mnt/   

[root@bogon ~]# mount 192.168.1.104:/opt/share_nfs  /mnt/ 

[root@bogon ~]# echo "gaojingsong write nfslog in 1.105" >/mnt/test.log

-bash: /mnt/test.log: Permission denied(解决方案,修改服务器目录权限)

[root@bogon ~]# echo "gaojingsong write nfslog in 1.105" >/mnt/test.log

[root@bogon ~]# cat /mnt/test.log

gaojingsong write nfslog in 1.105

[root@bogon ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:10:37:75  

          inet addr:192.168.1.105  Bcast:192.168.1.255  Mask:255.255.255.0

错误解决方案:

1、客服端Permission denied(解决方案,修改1.104服务器目录权限)

[root@bogon ~]# chmod 777 -R  /opt/share_nfs

[root@bogon ~]# cd /opt/share_nfs

[root@bogon share_nfs]# ls -l

total 4

-rw-r--r--. 1 nfsnobody nfsnobody 34 Feb 26 04:21 test.log

[root@bogon share_nfs]# cat test.log 

gaojingsong write nfslog in 1.105

[root@bogon share_nfs]# hostname -i

hostname: Unknown host

[root@bogon share_nfs]# ifconfig

eth1      Link encap:Ethernet  HWaddr 00:0C:29:2B:F8:93  

          inet addr:192.168.1.104  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe2b:f893/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:956 errors:0 dropped:0 overruns:0 frame:0

          TX packets:745 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000 

          RX bytes:127238 (124.2 KiB)  TX bytes:91020 (88.8 KiB)

          Interrupt:19 Base address:0x2000 

2、服务器端安装portmap 软件后重启报错

[root@bogon ~]#  service portmap start

Starting portmapper: portmap: relocation error: portmap: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference[FAILED]

解决方案:检查portmap 是否对应支持相应的操作系统

猜你喜欢

转载自gaojingsong.iteye.com/blog/2278941