部署YUM仓库以及NFS资源共享服务
一 、YUM概述
1.1、 YUM,Yellow dog Updater Modified
基于RPM包构建的软件更新机制
可以自动解决依赖关系
所有软件包由集中的YUM软件仓库提供
二 、准备安装源
2.1、 软件仓库的提供方式
FTP服务:ftp://…
HTTP服务:http://…
本地目录: file://…
ftp的根目录再/var/ftp/
2.2、 RPM软件包的来源
Centos 发布的RPM包集合
第三方组织发布的RPM集合
用户自定义的RPM包集合
2.3、构建Centos 7 软件仓库
RPM包来自Centos 7 DVD光盘
通过FTP方式 提供给客户机
[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# cp -rf /media/cdrom/* /varftp/centos7
[root@localhost ~]# rpm -ivh /media/cdrom/Pachages/vsftpd-3.0.2-21el7*86_64.rpm
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd
2.4、在软件仓库中加入非官方RPM包组
包括存在依赖关系的所有RPM包
使用createrepo工具建立仓库数据文件
[root@localhost ~]# mkdir /var/ftp/other
[root@localhost ~]# cd /var/ftp/other/
[root@localhost repodata]# createrepo-g /media/cdrom/repodata/repomd.xml
三、访问YUM仓库
3.1、为客户机指定YUM仓库位置
配置文件: /etc/yum.repos.d/centos7.repo
[root@localhost ~]# vi /etc/yum.repos.d/centos7.repo
[base]
name=centos7.3
baseurl=ftp://192.168.4.254/centos7
enabled=1
gpgcheck=1
gpgkey=ftp:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #软件验证公钥
[other]
name=Other RPM Packages
baseurl=ftp://192.168.139.132/other
enabled=1
gpgcheck=0
四、NFS共享存储服务
4.1、定义:
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFs协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
4.2、安全性:
对于大多数负载均衡群集来说,使用NFs协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只能在局域网中使用。
NFS 服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制以完成远程到本地的映射过程。
所以需要安装 nfs-utils、rpabind软件包来提供NFs共享服务,前者用于NES 共享发布和访问,后者用于RPC支持。
NFS的配置文件为/etc/exports
格式为:
共享的目录位置 客户机地址(权限选项)
4.3、NFS架构

4.4、在文件服务器使用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/wwwroot192.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)
客户机地址可以是主机名、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文件中匿名用户的GID
(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共享目录
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
#查看NFS服务器端共享了哪些目录
showmount -e 192. 168.80.10
2、手动挂载NFS共享目录
mkdir / myshare
mount 1 92.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