yum安装以及NFS共享存储

205 阅读6分钟

前言

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

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

YUM

yum 的理念是使用一个中央仓库(repository)管理一部分甚至一个 distribution 的应用程式相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,相对与源码编译安装软件rpm安装较方便快捷,解决rpm安装需要软件包依赖关系。yum 的基本操作包括软件的安装(本地,网络),升级(本地,网络),卸载,另外更有一定的查询功能。

yum基本常用命令

  • 列出所有可更新的软件清单命令:yum check-update
  • 更新所有软件命令:yum update
  • 仅安装指定的软件命令:yum install <package_name>
  • 仅更新指定的软件命令:yum update <package_name>
  • 列出所有可安裝的软件清单命令:yum list
  • 删除软件包命令:yum remove <package_name>
  • 查找软件包命令:yum search
  • 清除缓存命令:
    yum clean packages: 清除缓存目录下的软件包
    yum clean headers: 清除缓存目录下的 headers
    yum clean oldheaders: 清除缓存目录下旧的 headers
    yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

Snipaste_2022-08-18_10-18-25.png

配置yum源

baseurl 有四种表示方式(软件包的获取路径)

  • file:// 本地的路径(当前系统的路径)
  • http:// 网页的形式
  • https:// 加密
  • ftp:// 文件共享服务来实现
vim local.repo
[local]      @仓库的名字   无特殊需求,子定义
name=local  @仓库的描述  自定义
baseurl=file:///mnt   @仓库服务器的路径
gpgcheck=0                      @不验证检验包的安全性完整性
(gpgcheck=1
gpgkey=                         @如果gpgcheck=1     需要指明验证文件的位置)
enabled=1  
yum clean all && yum makecache  

Snipaste_2022-08-18_13-27-49.png

当既有本地yum源又有aliyun源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装, 本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题
我们可以通过用yum提供的插件yum-plugin-priorities.noarch解决这个问题
rpm -qa |grep yum-plugin @查看是否安装优先级插件
yum -y install yum-plugin-priorities.noarch @安装插件
cat /etc/yum/pluginconf.d/priorities.conf @查看是否启用插件
修改本地yum源优先使用 Snipaste_2022-08-18_16-15-53.png 将可以连外网的系统打开,执行wget -O /etc/yum.repos.d/CentOS-Base.repo mirrors.aliyun.com/repo/Centos… 将阿里云镜像下载到/etc/yum.repos.d/目录下 Snipaste_2022-08-18_12-26-09.png

Snipaste_2022-08-18_15-49-25.png

NFS

nfs使用配置

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

rpc 进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。这些进程可以运行在同一计算机上或网络连接的不同计算机上。 进程间通信技术包括消息传递、同步、共享内存和远程过程调用。

• 依赖于RPC (远端过程调用)
• 需安装nfs-utils、rpcbind软件包
• 系统服务: nfs、rpcbind
• 共享配置文件: /etc/exports

原理 Snipaste_2022-08-18_13-19-49.png

配置NFS使服务端共享资源

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。 所以需要安装 nfs-utilsrpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。

配置基本格式为共享的目录位置 客户机地址(权限选项)

客户机地址可以是主机名、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服务器也不检查其父目录的权限,这样可以提高效率。

安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils 
yum -y install nfs-utils rpcbind
设置共享目录
mkdir -p /opt/wps
chmod 777 /opt/wps
vim /etc/exports

启动 NFS 服务程序
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs

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

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

在客户机中访问 NFS 共享资源
安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils 
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind

查看 NFS 服务器端共享了哪些目录
showmount -e 192.168.142.20
手动挂载 NFS 共享目录
mkdir /apple
mount 192.168.142.20:/opt/wps

设置自动挂载
vim /etc/fstab
192.168.80.10:/opt/wwwroot   /myshare  nfs defaults,_netdev(_netdev :表示挂载设备需要网络)	0  0
强制卸载 NFS
如果服务器端NFS服务突然间停掉了,而客户端正在挂载使用时,在客户端就会出现执行 df -h 命令卡死的现象。这个时候直接使用umount 命令是无法直接卸载的,需要加上 -lf 选项才能卸载。
umount -lf /apple

Snipaste_2022-08-18_14-36-03.png

Snipaste_2022-08-18_15-37-08.png

Snipaste_2022-08-18_15-12-50.png

Snipaste_2022-08-18_15-44-31.png Snipaste_2022-08-18_15-43-44.png

结束语:yum安装方便快捷了生产环境中安装软件,nfs便捷了消息传递、同步、共享内存和远程过程调用。