linux-centos-NFS共享服务及YUM远程仓库部署

一 .前言

网络文件系统,英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样.
NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送
特点
(1)提供透明文件访问以及文件传输;
(2)容易扩充新的资源或软件,不需要改变现有的工作环境;
(3) 高性能,可灵活配置。
Yum 全称为 Yellow dog Updater Modified,它是一个在线的软件安装命令。
能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
例如我们需要安装一个软件A,而软件A–>B–>C–>D.通过yum我们只需要安装A,其他依赖包会自动安装。
如果把两者结合起来可以组成一个远程的软件yum 源,供客户端使用。

二:NFS共享存储服务

2.1:网络文件系统(Network File System)

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

2.2:使用NFS发布共享资源

2.2.1 安装nfs-utils,rpcbind软件包

提供RPC支持的服务为rpcbind,提供NFS共享的服务为nfs,安装完成后建议调整为开机自启动状态
手动加载NFS共享服务时,应先启动rpcbind,然后在启动nfs

2.2.2 设置共享目录

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

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

2.2.3 启动NFS服务程序

systemctl start rpcbind
systemctl start nfs

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

showmount -e

三 .共享httpd主页服务的具体配置

3.1. 服务器端添加一块硬盘做共享使用

[root@ shanan ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x26bda3fd 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@ shanan ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@ shanan ~]# vi /etc/fstab
[root@ shanan ~]# mount -a
[root@ shanan ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  1.3G   49G    3% /
devtmpfs                devtmpfs  898M     0  898M    0% /dev
tmpfs                   tmpfs     910M     0  910M    0% /dev/shm
tmpfs                   tmpfs     910M  9.5M  901M    2% /run
tmpfs                   tmpfs     910M     0  910M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  146M  869M   15% /boot
/dev/mapper/centos-home xfs        47G   33M   47G    1% /home
tmpfs                   tmpfs     182M     0  182M    0% /run/user/0
/dev/sdb1               xfs        20G   33M   20G    1% /mnt

3.2 安装主程序

[root@ shanan ~]# setenforce 0
[root@ shanan ~]# systemctl stop firewalld.service \
> 
[root@ shanan ~]# systemctl stop firewalld.service 
[root@ shanan ~]# yum install -y nfs-utils rpcbind

3.3 设置开机自启动

[root@ shanan ~]# 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@ shanan ~]# systemctl enable rpcbind
[root@ shanan ~]# 

3.4.将文件夹共享出去

[root@ shanan ~]# vi /etc/exports

在这里插入图片描述

3.5 查看服务开启

[root@ shanan ~]# systemctl start nfs
[root@ shanan ~]# systemctl start rpcbind
[root@ shanan ~]# netstat -ntap | grep rpc  查看服务开启
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      7690/rpcbind        
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      7725/rpc.mountd     
tcp        0      0 0.0.0.0:60308           0.0.0.0:*               LISTEN      7676/rpc.statd      
tcp6       0      0 :::111                  :::*                    LISTEN      7690/rpcbind        
tcp6       0      0 :::20048                :::*                    LISTEN      7725/rpc.mountd     
tcp6       0      0 :::44868                :::*                    LISTEN      7676/rpc.statd  

3.6 查看服务有无提供出去

[root@ shanan ~]# showmount -e  查看服务有无提供出去
Export list for  shanan:
/mnt 192.168.100.0/24

3.7 在客户端安装核心软件

[root@sha /]# yum install -y  nfs-util *  rpcbind
[root@sha /]# yum install httpd

3.8 挂载目录到httpd的主页位置

[

root@sha /]# mount -t nfs 192.168.100.55:/mnt /var/www/html  //带格式挂载
[root@sha /]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.3G   49G    3% /
devtmpfs                 898M     0  898M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M  9.6M  901M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/sda1               1014M  146M  869M   15% /boot
/dev/mapper/centos-home   47G   33M   47G    1% /home
tmpfs                    182M     0  182M    0% /run/user/0
192.168.100.55:/mnt       20G   32M   20G    1% /var/www/html
[root@sha /]# 

在这里插入图片描述

[root@sha /]# vi /etc/fstab
[root@sha /]# mount -a
[root@sha /]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.3G   49G    3% /
devtmpfs                 898M     0  898M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M  9.6M  901M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/sda1               1014M  146M  869M   15% /boot
/dev/mapper/centos-home   47G   33M   47G    1% /home
tmpfs                    182M     0  182M    0% /run/user/0
192.168.100.55:/mnt       20G   32M   20G    1% /var/www/html

3.8 修改HTTPD主页并测试

root@sha /]# cd /var/www/html
[root@sha html]# ls
[root@sha html]# vi index.html
[root@sha html]# 
[root@sha html]# cat index.html
<h1> hello,world  </h1>
[root@sha html]# systemctl restart httpd
[root@sha html]# 

