NFS共享存储

Posted kiroct

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS共享存储相关的知识,希望对你有一定的参考价值。

NFS共享存储服务

a、NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,且数据在网络上的明文传输,所以安全性很差,一般只在局域网中使用

b、NFS服务的实现依赖于RPC机制,已完成远程到本地的映射过程。所以需要安装nfs-utils、rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC的支持

NFS原理:

NFS的配置文件

配置文件位置:/etc/exports

格式为:

共享目录位置 客户机地址 (权限选择)

在文件服务器使用NFS发布共享资源的步骤(文本)

1、安装nfs-utils、rpcbind软件包

yum -y install nfs-utils rpcbind

2、设置共享目录

mkdir -p /opt/wwwroot

chmod 777 /opt/wwwroot


vim /etc/exports
格式为:共享目录位置 客户机地址 (权限选择)


/opt/wwwroot 192.168.80.0/24 (rw, sync,no root squash)

/var/ftp/pub 192.168.4.11(ro) 192.168.4.110 (rw)

/share * (rw, sync)


!!注意要点:权限位选项

客户机地址可以是主机名、IP地址、网段地址,允许使用“*” “?”通配符号

“ rw ”表示允许读写,“ro”表示只读

sync:表示用不写到内存与硬盘当中

no_root_squash : 表示当客户机以root身份访问时赋予本地root权限

root_ squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
其他常用选项:

all_squash :所有访问用户都映射为匿名用户或者用户组

async:将数据先保存在内存缓冲区中,必要时才写入磁盘

subtree_check (默认) :若输出目录是一-个子目录,则nfs服 务器将检查其父目录的权限。

no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

anonuid=xxx : 指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx :指定NFS服务器/etc/passwd文件中匿名用户的GID

(ps:xxx指的是可以指定特定用户)

3、启动NFS程序服务

手动添加NFS共享服务时,应先启动rpcbind。再启动nfs

systemctl start rpcbind

systemctl start nfs

systemctl enable rpcbind

systemctl enable nfs

netstat -napt | grep rpcbind ;查看rpcbind默认使用

4、查看本机发布的NFS共享目录

exportfs -rv ;发布共享

showmount -e

5、去客户端挂载相应的目录。完成!

实验:使用NFS服务

(环境:NFS主机206.3,客机206.6)
1、先配置主机
首先去安装安装nfs-utils、rpcbind软件包



然后我们准备共享库设置在/opt/123目录中,并赋予相应的权限,我这里就直接777最高权限了

2、我们去/etc/exports中去添加规则。()中的是添加的权限,这里选择的是可读可写,同时写入磁盘和内存,root用户不隐藏。此外,我这边选择的是这个206.0网段的用户都可以使用这个NFS服务

3、完成保存退出,我们先去开启nfs、rpcbind服务,再去关闭防火墙

补充:我们可以通过端口查看是否已经运行服务。111是rpcbind,接着nfs是2049端口

exportfs -rv ;是用来查看本NFS共享服务器发布了哪些目录和地址

3、接下来是客机的配置,首先是确保自己的客处于可以分享的网段中。其次,是安装rpcbind服务。
随后我们打开rpcbind服务

4、我们在客机中使用showmount -e 192.168.206.3 。206.3是NFS服务的服务器IP地址
随后可以获得以下共享的目录

5、我们创建一个跟目录的/myshare目录,用于挂载NFS服务。我们使用mount 192.168.206.3:/opt/123 /myshare进行挂载
ps:206.3是NFS服务器的ip,/opt/123是服务器的共享目录所在位置,/mysgare是我这台客机准备存放NFS共享目录所在的挂载点位置
6、验证,我们客机去myshare目录创建任意一个文件,然后去NFS服务器,可以发现也出现了这个共享的文件夹

实验拓展:

1、我们可以在网段设置下,再进行设置单个指定的目标客机IP,可以做到限制特定用户上传、下载的权限目的

2、客机我们可以选择进行自动挂载
首先是vim /etc/fstab

进去后我们使用如下配置进行设置,其中"_netdev是表示需要使用网络设备"


完成后退出,记得mount -a!!!

补充:如果挂载后因事故出现卡顿,可以使用强制解挂
umount -lf /dev/xxx /xxxx

综合实验:利用NFS分享LVM设备,使得客户端可以利用root权限在共享目录中读写

需求:


实验环境:192.168.206.0网段
主机:做LVM、NFS、IP是206.3
客机:IP是206.6
1、我们先来做主机。
加两块盘。进行分区,t的值为8e
echo "n

t
8e
w" | fdisk /dev/sdb
以及
echo "n

t
8e
w" | fdisk /dev/sdc
2、我们进行LVM的构建,卷组abc,逻辑卷001

随后我们根目录创建data文件,把lvm挂载进去


3、接着我们用yum仓库安装rpcbind、nfs-utils。完成后我们vim /etc/exports,进入如下修改

保存后退出
4、关闭防火墙,打开rpcbind、nfs-utils服务,再使用exportfs -rv查看我们的NFS共享目录的地址与网址


5、下面我们去客机操作,首先是yum仓库安装rpcbind服务,然后我们showmount -e 192.168.206.3 。确定NFS共享目录。206.3是NFS服务器的

6、我们对客机使用自动挂载
vim /etc/fstab

如图所示添加这配置
7、保存退出后mount -a 检查,然后df -h 检查挂载完毕

8、我们在客机使用root用户随便创了一个txt文件,然后去主机查看,发现可以看到,并且创作者和组是客机的root

以上是关于NFS共享存储的主要内容,如果未能解决你的问题,请参考以下文章

NFS共享存储

3-NFS-共享存储

NFS共享存储

NFS共享存储服务

NFS共享存储

NFS共享存储服务