菜鸟学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

相关文章
|
1月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
22 2
linux笔记 diff及patch的制作与使用
|
24天前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
30 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
29天前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?
|
1月前
|
网络协议 Ubuntu Linux
在Linux中,如何使用NFS和Samba共享文件和目录?
在Linux中,如何使用NFS和Samba共享文件和目录?
|
1月前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作
|
1月前
|
数据采集 Linux
Linux源码阅读笔记20-PCI设备驱动详解
Linux源码阅读笔记20-PCI设备驱动详解
|
1月前
|
Linux
Linux源码阅读笔记19-插入删除模块实战
Linux源码阅读笔记19-插入删除模块实战
|
27天前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
29天前
|
Ubuntu Linux 网络安全
在Linux中,如何配置Samba或NFS文件共享?
在Linux中,如何配置Samba或NFS文件共享?
|
1月前
|
Ubuntu Linux Shell
【linux】PetaLinux 2024.1安装笔记
【linux】PetaLinux 2024.1安装笔记
78 0