NFS部署及优化(一)

简介:

NFS部署及优化(一)


一、NFS的基本概念

NFS == network file system 网络文件系统

必然通过网络通信来实现文件的访问和写入,所以做这个实验的话最好有两台虚拟机

配置:

A:一个192.169.50.201为server端

B:一个192.169.50.200为client端

会有一个server端、一个client端

 #cs这样的通信形式

允许一个系统在网络上与他人共享目录和文件,通过使用NFS,用户和程序可以像访问本地的文件一样,去访问远程的文件,也就是说通过NFS服务,就可以让这台机器访问远程的文件,就好比是访问自己的文件一样!

二、常见问题

比如:我们现在有三台机器,A、B、C 他们需要访问同一个目录,而这个目录中都是图片,传统的做法是分别将这些图片放到A上、B上、C上,如果A上的图片发生了改变,那么需要将这些改变的图片分别同步到B上、C上。显然这样做是非常的繁琐,也比较浪费磁盘空间,更浪费带宽资源。

三、解决办法:

在A上搭建一个NFS服务,把A上的目录同时共享给B和C,B和C将A共享的目录放在自己的本地上,这个动作叫做挂载(跟磁盘挂载一个性质),也就是把A共享的目录挂载到B和C上。

这时候在用户看来,A、B、C同时存在一样的目录,里面的文件也是一样的,我去改动任何一个机器上的该目录下的文件,其他两个服务器都会跟着改动,这个就是NFS的优势。

四、部署NFS

在A机器上


(1)安装nfs和rpcbind包

[root@shiyanji ~]# yum install -y nfs-utils rpcbind

# rpcbind的功能是用来通信的,想要实现server端和client端的通信就必须要有rpcbind

(2)[root@shiyanji ~]# df -h #目的是查看选择下要共享的目录

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              18G  5.0G   12G  30% /

tmpfs                 947M     0  947M   0% /dev/shm

/dev/sda1             190M   29M  152M  16% /boot

/dev/mapper/vg_nfs-lv_nfs

                      985M  1.3M  932M   1% /nfs

实验中,我们要做的共享目录是/nfs。

(3)[root@shiyanji ~]# vim /etc/exports #编辑写入要共享的目录

wKiom1kidJqCiheMAAAjA_kIOuY053.png

/nfs 192.169.50.200(rw,sync) #也可以写一个网段如:192.169.50.0/24 括号里可以写ro只读,rw是可读可写,sync是同步

注意: 在A机器上(server端),编辑的这个文件目的是把自己的目录共享给哪个ip或者网段。

(5)启动rpcbind和nfs服务

[root@shiyanji ~]# /etc/init.d/rpcbind start #启动rpcbind服务

[root@shiyanji ~]# /etc/init.d/nfs start #启动nfs

注意: 重启时注意先后顺序!


在B机子上


(1)安装nfs包

[root@kehuji ~]# yum -y install nfs-utils

(2)显示共享目录

[root@kehuji ~]# showmount -e 192.169.50.201 #这个ip是我们的server服务端

Export list for 192.169.50.201:

/nfs 192.169.50.200  #这个是我们服务端共享的目录和共享给哪台机器ip

(3)挂载

[root@kehuji ~]# mkdir /shiyan

[root@kehuji ~]# mount -t nfs 192.169.50.201:/nfs   /shiyan

[root@kehuji ~]# df -h

Filesystem           Size  Used Avail Use% Mounted on

/dev/sda3             16G  4.9G  9.9G  33% /

tmpfs                504M     0  504M   0% /dev/shm

/dev/sda1            190M   25M  156M  14% /boot

192.169.50.201:/nfs  985M  1.3M  932M   1% /shiyan


权限问题


在B机器上:

[root@kehuji ~]# cd /shiyan

[root@kehuji shiyan]# touch 1.txt

touch: cannot touch `1.txt': Permission denied

#原因是A机器上共享的/nfs目录默认挂载过来是有一个用户的, 必然是/nfs共享目录的权限问题,至少是其他用户不可写!

在A机器上:

[root@shiyanji ~]# ll -d /nfs

drwxr-xr-x 3 root root 4096 Apr 27 07:59 /nfs

#可见共享的这个/nfs目录的权限是755,除了属主外,属组和其他用户的权限是不可写的。

解决办法:

在A机器上:

[root@shiyanji ~]# cd /nfs

[root@shiyanji nfs]# chmod 777 .

[root@shiyanji nfs]# ll -d .

drwxrwxrwx 3 root root 4096 Apr 27 07:59 .

# 将/nfs目录的权限改为777,任何用户可读可写可执行!

在B机器上:

[root@kehuji shiyan]# touch 1.txt

[root@kehuji shiyan]# ll

total 16

-rw-r--r-- 1 nfsnobody nfsnobody     0 Apr 27 08:22 1.txt

drwx------ 2 root      root      16384 Apr 27 07:59 lost+found

# 这个时候看到新建的1.txt的文件属主和属组都是nfsnobody!


这小节遗留问题:这个1.txt的属主和属组是否可以指定呢?下节我们接着讨论。。







     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/1928154,如需转载请自行联系原作者


相关文章
|
2月前
|
存储 Kubernetes 容器
百度搜索:蓝易云【Kubernetes使用helm部署NFS Provisioner】
现在,你已经成功使用Helm部署了NFS Provisioner,并且可以在Kubernetes中创建使用NFS存储的PersistentVolumeClaim。
162 10
|
9月前
|
网络协议 安全 Unix
centos7.9系统部署NFS详细流程—2023.04
centos7.9系统部署NFS详细流程—2023.04
583 0
|
8月前
|
Kubernetes 容器
K8s之部署nfs
K8s之部署nfs
|
10月前
|
缓存 安全 网络协议
部署YUM仓库及NFS共享服务
部署YUM仓库及NFS共享服务
190 0
|
11月前
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
280 1
|
Unix 应用服务中间件 Linux
ansible在web集群中批量部署nfs
ansible在web集群中批量部署nfs
169 0
|
存储 网络协议 Linux
nfs共享存储部署
nfs部署 ​ NFS基于TCP/IP穿件的网络文件系统,NFS服务的实现依赖于RPC(远程调用服务)机制,才能完成远程到本地的映射过程,在centos 系统中,需要安装nfs-utils、rpcbind软件包来提供nfs共享服务,NFS用于共享发布和访问,而RPC用于过程调用。
211 0
nfs共享存储部署
|
弹性计算
Kubernetes----安装部署NFS服务器
Kubernetes----安装部署NFS服务器
262 0
|
网络协议 Unix 应用服务中间件
Centos7部署NFS实战
NFS,是Network File System的简写,即网络文件系统。
248 0
Centos7部署NFS实战