部署yum仓库及NFS共享服务

Posted 三刀刘索隆

tags:

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

部署yum仓库及NFS共享服务

YUM概述

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

准备安装源

软件仓库的提供方式
FTP服务: ftp://.....
HTTP服务: http://....
本地目录: file://....
RPM软件包的来源
CentOS发布的RPM包集合
第三方组织发布的RPM包集合
用户自定义的RPM包集合

构建CentOS 7软件仓库

RPM包来自CentOS 7 DVD光盘

通过FTP方式提供给客户机
mkdir -p /var/ftp/centos7
cp -rf /media/cdrom/* /var/ftp/centos7
rpm -ivh /medialcdrom/Packages/vsftpd-3.0.2-21.el7.x86_ _64.rpm
systemctl start vsftpd
systemctl enable vsftpd
本地YUM源    baseurl=file://                      #只能给本机使用软件仓库
ftpYUM源     baseurl=ftp://FTR服务器地址/软件目录   #能给所有能连接此ftp服务器的用户使用(注意要关闭防火墙)
在线YUM源    baseurl=http://                        #通过网络在线使用软件

在软件仓库中加入非官方RPM包组
包括存在依赖关系的所有RPM包
使用createrepo工具建立仓库数据文件

非官方的RPM要
mkdir /var/ftp/other
先放入该目录下
cd Ivar/ftp/other
createrepo -g /media/cdrom/repodata/repomd.xml ./

访问YUM仓库

为客户机指定YUM仓库位置

配置文件: /etc/yum.repos .d/centos7.repo
vi /etc/yum.repos.d/centos7.repo
[base]
name=CentOS 7.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

图示为查看vsftpd软件包的是否安装,启动查看状态

图示为将文件挂载到var目录下的ftp里面

图示为把dev sr0挂载到centos7上面

图示为进行ftp yum源的配置,注意这里的IP地址填本机的ip地址

图示为测试ftp yum是否可用,清除缓存

图示为关闭防火墙

图示为使用ftp把配置文件传给客机

图示为去刚才被传文件的客户机查看已经收到了ftp.repo配置文件

图示为对客户机进行清理缓存

图示为安装一个软件对yum进行验证

使用阿里云仓库当做YUM源方法

一、将创建的local.repo文件移动到repo.bak目录下(也可以是别的备份目录)
二、将可以连外网的系统打开,执行wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 将阿里云镜像下载到/etc/yum.repos.d/目录下
三、刷新缓存, 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

3.查看插件是否启用

cat /etc/yum/pluginconf.d/priorities.conf
[main]:
enabled = 1 # 1为启动,0 为禁止

4.修改本地yum源优先使用

vi local.repo
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=1 
priority=1 #数字越小优先级越高
[epel]
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
enabled=1
gpgcheck=0
priority=2

5.验证安装包的数量

执行yum repolist all 可显示所有仓库包

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

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

图示为添加阿里云的yum仓库

图示为在yum.repos.d目录下面查看发现阿里云的配置文件

图示为下载用来设置优先级的yum仓库

图示为查看这些选项是否设置使用

图示为对阿里云yum配置文件进行改写

图示为把光盘挂载到mnt目录下面

图示为清除yum缓存

图示为测试yum是否可用正常使用

图示为安装一个在本地yum源没有的安装包

图示为使用本机进行安装,本机配置了本地yum以及在线yum进行优先安装操作

NFS 共享存储服务

三大类:块存储设备;对象存储设备;文件存储设备
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。

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

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

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

rpm -q rpcbind nfs-utils
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_rootsquash : 表示当客户机以root身份访问时赋子本地root权限 (默认是root squash) 。
root_squash : 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
其它常用选项
all_squash : 所有访问用户都映射为匿名用户或用户组。
asyne : 将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtreecheck (默认) : 若输出目录是一个子目录,则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

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

exportfs -rv                           #发布共享
showmount -e

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

1.安装 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.80.10

2.手动挂载 NFS 共享目录

mkdir /myshare
mount 192.168.80.10:/opt/wwwroot /myshare
mount           #确认挂载结果,也可以使用df -Th

3.设置自动挂载

vim /etc/fstab
192.168.80.10:/opt/wwwroot     /myshare   nfs     defaults,_netdev    0     0
_netdev : 表示挂载设备需要网络

4.强制卸载 NFS

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

图示为创建两个目录

图示为查看这两个软件包是否都进行了安装

图示为rw 表示允许读写,sync:表示同步写入到内存与硬盘中

图示为对这两个软件进行启动

图示为查看rpcbind端口是否开启

图示为关闭防火墙

图示为发布共享

图示为在另一台虚拟机上面启动rpcbind这个软件

图示为指定ip地址(这里的ip地址是宿主机的ip地址。以及新建一个目录,并且把ip地址挂载到新建的目录下面

图示为到之前创建的目录里面,并且进行改写内容到lsp.1txt这个文件里面,并且查看这个文件是否有改写的内容

图示为表示当客户机以root身份访问时赋子本地root权限默认是root_ squash

图示为重新发布

图示为在另一台客户机上面,先查看能不能接收到宿主机的信息,然后创建一个目录data3,以及把宿主机的ip挂载到新创建的目录中,然后进入新创建的目录,发现可以查询到宿主机的文件

图示为设置自动挂载

以上是关于部署yum仓库及NFS共享服务的主要内容,如果未能解决你的问题,请参考以下文章

Linux系统部署YUM远程仓库及NFS共享服务

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

linux --FTP服务器,部署YUM仓库,NFS共享服务

懂得分享 是一种美德 我有的 你也可以拥有 Linux 配置NFS共享服务

FTP服务及部署YUM仓库与NFS服务!

yum源仓库部署