一、Yum仓库
1.1、Yum仓库概念
学习YUM 软件仓库,可以完成安装、卸载、自动升级 rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依赖关系,而无须管理员逐个、手工地去安装每个 rpm 包,使管理员在维护大量Linux 服务 器时更加轻松自如。特别是在拥有大量 Linux 主机的本地网络中, 构建一台"源"服务器可以大大缓解软 件安装、升级等对 Internet 的依赖。
YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司
(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。
要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供 软件仓库的服务器也称为"源"服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对 应的"源"服务器来安装或更新软件。
1.2、配置本地源仓库
详细内容请看之前篇章(16)
cd /etc/yum.repos.d/
vim local.repo
[local] #仓库类别
name=local #仓库名称
baseurl=file:///mnt #指定URL 访问路径为光盘挂载目录
enabled=1 #开启此yum源,此为默认项,可省略
gpgcheck=0 #不验证软件包的签名
mount /dev/sr0 /mnt #把光盘挂载到/mnt目录下(前提虚拟机是光盘挂载)
##清理yum缓存并更新
yum clean all && yum makecache
###检查
yum repolist
1.3、配置ftp源
1.3.1、配置过程
首先在服务器配置:
1、 安装 vsftpd 服务端软件
2、 创建并制作 yum 远程 ftp 站点的源
3、 启动 ftp 服务
服务端
下载yum -y install vsftpd
挂载mount /dev/sr0 /mnt
mkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7/ &
创建文件
mkdir /var/ftp/other
索引文件
createrepo -g /mnt/repodata/repomd.xml ./
createrepo 是一个用于创建 yum/dnf 仓库的工具,它生成仓库所需的元数据,包括仓库的描述、包列表、依赖关系等信息,这些信息存储在特定的目录中
开启
systemctl start vsftpd
lsof -i:21
客户端
在服务端
[centos7]
name=centos7
baseurl=ftp://192.168.88.79/centos7
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.88.79/RPM-GPG-KEY-CentOS-7
[other]
name=other
baseurl=ftp://192.168.88.79/other
enabled=1
gpgcheck=0
可以远程
二、NFS****共享存储
2.1、NFS概念
NFS ( Network File System 网络文件服务),NFS 主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。通过使用 NFS 协议,客户机 可以像访问本地目录一样访问远程服务器中的共享资源 NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。 NFS 也是 NAS 存储 设备必 然支持的一种协议。
NAS 存储:
NFS 服务的实现依赖于 RPC ( Remote Process Call ,远端过程调用)机制,以完成远程到本地的映射 过程。在 CentOS 7 系统中,需要安装 nfs-utils 、 rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
手动加载 NFS 共享服务时,应该 先启动 rpcbind,再启动 nfs。
nfs 端口号: 2049
RPC 端口号: 111
特点:
采用 TCP/IP 传输网络文件
- 安全性低
- 简单易操作
- 适合局域网环境
常见的文件服务器有 NFS 、 GFS ( gluster fs )、 FastDFS NFS 系统和 Windows 网络共享、网络驱动器类 似, 只不过windows 用于局域网, NFS 用于企业集群架构中, 如果是大型网站,会用到更复杂的分布 式文件系统FastDFS 、 glusterfs 、 HDFS 、 ceph 。
2.2****为什么要使用共享存储
- 实现多台服务器之间数据共享
- 实现多台服务器之间数据一致
2.3、 NFS****应用场景
实际应用中,共享存储是重要的组成部分。如果没有共享存储,网站就变成了单点的架构。
没有共享存储
1 、 A 用户上传图片经过负载均衡,负载均衡将上传请求调度至 WEB1 服务器上。
2 、 B 用户访问 A 用户上传的图片,此时 B 用户被负载均衡调度至 WEB2 上,因为 WEB2 上没有这张图片,
所以 B 用户无法看到 A 用户传的图片。
共享存储
1 、 A 用户上传图片无论被负载均衡调度至 WEB1 还是 WEB2, 最终数据都被写入至共享存储。
2 、 B 用户访问 A 用户上传图片时,无论调度至 WEB1 还是 WEB2 ,最终都会上共享存储访问对应的文件, 这样就可以访问到资源了。
2.4、NFS****实现原理
1 、假如访问的是 NFS 客户端,先调 用不同的函数(例如 Read() 函数,读功能、 Write() 函数,写功能、 Create()函数,创建功能、 Remove() 函数、删除功能、 Rename() 函数,重命名功能)对数据进行处理。
2 、调用完函数后,首先 NFS 客户端会建立 TCP 连接,通过 TCP/IP的方式传递给NFS 服务端,连上远端的 服务器。
3 、接着 NFS 服务端接收到请求后, NFS 服务器会做 3 步系列操作(环环相扣,先映射端口,然后验证是 否能登录服务器,最后验证文件使用权限),
如下: 首先,调用portmap 进程进行端口映射。
接着,调用 Rpc.nfsd 进程来验证 NFS 客户端是否拥有对应的权限连接 NFS 服务端。
最后,调用 Rpc.mount 进程守护进程 来验证客户端是否拥有对应的文件使用权限;
4 、 Portmap 进程实现用户映射和压缩。
5 、最后 NFS 服务端会将对应请求的函数转换为本地能识别的命令 ,传递至内核,由内核驱动硬件。
2.5、NFS****文件共享系统实验步骤
配置思路
1 、安装 nfs 和 rpcbind 软件
2 、修改配置文件设置共享
3 、创建共享目录
4 、开启服务
5 、客户端验证共享目录可访问
yum install -y nfs-utils rpcbind
mkdir /opt/web
vim /etc/exports #NFS 的配置文件为/etc/exports,文件内容默认为空(无任何共享
启动文件
systemctl start rpcbind
还要启动(注意在rpc后)
查看检查一下
验证结果
刷新结果
showmount -e localhost
命令用于显示 NFS(Network File System)服务器上导出的文件系统列表。在这个特定的命令中,localhost 指定了NFS服务器的地址,即在这个例子中,你正在查询当前机器(或称为本地机器)上NFS导出的文件系统。
在客户端
rpm -q nfs-utils rpcbind
查看
showmount -e 192.168.88.79
查询79机器上NFS导出的文件系统。
挂载在
mount -t nfs 192.168.88.79:/opt/web /var/www/html
查看df -h
写一段数据在index下
echo "yc66666666">/var/www/html/index.html
此时在服务端
cd /opt/web 发现文件同步
客户端
三、Tcpdump
抓包工具
基本格式
格式:tcpdump option proto dir type
选项 协议 数据的方向 抓取的数据类型
proto (协议):
-
- tcp udp icmp
-
- ip ipv6
-
- arp
dir (方向):
-
- src 192.168.91.100 只抓取 源地址是 91.100
-
- dst 192.168.91.101 只抓取目的地址是 91.101
-
- src 192.168.91.100 and dst 192.168.91.101 只100 到101
type (类型)
-
- host 主机
-
- net 网段
-
- port 端口
-
- port range 端口范围
-i 指定网卡
条件:主机 2 ping 主机 1
tcpdump -i ens33 host 192.168.91.101 只关心 和 192.168.91.101 有关的流量