在这里插入图片描述
在存储服务提供端查看,果然也能查看到刚才配置的文件
[

root@ shanan ~]# cd /mnt
[root@ shanan mnt]# ls
index.html
[root@ shanan mnt]# cat index.html 
<h1> hello,world  </h1>
[root@ shanan mnt]# 

3.9 假如服务端DOWN机了的处理方法

[root@ shanan mnt]# systemctl stop nfs

客户端查看,可能会卡住
[root@sha html]# df -Th

^C

这时不要慌,ctrl+C终止 ,或者再开一个终端进行取消挂载即可 
这时我们需要卸载挂载点
[root@sha html]# umount -lf /var/www/html
[root@sha html]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.3G   49G    3% /
devtmpfs                 898M     0  898M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M  9.6M  901M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/sda1               1014M  146M  869M   15% /boot
/dev/mapper/centos-home   47G   33M   47G    1% /home
tmpfs                    182M     0  182M    0% /run/user/0
[root@sha html]# 

四. 远程YUM仓库源部署

4.1 首先安装核心软件

[root@ shanan var]# yum install vsftpd

[root@ shanan var]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   50G  1.3G   49G    3% /
devtmpfs                 898M     0  898M    0% /dev
tmpfs                    910M     0  910M    0% /dev/shm
tmpfs                    910M  9.6M  901M    2% /run
tmpfs                    910M     0  910M    0% /sys/fs/cgroup
/dev/sda1               1014M  146M  869M   15% /boot
/dev/mapper/centos-home   47G   33M   47G    1% /home
tmpfs                    182M     0  182M    0% /run/user/0
/dev/sdb1                 20G   33M   20G    1% /mnt
/dev/sr0                 4.3G  4.3G     0  100% /opt

4.2 拷贝光盘软件到本地ftp位置下

[root@ shanan var]# cd ftp
[root@ shanan ftp]# ls
pub
[root@ shanan ftp]# mkdir centos7
[root@ shanan ftp]# cp -rf /opt/*  centos7/ &

未找到createrepo   安装软件
[root@ shanan ftp]# createrepo -g /opt/repodata/repomd.xml  other/
-bash: createrepo: 未找到命令
[root@ shanan ftp]# yum install -y create*

4.3 生成索引文件

完毕!
[root@ shanan ftp]# createrepo -g /opt/repodata/repomd.xml  other/   //生成索引文件
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

