目录
2:NFS 的配置文件为/etc/exports,在文件服务器使用 NFS 发布共享资源1. 安装 nfs-utils、rpcbind 软件包
一、yum
1:定义
CentOS使用yum和dnf 解决rpm的包依赖关系。
YUM:rpm的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date的替代工具,CentOS 8 使用dnf代替了yum,不过保留了和yum的兼容性,配置也是通用的。
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),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。
2:类型
centos rhel7 yum --> .rpm
centos8 rhel8 dnf yum
Ubuntu debian apt ---> .deb
当既有本地yum源又有aliyun源的时候,我们在装软件包的时候当然希望先用本地的yum源区安装
本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题
yum提供的拆建yum-plugin-priorities.noarch可以解决这个问题
3:命令
1:查看是否安装了yum-piugin优先级插件
2:如果没有安装,就安装插件
yum -y install yum-plugin-priorities.noarch
3:查看插件是否启用
cat /etc/yum/pluginconf.d/priorities.conf
4:本地yum源配置
file:// 本地源
ftp://<服务地址> ftp源
http://https://<URL地址> 在线源
vim local.repo
5:验证安装包的数量
执行yum repolist all 可显示所有仓库包
6://yum命令仅下载安装包
方法一
yum install --downloadonly mariadb
下载下来的安装包都是放在 /var/cache/yum/x86_64/7/目录下
方法二
yumdownloader --destdir=/opt mariadb mariadb-server
yumdownloader 仅下载指定软件包,参数--destdir是用来指定存放下载的安装包的目录
二、NFS共享存储服务
1:定义
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。
所以需要安装 nfs-utils、rpcbind 软件包来提供 NFS共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
nfs不是存储设备,用存储设备配合nfs服务把以上的设备的文件数据通过网路共享给其他服务器使用
2: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)
3. 启动 NFS 服务程序
#手动加载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 共享目录
showmount -e
3、在客户机中访问 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
增加:
客户机地址可以是主机名、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服务器也不检查其父目录的权限,这样可以提高效率。
5:NFS原理图
三:总结
yum源 本地源,在线源 ftp源,vim local.repo
NFS共享服务 配置文件为 /etc/exports
systemctl enable rpcbind rpcbind 111端口
systemctl enable nfs nfs-utils 2049端口
sync 写入数据会同时写入内存和硬盘
async 写入数据会在写到内存的缓冲区里,然后根据系统的同步策略再刷新到硬盘中