部署YUM仓库及NFS共享服务
一、yum仓库部署
1.软件查看的提供方式
FTP服务:ftp://ftp服务器地址/软件目录
能给所有能连接此ftp服务器的用户使用(关闭防火墙)
HTTP服务:http://…
通过网络在线使用软件
本地目录:file://…
只能给本机使用软件仓库
2.RPM软件包的来源
- CentOS发布的RPM包的集合
- 第三方组织发布的RPM包集合
- 用户自定义的RPM包集合
3.客户机指定yum仓库位置
配置文件:/etc/yum.repos.d/centos7.repo
baseurl=(指定方式)
4.在线仓库配置步骤
4-1.本地源的配置
mount /dev/sr0 /mnt
cd /etc/yum.repos.d/
mkdir repos.d/
mv *.repo repos.d/
vim local.repo
[local]
name=local
baseurl=file:///mnt
enable=1
gpgcheck=0
yum clean all && yum makecache
如果遇到这种问题:
我们可以直接删除/var/run/yum.pid文件再去运行就可以了:
4-2.ftp的配置
systemctl stop firewalld
setenforce 0
cd /mnt/Packages/ #进入rpm软件包目录
ls vsftpd* #查看相对应的软件包
rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm #安装vsftpd的软件包
cd /var/ftp/
mkdir /var/ftp/centos7
mount /dev/sr0 /centos7
df -h
cd centos7/
ls
systemctl status vsftpd
vim /etc/yum.repos.d/centos7.repo
[ftp] #仓库类别
name=ftp #仓库名称(说明)
baseurl=ftp://192.168.92.10/centos7 #指定URL,访问路径为光盘挂载目录,因为ftp的根目录在/var/ftp,所以直接写centos7
enabled=1 #启用此软件仓库
gpgcheck=0
cd /etc/yum.repos.d
ls
yum clean all && yum makecache
4-3.在线源的配置
wget -0 /etc/yum.repos.d/CentOS7-Base-aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
vim CentOS7-Base-aliyun.repo #编辑阿里云yum 网络源
4.在线仓库配置步骤
当既有本地yum源又有在线源的时候,我们就可以设置优先级
rpm -qa | grep yum-plugin # 查看是否安装了yum-plugin优先级插件
cat /etc/yum/pluginconf.d/priorities.conf # 查看插件启用情况
yum install -y yum-plugin-priorities #安装插件
vim ftp.repo
[ftp]
name=ftp
baseurl=ftp://192.168.92.11/centos7
enable=1
gpgcheck=0
priority=1 #设置优先级,数值越小,越优先
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=0
priority=2
yum install -y nginx #测试优先级,ftp软件包中没有nginx,则会使用在线源
5.总结
软件仓库类型 | 命令格式 | 支持的访问数量 | 优缺点 |
---|---|---|---|
本地源 | beseurl=file:// … | 一对一 | 安装快,但是软件数量少,版本低 |
ftp源 | beseurl=ftp:// … | 一对多 | 安装快,但是软件数量少,版本低 |
在线源 | beseurl=http://… | 一对多 | 软件数量多,版本新,但是安装前需要更新缓存,安装速度较慢。在线源最好使用国内镜像,传输快 |
二、YUM下载软件包的方式
1.利用yum的缓存功能
vim /etc/yum.conf
2.downloadonly插件
yum install -y downloadonly tomcat --downloaddir=/opt/pkg
3.yum-utils中的yumdownloader
三、NFS概述
- NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
- 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
- NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
1、NFS优点与缺点
- 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。
- 但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
2、NFS服务实现所需条件
- NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
- 所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
四、NFS共享存储服务
系统类型 | 程序 |
---|---|
windows共享存储服务 | cifs |
linux共享存储服务 | nfs |
- NFS服务端有两个依赖服务,分别是RPC(rpcbind)服务和NFS服务。
- 服务端需要先启动RPC(rpcbind)服务并开启111端口,然后启动NFS服务,并向RPC(rpcbind)服务注册端口信息,接着服务端将需要共享文件挂载到服务端创建的共享目录。此时客户端想要访问服务端进行实现获取共享文件也会需要启动RPC(rpcbind)服务,并使用RPC(rpcbind)服务向服务端的RPC(rpcbind)服务请求服务端的NFS端口,服务端的RPC((rpcbind)服务反馈NFS端口信息给客户端。
- 最后客户端通过TCP/IP网络协议获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
1.服务端设置
yum -y install nfs-utils rpcbind #安装nfs和rpcbind
systemctl start rpcbind #优先启动rpcbind,否则客户端NFS服务可能会找不到服务端的NFS
systemctl start nfs #启动nfs
systemctl enable rpcbind #开机自动启动 rpcbind 服务
systemctl enable nfs #开机自动启动 nfs 服务
systemctl is-enabled rpcbind #查看是否设置开机自启成功
systemctl is-enabled nfs #查看是否设置开机自启成功
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux
设置共享文件
mkdir -p /opt/xc04
chmod 777 /opt/xc04
vim /etc/exports
/opt/wwwroot 192.168.92.0/24(rw,sync,no_root_squash)
权限选项 | 说明 |
---|---|
rw | 表示允许读写 |
ro | 表示为只读 |
sync | 表示同步写入到内存与硬盘中 |
async | 将数据先保存在内存缓冲区中,必要时才写入磁盘 |
no_root_squash | 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash会自动降权) |
root_squash | 表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户 |
all_squash | 所有访问用户都映射为匿名用户或用户组 |
subtree_check(默认) | 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限 |
no_subtree_check | 使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率 |
anonuid=xxx | 指定NFS服务器/etc/passwd文件中的匿名用户的UID |
anongid=xxx | 指定NFS服务器/etc/passwd文件中的匿名用户的GID |
2、在客户机中访问 NFS 共享资源
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
cd /opt
mkdir /data
mount -t nfs 192.168.92.10:/opt/xc04 /data
cd /data/
ls