Linux网络中部署YUM仓库及NFS共享服务

一、YUM概述

(一)、YUM (Yellow dog Updater Modified)

1、基于RPM包构建的软件更新机制
2、可以自动解决依赖关系
3、所有软件包由集中的YUM软件仓提供

(二)、准备安装源

1、软件仓库的提供方式

  FTP服务: ftp://...    (网络安装源仓库)
  HTTP服务: http://...  (在线源仓库)
  本地目录: file://...   (本地源仓库)

2、RPM软件包的来源

  CentOS发布的RPM包集合
  第三方组织发布的RPM包集合
  用户自定义的RPM包集合

(三)、准备安装源

1、构建CentOS 7 软件仓库(放本地光盘镜像的软件包)

RPM包来自CentOS 7 DVD光盘
通过FTP方式提供给客户机 (安装并启用vsftpd服务)

mkdir -p /var/ftp/CentOS7
cp -rf /dev/cdrom/*  /var/ftp/CentOS7

rpm -ivh /dev/cdrom/Packages/vsftp-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
systemctl enabled vsftpd

2、在软件仓库中加入非官方RPM包组(即自己从网上下载的软件包)

需使用createrepo工具建立repodata 数据文件仓库
包括存在依赖关系的所有其他RPM包,安装包文件存放到 /var/ftp/other 目录下

mkdir -p  /var/ftp/other
cd /var/ftp/other
createrepo -g /dev/cdrom/repodata/repomd.xml ./

(四)、访问YUM仓库

1、为客户机指定YUM仓库位置

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

vim /etc/yum.repos.d/centos7.repo
[base]        #仓库类别
name=CentOS 7.3   #仓库名称
baseurl=ftp:///192.168.4.254/CentOS7    #URL访问路径
enabled=1     #启用此软件仓库
gpgcheck=1(或0:表示不验证公钥)      #验证软件包的签名
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 (软件校验公钥)     #GPG公钥文件的位置
[other]
name=Other RPM Packages
baseurl=ftp:///192.168.4.254/other
enabled=1
gpgcheck=0

二、NFS共享存储服务

(一)、NFS共享存储服务

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS服务的实现依赖于 RPC (Remote Process Call,远端过程调用)机制,RPC充当NFS客户端和NFS服务器之间的中介,以完成远程到本地的映射过程。
所以需要安装 nfs-utils, rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问后者用于RPC支持

NFS共享架构图
在这里插入图片描述

(二)、NFS的配置文件为 /etc/exports ,文件内容默认为空(无任何共享)。

在 exports文件中设置资源共享时,记录格式为
共享的目录   位置客户机地址(权限选项)

三、NFS共享服务步骤

(一)、在文件服务器中使用NES发布共享资源步骤

1、安装 nfs-utils、rpcbind 软件包,并创建共享目录

rpm -q  rpcbind nfs-utils
yum -y install nfs-utils rpcbind

mkdir  -p  /opt/wwwroot
chmod 777 /opt/wwwroot

这边我们以7-1 作为资源共享服务器,以7-2作为客户机
在这里插入图片描述

2、设置共享目录

更改NFS的配置文件/etc/exports

vim  /etc/exports
(格式一:共享给某个网段地址)
/opt/wwwroot  192.168.80.0/24 (rw, sync, no_root_squash)  #/opt/wwwroot 是服务器中共享的资源的目录的绝对地址
或(格式二:共享给不同的客户机)
/var/ftp/pub  192.168.4.11 (ro) 192.168.4.110 (rw)   #后面的地址是客户机的IP地址
或(格式三:允许所有客户机访问且允许读写权限)
/share  *(rw, sync)

客户机地址可以是主机名、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文件中匿名用户的G/ID

在这里插入图片描述

3、启动NFS共享服务程序

-----手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs-----
systemctl  start  rpcbind
systemctl  start  nfs
systemctl  enable rpcbind
systemctl  enable nfs

netstat  -anpt  |  grep  111     #查看rpcbind端口111是否开启, 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

在这里插入图片描述

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

showmount  -e  192.168.80.10    (格式:showmount -e 服务器地址)

在客户机中需要先关闭防火墙,然后查看NFS服务端共享了那些目录
在这里插入图片描述

3、手动挂载NFS共享目录

以root 身份执行mount 操作,将服务器共享的/opt/wwwroot 挂载在本地客户机的/myshare 目录上,前面的Ip地址是服务器的IP。

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

在客户机中创建一个资源共享的目录,然后把服务器共享的目录挂载在客户机创建的资源共享目录上
在这里插入图片描述
在这里插入图片描述

然后就可以在客户机和服务器之间实现资源的共享了

在这里插入图片描述
在这里插入图片描述

4、设置fstab自动挂载

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

5、强制卸载NFS

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

umount  -lf   /myshare

猜你喜欢

转载自blog.csdn.net/Gengchenchen/article/details/111016784