【Linux网络】部署yum仓库及NFS共享服务

本文详细介绍了YUM仓库服务,包括YUM概述、安装源管理、本地和FTP仓库搭建、以及使用yum工具的一键安装。同时讲解了NFS共享存储服务的原理、特点、构建步骤以及客户端访问。
摘要由CSDN通过智能技术生成

目录

一、YUM仓库服务

1.YUM概述

2.准备安装源

3.一键安装软件包的工具

4.yum软件仓库类型

5.搭建yum本地源仓库、ftp源仓库

6.通过yum下载软件包

二、NFS 共享存储服务

1.NFS

2.特点

3.存储类型

三、构建NFS共享存储服务

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

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

总结


一、YUM仓库服务

1.YUM概述

YUM(Yellow dog Updater Modified)

基于RPM包构建的软件更新机制

可以自动解决依赖关系

所有软件包由集中的YUM软件仓库提供

linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云等,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度

        yum软件仓库中的rpm软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的

2.准备安装源

1)软件仓库的提供方法

        FTP服务:ftp://……

        HTTP服务:http://……

        本地目录:file://……

2)RPM软件包的来源

        CentOS发布的RPM包集合

        第三方组织发布的RPM包集合

        用户自定义的RPM包集合

3)构建CentOS 7 软件仓库

        RPM包来自CentOS 7 DVD光盘       

        通过FTP方法提供给客户机

