菜鸟学Linux 第065篇笔记 nfs

简介:

菜鸟学Linux 第065篇笔记 nfs




NFS (Network File System)

是一个可以将远端的计算机硬盘挂载到本地来进行使用,让本地的计算机可以使用远程

计算机所提供的硬盘,而且和在操作本地硬盘所使用的命令相同,没有区别 (个人解释)


它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 (官方解释)




LPC (Local Procedure Call)


RPC (Remote Procedure Call)

Linux 提供rpc服务的程序: portmap 111/tcp and udp

一种编程技术(协议),简化分布式应用程序的开发、

可以将底层网络之间数据报文封装传送,隐藏,在上层表现为和本地的调用一样

实现数据交换可以基于二进制格式,也可文本格式(xmlRPC) --> 

SOAP(Simple Object Access Protocol)



NFS: Sun公司开发

NFSv1 公司内部使用

NFSv2 公开

NFSv3 流行

NFSv4 最新

NFS 只可以Unix/Linux之间数据通信



NFS实现

NFS Server端软件包

nfs-utils

yum install nfs-utils (默认已经安装)

# service nfs start


会启动三个主进程

nfsd(nfs服务) , mountd(挂载), quotad(配额)

nfsd 2049/tcp 2049/udp 

mountd 会变换

quotad 会变换

半随机的端口 由于随机所以可能会占用其它应用程序的端口

 想要固定需要配置





确保nfs server端 portmap已经启动

此软件为RPC的实现  (Remote Proceduer Call)

# service protmap status

工作端口   111/tcp 111/udp


rpcinfo -p 来查看一台主机上所有rpc的进程所监听的端口号




nfs配置文件/etc/exports

/path/to/some-dir CLIENT_LIST 

多个客户端之间使用空白字符分隔


每个客户端后必须跟一个小括号,里面定义了此客户端访问特性,如访问权限等

如 192.168.11.0/24(ro,async) 192.168.1.0/24(rw,sync)


访问属性

ro

rw

sync

async

root_squash 将root用户映射为来宾账号

no_root_squash

all_squash

anonuid, anongid 指定映射的来客账号UID和GID


如共享/shared目录

/shared  192.168.11.0/16(ro)

重启nfs

# service nfs restart


showmount -e NFS_SERVER 查看nfs服务器“导出”的各文件系统

showmount -e 192.168.11.122

showmount -a NFS_SERVER 查看nfs服务器所有被挂载的文件系统和客户端的对应列表

showmount -d NFS_SERVER 只显示被客户端挂载的



export命令 用来实现不中断nsf服务加载配置

-a  跟-r或-u选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统

-r  重新导出

-u  取消导出

-v  显示详细信息



让mountd 和 quotad 等进程监听在固定端口,编辑配置文件/etc/sysconfig/nfs

#MOUNTD_PORT=892

#RQUOTAD_PORT=875

#LOCKD_TCPPORT=32803

#LOCKD_UDPPORT=32769

将如上所述选项开启即可实现mountd quotad进程端口固定



客户端挂载服务器的目录


mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT /path/to/somewhere

_rnetdev 可以使系统开机是挂载nfs文件系统无法挂载时自动跳过




实现nfs服务步骤


nsf服务器端配置(ip 192.168.11.122)

1.安装nfs-utils

# yum install nfs-utils -y

# service nfs start

# chkconfig nfs on

# service portmap restart



2.创建要共享给其它客户端的访问的目录

# mkdir /shared

# useradd -u 1100 nfsuser

# chown -R nfsuser.nfsuser /shared/



3.编辑配置文件/etc/exports 使其共享给特定的客户端

# vim /etc/exports

/shared  192.168.11.0/24(ro,async,all_squash,anonuid=1100,anongid=1100)

# showmount -e 192.168.11.122

# exportfs -ar


(此时nfs服务器便配置好了,注意我这里的权限设置的小,如有其它需求可以自行配置)



客户端配置挂载服务器端的nfs文件系统 (ip 192.168.11.122)

# showmount -e 192.168.11.123

# mount -t nfs 192.168.11.123:/shared /mnt


(至此我的客户端便可以访问服务器端/shared目录下的文件,至于权限就归服务器端来定)


简单的nfs服务已经配置完成




下面给一个题目

实现两台主机共为一个网站进行服务

细节:1.如建立一个网站www.mysky.com 里边是一个论坛网站 

  2.在DNS服务器上分别指向这两台主机

  3.而这两台主机都可响应此请求


实现方式

1.建立两台lamp

2.建立nfs 使一台server端已经建设好该论坛网站

  并将网站的目录做共享

  然后客户端进行访问

3.mysql 要指向主服务器的mysql

就是说要给客户端配置访问mysql的权限


(个人有一个小疑问共享目录都做了,如何在安装论坛网站时使其主配置文件不一样呢)

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1887852如需转载请自行联系原作者


Winthcloud

相关文章
|
2天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
17 0
|
3天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
1月前
|
算法 Linux
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
|
2天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
12 0
|
19天前
|
Linux API C语言
FFmpeg开发笔记(一)搭建Linux系统的开发环境
本文指导初学者如何在Linux上搭建FFmpeg开发环境。首先,由于FFmpeg依赖第三方库,可以免去编译源码的复杂过程,直接安装预编译的FFmpeg动态库。推荐网站<https://github.com/BtbN/FFmpeg-Builds/releases>提供适用于不同系统的FFmpeg包。但在安装前,需确保系统有不低于2.22版本的glibc库。详细步骤包括下载glibc-2.23源码,配置、编译和安装。接着,下载Linux版FFmpeg安装包,解压至/usr/local/ffmpeg,并设置环境变量。最后编写和编译简单的C或C++测试程序验证FFmpeg环境是否正确配置。
37 8
FFmpeg开发笔记(一)搭建Linux系统的开发环境
|
1月前
|
Linux 网络安全
Linux NFS协议详解
Linux NFS协议详解
32 5
|
1月前
|
Linux 网络安全 开发工具
【Linux笔记】常用的Linux的指令
【Linux笔记】常用的Linux的指令
|
2月前
|
Linux 数据安全/隐私保护 Android开发
10 个最佳 Linux 开源笔记软件
10 个最佳 Linux 开源笔记软件
116 1
|
9月前
|
运维 Kubernetes Unix
【运维】Linux/Ec2挂载卷与NFS搭建实站讲解
英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS在实际场景中有着不少的应用场景,比如分布式代码部署下,代码一致性的同步方案,K8S多容器内外挂载等情况,今天就来具体讲解一下怎么实现。