评论

收藏

[Linux] 部署YUM源仓库与NFS共享存储服务

服务系统 服务系统 发布于:2021-12-05 15:58 | 阅读数:676 | 评论:0

一、YUM
  YUM (Yellow dog Updater Modified)
   ●基于RPM包构建的软件更新机制
   ●可以自动解决依赖关系
   ●所有软件包由集中的YUM软件仓库提供


准备安装源
软件仓库的提供方式


本地YUM源
baseurl=file://
只能给本机使用软件仓库
ftpYUM源
baseurl=ftp://FTP服务器地址/软件目录
能给所有能连接此ftp服务器的用户使用(注意要关闭防火墙)
在线YUM源
baseurl=http://或https://
通过网络在线使用软件




RPM软件包的来源
   ●CentOS发布的RPM包集合
   ●第三方组织发布的RPM包集合
   ●用户自定义的RPM包集合


构建CentOS 7软件仓库
   ●RPM包来自CentOS 7 DVD光盘
   ●通过FTP方式提供给客户机


  使用FTPYUM源配置YUM源仓库
1、安装ftp服务并启动
DSC0000.png



DSC0001.png





2、创建目录并挂载
DSC0002.png



3、创建配置文件
DSC0003.png

配置文件: /etc/yum.repos.d/centos7.repo


[root@localhost ~]# vi /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.3
baseurl=ftp://192.168.4.254/centos7
enabled=1
gpgcheck=0


DSC0004.png



4、删除yum缓存并更新,检测安装。
yum clean all && yum makecache


DSC0005.png





使用阿里云仓库当作YUM源方法   
第一步:将老师上午让我们创建的local. repo文件移动到repo.bak目录下(也可以是别的备份目录)
第二步:将可以连外网的系统打开,执行wget -o /etc/yum.repos.d/Centos Base.repo https:///mirrors.aliyun.com/repo/Centos-7.repe 将阿里云镜像下载到/etc/yum.repos.d/目录下


DSC0006.png

第三步:刷新缓存, yum claen all && yum makecache #清理缓存并且生成新的缓存


然后就可以直接用阿里云仓库里的软件包安装文件了,都是最新的软件包,但是必须有网的环境下才可以使用。如果想在没有网的情况下也能使用yum仓库里的软件,就需要将阿里云仓库下载到本地,占用空间较高,如果有想了解的可以私下问我


当既有本地yum源又有aliyun源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,
本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题,
yum提供的插件yum-plugin-priorities. noarch可以解决这个问题


1.查看是否安装了yum-plugin优先级插件
rpm -qa | grep yum-plugin-


2.如果没有安装,就安装插件
yum -y install yum-plugin-priorities.noarch
DSC0007.png

3.查看插件是否启用
cat /etc/ yum/pluginconf.d/priorities. conf


[main]:
enabled=1       #1为启动,0为禁止


4.修改本地yum源优先使用
vim local.repo
DSC0008.png



[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0
priority=1    #数字越小优先级越高


[epel]
name=epel
baseurl=https:///mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1
gpgcheck=0
priority=2
DSC0009.png



5、删除yum缓存并更新,检测安装。
yum clean all && yum makecache
DSC00010.png



6.验证安装包的数量
执行yum repolist all可显示所有仓库包
DSC00011.png





//yum命令仅下载安装包,
方式一:
yum install --downloadonly 软件包名
#下载下来的安装包都是放在/var/cache/yum/x86_64/7/ 目录下


方式二:
yumdownloader --destdir=/opt mariadb mariadb-server
#yumdownloader仅下载指定软件包,参数 --destdir 是用来指定存放下载的安装包的目录



二、NFS共享存储服务


存储服务分类
块存储设备、
文件存储设备、
对象存储设备 例:OSS


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




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


NES 的配置文件为/etc/exports
格式为:
共享的目录位置    客户机地址(权限选项)


在文件服务器使用NFS发布共享资源
1.安装nfs-utils、 rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
DSC00012.png

2.设置共享目录
mkdir  /opt/zl /opt/zl1
chmod 777 /opt/zl
DSC00013.png



DSC00014.png

vim /etc/exports
/opt/wwwroot 192.168.163.0/24 (rW,sync,no_root_squash)


DSC00015.png





DSC00016.png

客户机地址可以是主机名、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


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


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


4.查看本机发布的NES共享目录
exportfs -rv         #发布共享
showmount -e
DSC00017.png





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


1.安装nfs-utils、 rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind


DSC00018.png



#查看NFS服务器端共享了哪些目录


showmount -e 192.168.163.7
DSC00019.png





2.手动挂载NFS共享目录
mkdir /myshare
mount 192.168.163.7:/opt/zl /myshare
mount           #确认挂载结果,也可以使用df -Th
或设置自动挂载
vim /etc/fstab
192.168.163.7: /opt/zl  /myshare  nfs   defaults,_ netdev  0   0
_netdev:表示挂载设备需要网络
DSC00020.png


3、验证


DSC00021.png



DSC00022.png



DSC00023.png

DSC00024.png

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












关注下面的标签,发现更多相似文章