mkdir -p /var/ftp/cenos7
cp -rf /media/cdrom/* /var/ftp/cenos7
rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
systemctl enable vsftpd

4)在软件仓库中加入非官方RPM包组

        包括存在依赖关系的所有RPM包

        使用createrepo工具建立仓库数据文件

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

3.一键安装软件包的工具

RHEL、CentOS             yum  dnf
Ubuntu、Debian            apt  apt-get

一键安装更新软件包、自动解决软件包之间的依赖关系、软件包仓库可以集中管理并提供给多个客户机使用

4.yum软件仓库类型

FTP源:ftp://……     一对一          安装快,但软件数量少,版本低

在线源:http://……   一对多          同上

本地源:file://……    一对多           软件数量多,版本新,但是安装前需要更新缓存

5.搭建yum本地源仓库、ftp源仓库

1)在仓库主机的软件包目录中准备好软件包列表,并使用 createrepo <软件包目录> 命令建立仓库数据文件
2)在客户机的 /etc/yum.repos.d/ 目录中创建yum仓库源配置文件  XXX.repo
3)在 XXX.repo yum仓库源配置文件使用 baseurl=file://  指定本地的软件包目录
                                                                   baseurl=ftp://   指定ftp服务器地址及其子目录
4)yum makecache 更新缓存, yum install -y 安装软件

6.通过yum下载软件包

1)开启缓存
vim /etc/yum.conf
cachedir=软件包缓存目录
keepcache=1                  #1为开启缓存,0为关闭缓存

yum install -y 软件名       #下载并安装软件包

2)仅下载软件包
yum install -y 软件名 --downloadonly --downloaddir=软件包下载目录

yumdownloader --destdir=软件包下载目录 --resolv  软件名      

#--resolv代表下载软件所需的所有依赖包,不加这个选项代表仅下载指定的软件包

二、NFS 共享存储服务

1.NFS

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。

依赖于RPC(远端过程调用)
需安装nfs-utils、rpcbind软件包
系统服务:nfs、rpcbind
共享配置文件:/etc/exports

2.特点

采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境

节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率 

3.存储类型

块存储:硬盘 LVM RAID   

文件存储:NFS

对象存储:OSS

三、构建NFS共享存储服务

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

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

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

[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]#
[root@bogon ~]# setenforce 0
[root@bogon ~]#
[root@bogon ~]# yum -y install nfs-utils rpcbind
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 1:nfs-utils-1.3.0-0.68.el7.2.x86_64 已安装并且是最新版本
软件包 rpcbind-0.2.0-49.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@bogon ~]#

2)设置共享目录

mkdir -p /opt/share        #创建共享文件夹
chmod 777 /opt/share        #设置权限

vim /etc/exports        #修改配置文件

/share 192.168.10.0/24(rw,sync,no_root_squash)
/var/ftp/pub 192.168.10.121(rw) 

/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/group文件中匿名用户的GID 

[root@bogon ~]# mkdir /share        #创建共享文件夹
[root@bogon ~]# chmod -R 777 /share/        #设置共享文件夹的权限
[root@bogon ~]# echo "123456" > /share/123.txt        #在共享文件夹下创建文件,并且添加内容
[root@bogon ~]#
[root@bogon ~]# systemctl start rpcbind
[root@bogon ~]# systemctl start nfs
[root@bogon ~]#
[root@bogon ~]# vim /etc/exports        #修改配置文件

3) 启动 NFS 服务程序

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

netstat -anptu | grep 111            #查看rpcbind端口是否开启,rpcbind默认使用端口111
netstat -anptu | grep 2049          #nfs默认使用端口2049

[root@bogon ~]# systemctl start rpcbind
[root@bogon ~]# systemctl start nfs
[root@bogon ~]# systemctl enable rpcbind
[root@bogon ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@bogon ~]# netstat -anptu | grep 111         #查看rpcbind端口是否开启,rpcbind默认使用端口111
[root@bogon ~]# netstat -anptu | grep 2049        #nfs默认使用端口2049
tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -           
tcp        0      0 192.168.10.120:2049     192.168.10.121:837      ESTABLISHED -           
tcp6       0      0 :::2049                 :::*                    LISTEN      -           
udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -           
udp6       0      0 :::2049                 :::*                                -           
[root@bogon ~]#

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

exportfs -rv                            #发布共享
showmount -e

[root@bogon ~]# exportfs -rv 
exportfs: invalid option -- '▒'
usage: exportfs [-adfhioruvs] [host:/path]
[root@bogon ~]# showmount -e
Export list for bogon:
/share 192.168.10.121
[root@bogon ~]#


2、在客户机中访问 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.10.120

[root@bogon ~]# systemctl stop firewalld
[root@bogon ~]#
[root@bogon ~]# setenforce 0
[root@bogon ~]# yum -y install nfs-utils rpcbind
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
local                                                                | 3.6 kB  00:00:00
软件包 1:nfs-utils-1.3.0-0.68.el7.2.x86_64 已安装并且是最新版本
软件包 rpcbind-0.2.0-49.el7.x86_64 已安装并且是最新版本
无须任何处理
[root@bogon ~]#
[root@bogon ~]# showmount -e 192.168.10.120        #查看NFS服务器端共享了哪些目录
Export list for 192.168.10.120:
/share 192.168.10.121
[root@bogon ~]#

2)手动挂载 NFS 共享目录

mkdir /share
mount 192.168.10.120:/share/  /mnt

mount                                            #确认挂载的结果,也可以使用 df -Th

[root@bogon ~]# mount 192.168.10.120:/share/ /mnt/
[root@bogon ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        36G  5.2G   30G   15% /
/dev/sda1               xfs      1014M  187M  828M   19% /boot
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
192.168.10.120:/share   nfs4       36G  4.7G   31G   14% /mnt
[root@bogon ~]#

[root@bogon ~]# cd /mnt/        #查看共享文件夹下内容
[root@bogon mnt]# ls
123.txt
[root@bogon mnt]# cat 123.txt
123456
[root@bogon mnt]#

3) 设置自动挂载

vim /etc/fstab
192.168.10.120:/share        /mnt    nfs        defaults,_netdev    0  0

_netdev :表示挂载设备需要网络

4) 强制卸载 NFS

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

总结

部署YUM软件仓库(服务器端、客户端)

YUM工具功能(查询、安装、升级、卸载)

构建NFS共享存储服务

  • 26
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值