一、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 是否对应支持相应的操作系统
相关推荐
本文档主要介绍了 Linux 下如何搭建 NFS(Network File System)和 Ramdisk 文件系统,旨在帮助开发者快速了解并搭建这两种文件系统。 1. Linux 建立文件系统 Linux 文件系统是指操作系统用于存储和管理文件的机制...
NFS(Network File System,网络文件系统)是一种允许多个客户端共享同一个文件系统的协议。在 Linux 系统下,我们可以使用 NFS 服务来共享文件系统。 NFS 服务搭建: 1. 安装 NFS 软件:使用 apt-get 或 yum 等包...
在Linux环境中,搭建NFS(Network File System)和RAMDisk文件系统对于开发和测试工作至关重要。NFS是一种允许一个系统(称为服务器)通过网络共享其文件系统给其他系统(称为客户端)的技术。而RAMDisk则是利用内存...
本教程将介绍如何利用QEMU(Quick Emulator)搭建一个基于U-boot和Linux的NFS(Network File System)开发环境。QEMU是一款开源的全系统模拟器,它允许我们在主机上运行各种不同的客体操作系统,而无需物理硬件。NFS...
本篇文章旨在探讨如何在TI-Davinci DM6446开发平台上实现网络文件系统(Network File System, NFS)的搭建与测试。TI-Davinci DM6446是一款由美国德州仪器(Texas Instruments)生产的高性能开发平台,它集成了DSP(数字...
NFS(Network File System)的主要功能是允许远程主机挂载和访问本地文件系统,实现文件共享。NFS 服务器端的配置非常简单,只需要创建或修改/etc/exports文件,列出想要共享的文件夹和客户名列表,以及访问选项。 ...
- **定义**:NFS(Network File System,网络文件系统)是一种分布式文件系统协议,最初由Sun Microsystems开发,主要用于Unix/Linux系统之间进行文件共享。 - **工作原理**:NFS允许一个系统在网络上共享目录和文件...
Linux搭建NFS(Network File System)和RAMDisk文件系统是为了解决分布式系统中的文件共享和临时高速存储需求。NFS是一种广泛使用的网络文件系统,它允许用户通过网络访问远程计算机上的文件,就像它们在本地系统上...
Linux操作系统中,Network File System(NFS)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录...
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就...
而`nfs`(Network File System)则允许远程设备挂载并访问宿主机的文件系统,这对于开发和调试非常方便。 总的来说,搭建嵌入式Linux系统是一个涉及硬件适配、软件选型、编译配置和网络服务等多个层面的综合工程。...
记住,这个过程需要对Linux网络服务、文件系统和脚本编写有一定的理解。同时,了解DHCP、TFTP、HTTP/NFS等相关协议也是至关重要的。在实际操作中,你可能会遇到各种问题,但随着经验的积累,你会变得更加熟练。
NFS(Network File System)是一种文件共享协议,允许不同的机器和操作系统之间共享文件。NFS 文件系统可以让应用程序的开发变得非常方便,并且不需要反复地进行烧写映像文件。在嵌入式开发中,NFS 服务端通常在宿主...
为了实现远程访问和共享资源,开发者经常使用NFS(Network File System),这是一种允许不同操作系统之间通过网络共享文件系统的协议。本文将深入探讨如何在ARM9 2410平台上搭建NFS服务。 **一、NFS概述** NFS是由...
Linux系统提供了丰富的服务,包括SSH(Secure Shell)用于远程登录,HTTPD(Apache HTTP Server)用于网页服务器,FTP(File Transfer Protocol)用于文件传输,DNS(Domain Name System)用于域名解析,NTP...
NFS(Network File System)作为一款成熟的网络文件系统协议,提供了在异构网络环境中无缝访问远程文件的能力。本文将详细介绍如何利用Microsoft的Services for Unix(SFU)在Windows环境下搭建NFS共享目录,以满足...
本文档旨在总结如何在Linux环境下挂载NFS(Network File System)系统的过程。NFS是一种网络文件系统协议,它允许用户通过网络访问远程主机上的文件就像访问本地文件一样方便。本案例使用的是Ubuntu 10.04版本的操作...