Linux YUM扩展NFS共享存储服务(配置图解)

一、YUM

1.YUM (Yellow dog Updater Modified)

  • 基于RPM包构建的软件更新机制
  • 可以自动解决依赖关系
  • 所有软件包由集中的YUM软件仓提供

2.软件仓库的提供方法

  • FTP服务: ftp://…
  • HTTP服务: http://…
  • 本地目录: file://…

3.RPM软件包的来源

  • CentOS发布的RPM包集合
  • 第三方组织发布的RPM包集合
  • 用户自定义的RPM包集合

4.构建CentOS 7 软件仓库

  • RPM包来自CentOS 7 DVD光盘
  • 通过FTP方式提供给客户机 (安装并启用vsftpd服务)
mkdir -p /var/ftp/CentOS7
cp -rf /dev/cdrom/*  /var/ftp/CentOS7

rpm -ivh /dev/cdrom/Packages/vsftp-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
systemctl enabled vsftpd

5.在软件仓库中加入非官方RPM包组

  • 包括存在依赖关系的所有其他RPM包
  • 需使用createrepo工具建立repodata 数据文件仓库
mkdir -p  /var/ftp/other
cd /var/ftp/other                #非官方的RPM要先放入该目录下
createrepo -g /dev/cdrom/repodata/repomd.xml ./

6.访问YUM仓库

  • 为客户机指定YUM仓库位置
  • 配置文件位置: /etc/yum.repos.d/centos7.repo
vim /etc/yum.repos.d/centos7.repo
[base]        
name=CentOS7.3   
baseurl=ftp:///192.168.4.254/CentOS7    
enabled=1     
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7      #软件校验公钥
[other]
name=Other RPM Packages
baseurl=ftp:///192.168.4.254/other
enabled=1
gpgcheck=0

7.YUM工具概述

■关于YUM命令

  • 由软件包yum-3.4.3-150.el7.centos.noarch提供
  • 用来访问YUM仓库,查询,下载及安装,卸载软件包
    ■YUM的配置文件
  • 基本设置:/etc/yum.conf
  • 仓库设置:/etc/yum.repos.d/*.repo
  • 日志文件:/var/log/yum.log

二、NFS共享存储服务

1.NFS定义

  • NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
  • 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
  • NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于NFS 共享发布和访问,后者用于RPC 支持。

2.NFS服务的配置文件

NFS 的配置文件为/etc/exports
格式为:

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

三、NFS服务配置演示

1.在文件服务器中使用 NFS 发布共享资源

安装 nfs-utils、rpcbind 软件包

rpm -q rpcbind nfs-utils 
yum -y install nfs-utils rpcbind

在这里插入图片描述

设置共享目录

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)

客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、 “?”通配符。
“rw” 表示允许读写,“ro” 表示为只读。
sync :表示同步写入到内存与硬盘中。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
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

在这里插入图片描述

启动 NFS 服务程序

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

systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

netstat  -anpt  |  grep  111     #查看rpcbind端口111是否开启, rpcbind默认使用tcp端口111

在这里插入图片描述

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

exportfs -rv			#发布共享
showmount -e            #查看共享

在这里插入图片描述

2.在客户机中访问 NFS 共享资源

安装 nfs-utils、rpcbind 软件包

rpm -q rpcbind nfs-utils 
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind

systemctl stop firewalld.service 
setenforce 0

#查看 NFS 服务器端共享了哪些目录
showmount -e 192.168.172.10

在这里插入图片描述

挂载 NFS 共享目录

手动挂载NFS共享目录
mkdir /myshare
mount 192.168.172.10:/opt/share /myshare

设置自动挂载
vim /etc/fstab
192.168.172.10:/opt/share    /myshare    nfs defaults,_netdev  0  0

_netdev :表示挂载设备需要网络

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

检验文件是否共享

在这里插入图片描述
在这里插入图片描述

强制卸载 NFS

如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。

umount -lf /myshare

猜你喜欢

转载自blog.csdn.net/IHBOS/article/details/114097543