[root@ shanan other]# cd repodata/
[root@ shanan repodata]# ls
01a3b489a465bcac22a43492163df43451dc6ce47d27f66de289756b91635523-filelists.sqlite.bz2
12bbefc88e08f473cf860b4c150a9a8627f68eb256c9d54b80940e5dc224e85c-repomd.xml.gz
401dc19bda88c82c403423fb835844d64345f7e95f5b9835888189c03834cc93-filelists.xml.gz
5dc1e6e73c84803f059bb3065e684e56adfc289a7e398946574d79dac6643945-primary.sqlite.bz2
6bf9672d0862e8ef8b8ff05a2fd0208a922b1f5978e6589d87944c88259cb670-other.xml.gz
7c36572015e075add2b38b900837bcdbb8a504130ddff49b2351a7fc0affa3d4-other.sqlite.bz2
cdcb85c0e4daf1675d1ab6c42b0cacc6f9460d938296f7bf52678514a86a0554-repomd.xml
dabe2ce5481d23de1f4f52bdcfee0f9af98316c9e0de2ce8123adeefa0dd08b9-primary.xml.gz
repomd.xml

4.4 查看服务

[root@ shanan repodata]# netstat -ntap | grep 21
tcp6       0      0 :::21                   :::*                    LISTEN      7984/vsftpd         
[root@ shanan repodata]# 

4.5 客户端安装FTP软件

[root@sha ~]# yum install -y ftp
[root@sha ~]# ftp 192.168.100.55
Connected to 192.168.100.55 (192.168.100.55).
220 (vsFTPd 3.0.2)
Name (192.168.100.55:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls             //查看FTP列表文件夹
227 Entering Passive Mode (192,168,100,55,119,5).
150 Here comes the directory listing.
drwxr-xr-x    8 0        0             220 Jul 12 10:58 centos7
drwxr-xr-x    3 0        0              22 Jul 12 11:01 other
drwxr-xr-x    2 0        0               6 Apr 01 04:55 pub
226 Directory send OK.
ftp> bye
221 Goodbye.

4.6 修改客户端的yum 源仓库配置

[root@sha ~]# cd /etc/yum.repos.d

4.6.1 将原来的YUM源配置文件移走

[root@sha 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@sha yum.repos.d]# mkdir bak
[root@sha yum.repos.d]# ls
bak               CentOS-CR.repo         CentOS-fasttrack.repo  CentOS-Sources.repo
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo      CentOS-Vault.repo
[root@sha yum.repos.d]# mv C* bak
[root@sha yum.repos.d]# ls
bak

4.6.2 创建新的YUM源配置文件

[root@sha yum.repos.d]# vi centos7.repo

[base]
name=centos7.Packages
baseurl=ftp://192.168.100.55/centos7
enabled=1
gpgcheck=1
gpgkey=ftp://192.168.100.55/centos7/RPM-GPG-KEY-CentOS-7


[other]
name=other.packages
baseurl=ftp://192.168.100.55/other
enabled=1
gpgcheck=0

4.6.3 查看yum仓库,测试

[root@sha yum.repos.d]# yum list
[root@sha yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base other
Cleaning up list of fastest mirrors
Other repos take up 19 M of disk space (use --verbose for details)
[root@sha yum.repos.d]# yum makecache
已加载插件:fastestmirror
Determining fastest mirrors
base                                                                                | 3.6 kB  00:00:00     
other                                                                               | 3.6 kB  00:00:00     
(1/8): base/group_gz                                                                | 166 kB  00:00:00     
(2/8): base/filelists_db                                                            | 3.2 MB  00:00:00     
(3/8): base/other_db                                                                | 1.3 MB  00:00:00     
(4/8): base/primary_db                                                              | 3.1 MB  00:00:00     
(5/8): other/group_gz                                                               | 1.1 kB  00:00:00     
(6/8): other/filelists_db                                                           |  586 B  00:00:00     
(7/8): other/primary_db                                                             | 1.1 kB  00:00:00     
(8/8): other/other_db                                                               |  575 B  00:00:00     
元数据缓存已建立
[root@sha yum.repos.d]# yum install mysql -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.60-1.el7_5 将被 安装
--> 解决依赖关系完成

[root@sha yum.repos.d]# yum update 更新软件包,更新软件和系统内核
[root@sha yum.repos.d]# yum udgrade 只更新软件包

猜你喜欢

转载自blog.csdn.net/BIGmustang/article/details/107305900