部署YUM仓库及NFS共享功能

07-12 1150阅读

目录

一、YUM仓库服务

1、YUM仓库概述

2、准备安装源

2.1、软件仓库的提供方式

2.2、 RPM软件包的来源

3、YUM主配置文件 

4、软件卸载

5、YUM源的提供方式

5.1、配置本地YUM源仓库

5.2、配置ftp源

5.2.1、服务端配置

5.2.2、客户端配置

二、NFS共享存储

1、NFS基本概述

2、NFS特点

3、为什么使用NFS

 4、NFS实现原理

三、NFS配置

1、服务端操作

1.1、安装nfs和rpcbind软件

1.2、修改配置文件设置共享

1.3、启动 NFS 服务程序

1.4、查看 NFS 共享目录

2、客户端操作

2.1、安装 nfs-utils和rpcbind 软件包

2.2、挂载共享目录

2.3、修改/etc/fstab实现自动挂载

2.4、卸载NFS


一、YUM仓库服务

1、YUM仓库概述

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

    部署YUM仓库及NFS共享功能

    2、准备安装源

    2.1、软件仓库的提供方式

    • FTP服务:ftp://..
    • HTTP服务:http://..
    • 本地目录:file://....

      2.2、 RPM软件包的来源

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

        3、YUM主配置文件 

        cat /etc/yum.conf                  #查看主配置文件

        部署YUM仓库及NFS共享功能

        4、软件卸载

        yum remove                                  #卸载软件包

        yum groupremove                         #卸载同软件包

        部署YUM仓库及NFS共享功能

        5、YUM源的提供方式

        5.1、配置本地YUM源仓库

        cd /etc/yum.repos.d/                                        #切换至YUM仓库配置目录

        vim local.repo                                                  #编辑或创建YUM仓库配置文件

        mount /dev/sr0 /mnt/                                       #挂载设备

        yum clean all                                                    #清理YUM缓存

        yum makecache                                                #重建YUM缓存

         yum repolist                                                   #列出YUM仓库及其状态

        [root@localhost ~]# cd /etc/yum.repos.d/
        [root@localhost yum.repos.d]# ls
        CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
        CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
        [root@localhost yum.repos.d]# mkdir bak
        [root@localhost yum.repos.d]# mv *.repo bak/
        [root@localhost yum.repos.d]# vim local.repo
        [root@localhost yum.repos.d]# 
        [root@localhost yum.repos.d]# mount /dev/sr0 /mnt/
        mount: /dev/sr0 写保护,将以只读方式挂载
        [root@localhost yum.repos.d]# df -h
        文件系统                 容量  已用  可用 已用% 挂载点
        /dev/mapper/centos-root   16G  4.3G   12G   28% /
        devtmpfs                 1.9G     0  1.9G    0% /dev
        tmpfs                    1.9G     0  1.9G    0% /dev/shm
        tmpfs                    1.9G  9.1M  1.9G    1% /run
        tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
        /dev/sda1                497M  172M  326M   35% /boot
        tmpfs                    378M  4.0K  378M    1% /run/user/42
        tmpfs                    378M   24K  378M    1% /run/user/0
        /dev/sr0                 4.3G  4.3G     0  100% /mnt
        [root@localhost yum.repos.d]# yum clean all && yum makecache
        已加载插件:fastestmirror, langpacks
        正在清理软件源: local
        Cleaning up everything
        Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
        Cleaning up list of fastest mirrors
        已加载插件:fastestmirror, langpacks
        local              | 3.6 kB  00:00:00     
        (1/4): local/group_gz                                             | 156 kB  00:00:00     
        (2/4): local/filelists_db                                         | 3.1 MB  00:00:00     
        (3/4): local/primary_db                                           | 3.1 MB  00:00:00     
        (4/4): local/other_db                                             | 1.2 MB  00:00:00     
        Determining fastest mirrors
        元数据缓存已建立
        [root@localhost yum.repos.d]# yum repolist 
        已加载插件:fastestmirror, langpacks
        Loading mirror speeds from cached hostfile
        源标识             源名称            状态
        local              local             3,894
        repolist: 3,894
        

        5.2、配置ftp源

        5.2.1、服务端配置

        rpm -qa |grep vsftpd                                                   #查询已安装的vsftpd软件包

        yum install -y vsftpd                                                    #安装vsftpd软件包

        mkdir /var/ftp/centos7                                                  #创建目录/var/ftp/centos7

        mount /dev/sr0  /mnt/                                                  #挂载设备到/mnt/目录

         cp -rf /mnt/* /var/ftp/centos7/ &         #复制/mnt/下的所有文件到/var/ftp/centos7/目录中

        mkdir /var/ftp/other                                                     #创建目录/var/ftp/other

         cd /var/ftp/other/                                                          #进入目录/var/ftp/other

        createrepo -g /mnt/repodata//repomd.xml  ./                #使用createrepo创建YUM仓库

        systemctl start vsftpd                                                      #启动vsftpd服务

        [root@localhost ~]# rpm -qa |grep vsftpd
        [root@localhost ~]# 
        [root@localhost ~]# 
        [root@localhost ~]# yum install -y vsftpd
        已加载插件:fastestmirror, langpacks
        Loading mirror speeds from cached hostfile
        正在解决依赖关系
        --> 正在检查事务
        ---> 软件包 vsftpd.x86_64.0.3.0.2-29.el7_9 将被 安装
        --> 解决依赖关系完成
        依赖关系解决
        ==========================================================================
         Package       架构          版本                    源              大小
        ==========================================================================
        正在安装:
         vsftpd        x86_64        3.0.2-29.el7_9          updates        173 k
        事务概要
        ==========================================================================
        安装  1 软件包
        总下载量:173 k
        安装大小:353 k
        Downloading packages:
        vsftpd-3.0.2-29.el7_9.x86_64.rpm                     | 173 kB   00:05     
        Running transaction check
        Running transaction test
        Transaction test succeeded
        Running transaction
          正在安装    : vsftpd-3.0.2-29.el7_9.x86_64                          1/1 
          验证中      : vsftpd-3.0.2-29.el7_9.x86_64                          1/1 
        已安装:
          vsftpd.x86_64 0:3.0.2-29.el7_9                                          
        完毕!
        [root@localhost ~]# mkdir /var/ftp/centos7
        [root@localhost ~]# 
        [root@localhost ~]# mount /dev/sr0  /mnt/
        mount: /dev/sr0 写保护,将以只读方式挂载
        [root@localhost ~]# 
        [root@localhost ~]# df -h
        文件系统                 容量  已用  可用 已用% 挂载点
        /dev/mapper/centos-root   26G  4.0G   22G   16% /
        devtmpfs                 1.9G     0  1.9G    0% /dev
        tmpfs                    1.9G     0  1.9G    0% /dev/shm
        tmpfs                    1.9G  9.2M  1.9G    1% /run
        tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup
        /dev/sda1                497M  172M  326M   35% /boot
        tmpfs                    378M  4.0K  378M    1% /run/user/42
        tmpfs                    378M   32K  378M    1% /run/user/0
        /dev/sr0                 4.3G  4.3G     0  100% /mnt
        [root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7/ &
        [1] 14633
        [root@localhost ~]# 
        [root@localhost ~]# mkdir /var/ftp/other
        [root@localhost ~]# 
        [root@localhost ~]# cd /var/ftp/other/
        [root@localhost other]# 
        [root@localhost other]# 
        [root@localhost other]# createrepo -g /mnt/repodata//repomd.xml  ./
        Saving Primary metadata
        Saving file lists metadata
        Saving other metadata
        Generating sqlite DBs
        Sqlite DBs complete
        [1]+  完成                  cp -i -rf /mnt/* /var/ftp/centos7/(工作目录:~)
        (当前工作目录:/var/ftp/other)
        [root@localhost other]# 
        [root@localhost other]# systemctl start vsftpd
        
        5.2.2、客户端配置

        cd /etc/yum.repos.d/

        mkdir bak

        mv *.repo bak/

        mount /dev/sr0 /mnt/

        vim centos7.repo

        yum clean all

        yum makecache

        yum repolist 

        • vim编辑内容

          部署YUM仓库及NFS共享功能

          二、NFS共享存储

          1、NFS基本概述

          NFS(Network File System,网络文件系统)是一种允许在网络上共享文件系统资源的协议。它允许一个计算机系统通过网络透明地访问远程文件系统中的文件

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

            2、NFS特点

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

              常见的文件服务器有NFS、GFS(gluster fs)、FastDFS NFS系统和Windows网络共享、网络驱动器类 似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站,会用到更复杂的分布 式文件系统FastDFS、glusterfs、HDFS、ceph。

              3、为什么使用NFS

              实现多台服务器之间数据共享

              实现多台服务器之间数据一致

               4、NFS实现原理

              部署YUM仓库及NFS共享功能

              三、NFS配置

              1、服务端操作

              1.1、安装nfs和rpcbind软件

              rpm -q rpcbind nfs-utils          #查看是否安装软件

              yum -y install nfs-utils rpcbind          #安装软件

              部署YUM仓库及NFS共享功能

              1.2、修改配置文件设置共享

              mkdir  /opt/web                  #创建共享文件夹

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

                 /opt/web 172.16.88.0/24(rw,sync,no_squash)

              部署YUM仓库及NFS共享功能 

              /opt/web: 这是指定的共享目录路径,即共享给客户端的文件系统位置。

              172.16.88.0/24: 这是指定可以访问该共享的网络地址范围。172.16.88.0/24表示从172.16.88.0到172.16.88.255的所有IP地址,共计256个地址。在这个例子中,所有属于这个网段的主机都可以访问共享。

              (rw,sync,no_squash): 这是NFS共享的权限和选项设置的部分。

              • rw: 表示客户端拥有读写权限,可以对共享中的文件进行读写操作。
              • sync: 表示数据同步写入。当客户端写入数据时,服务器将等待数据写入磁盘后再返回成功消息,以确保数据的持久性。这可能会降低性能,但可以提高数据的一致性和可靠性。
              • no_squash: NFS默认会将客户端的root用户权限映射为匿名用户权限,这个选项禁止了这种映射。也就是说,客户端使用的是自己的用户权限而不是匿名用户权限。 

                部署YUM仓库及NFS共享功能

                1.3、启动 NFS 服务程序

                systemctl start rpcbind                               #需要先启动rpc服务,因为nfs要向rpc注册端口

                systemctl start nfs

                systemctl enable rpcbind

                systemctl enable nfs

                netstat -anpu |grep  111        

                netstat -anpu |grep  2049

                [root@localhost ~]# 
                [root@localhost ~]# 
                [root@localhost ~]# 
                [root@localhost ~]# systemctl start rpcbind
                [root@localhost ~]# systemctl start nfs
                [root@localhost ~]# systemctl enable rpcbind
                [root@localhost ~]# 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@localhost ~]# 
                [root@localhost ~]# netstat -anptu |grep 111
                tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
                tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
                udp        0      0 0.0.0.0:111             0.0.0.0:*                           14596/rpcbind       
                udp6       0      0 :::111                  :::*                                14596/rpcbind       
                [root@localhost ~]# netstat -anptu |grep 2049
                tcp        0      0 0.0.0.0:2049            0.0.0.0:*               LISTEN      -                   
                tcp6       0      0 :::2049                 :::*                    LISTEN      -                   
                udp        0      0 0.0.0.0:2049            0.0.0.0:*                           -                   
                udp6       0      0 :::2049                 :::*                                -    

                1.4、查看 NFS 共享目录

                exportfs -rv                            #验证结果

                showmount -e

                部署YUM仓库及NFS共享功能

                2、客户端操作

                2.1、安装 nfs-utils和rpcbind 软件包

                rpm -q  nfs-utils   rpcbind 

                yum -y install nfs-utils rpcbind

                showmount -e 172.16.88.22

                部署YUM仓库及NFS共享功能

                2.2、挂载共享目录

                mount -t nfs 192.168.10.120:/opt/web/   /mnt         

                部署YUM仓库及NFS共享功能

                2.3、修改/etc/fstab实现自动挂载

                vim /etc/fstab

                部署YUM仓库及NFS共享功能

                2.4、卸载NFS

                NFS 客户端与服务器端的耦合度是非常高的,如果客户端正在挂载使用,服务器端 NFS 服务突然间停 掉了,那么在客户端就会出现执行 df -h 命令卡死的现象。这个时候使用 umount 命令是无法直接卸载 的,需要加上 -lf 才能卸载 -l 表示解除正在繁忙的文件系统,-f 表示强制。

                部署YUM仓库及NFS共享功能

                • 服务端会卡住

                  部署YUM仓库及NFS共享功能

                  •  解决办法

                    umount -lf           强制卸载

                    部署YUM仓库及NFS共享功能

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]