懂得分享 是一种美德 我有的 你也可以拥有 Linux 配置NFS共享服务
Posted wl.88888888
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了懂得分享 是一种美德 我有的 你也可以拥有 Linux 配置NFS共享服务相关的知识,希望对你有一定的参考价值。
一.YUM概述
YUM (Yellow dog Updater Modified)
• 基于RPM包构建的软件更新机制
• 可以自动解决依赖关系
• 所有软件包由集中的YUM软件仓库提供
二.准备安装源
① 软件仓库的提供方式
• FTP服务: ftp://r…
• HTTP服务: http://…
• 本地目录: file://…
② RPM软件包的来源
• CentOS发布的RPM包集合
• 第三方组织发布的RPM包集合
• 用户自定义的RPM包集合
③ 构建centos7 软件仓库
• RPM包来自centos7 DVD光盘
• 通过FTP方式提供给客户机
mkdir -p /var/ftp/centos7
cp -rf /media/cdrom/* /var/ftp/centos7
rpm -ivh /media/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm
systemctl start vsftpd
systemctl enable vsftpd
④ 在软件仓库中加入非官方RPM包组
• 包括存在依赖关系的所有RPM包
• 使用createrepo工具建立仓库数据文件
mkdir /var/ftp/other
cd /var/ftp/other
#非官方的RPM要先放入该目录下
createrepo -g /media/cdrom/repodata/repomd.xml ./
三.访问YUM仓库
为客户机指定YUM仓库位置
配置文件: /etc/yum.repos.d/centos7.repo
vi /etc/yum.repos.d/centos7.repo
[base]
name=SentOS 7.3
baseurl=ftp://192.168.4.254/centos7
enabled=1
gpgcheck=1
gpgkey-file///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#软件校验公钥
[other]
name=Other RPM Packages
baseurl=ftp://192.168.4.254/other
enabled=1
gpgcheck=0
四.本地YUM仓库
直接以centos7 光盘放入光驱
• 将centos7光盘放入光驱
• 挂载镜像到仓库位置,URL地址为file://media/cdrom
vi /etc/yum.repos.dlocal.repo
......
[local]
name=CnetOS 7.3
baseurl=file///media/cdrom
enabled=1
gpgcheck=0
五.YUM工具概述
① 关于YUM命令
• 由软件包yum-3.4.3-150.el7.centos.noarch提供
• 用来访问YUM仓库,查询、下载及安装、卸载软件包
② YUM的配置文件
• 基本设置: /etc/yum.conf
• 仓库设置: /etc/yum.repos.d/* .repo
• 日志文件: /var/log/yum.log
③ YUM缓存目录
• 存放下载的软件包、仓库信息等数据
• 位于/var/cache/yum/$ basearch/$releasever
yum clean all
六.软件包查询、安装、卸载
① 查询软件包
yum list [软件名]
yum info [软件名]
yum search <关键词>
yum whatprovides <关键词>
示例
yum list
yum list httpd
yum info vsftpd
yum search gcc
yum whatprovides vim
② 安装软件
yum install [软件名]
yum groupinstall <包组名>
③ 升级软件
yum update
yum groupupdate
示例
#-y表示自动确认
[root@localhost ~]# yum -y install net-snmp
[root@localhost ~]# yum -y groupinstall gnome-desktop
[root@localhost ~]# yum -y update
④ 软件卸载
yum remove <软件名>
yum groupremove <包组名>
示例
yum -y remove autofs
yum -y groupremove gnome-desktop
七.NFS共享
① NFS (Network File System)网络文件系统
• 依赖于RPC (远端过程调用)
• 需安装nfs-utils、rpcbind软件包
• 系统服务: nfs、rpcbind
• 共享配置文件: /etc/exports
② 详情
✔ NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
✔ 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存储设备必然支持的一种协议。但是由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差一般只能在局域网中使用
✔ NFS服务的实现依赖于RPC(RemoteProcessCall,远端过程调用) 机制,以完成远程到本地的映射过程。所以需要安装nfs-utils、 rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持
✔ NFS的配置文件为/etc/exports
✔ 格式为: 共享的目录位置客户机地址(权限选项)
③ 在文件服务器使用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/wwwroot 192.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用户映射成匿名用户
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
其它常用选项:
• all_ squash : 所有访问用户都映射为匿名用户或用户组
• async : 将数据先保存在内存缓冲区中,必要时才写入磁盘
• subtree_ check (默认) : 若输出目录是一个子目录,则nfs服 务器将检查其父目录的权限
• o_subtree_check: 即使输出目录是一个子目录,则nfs服务器也不检查其父目录的权限,这样可以提高效率
• anonuid=xxx : 指定NFS服务器/etc/ passwd文件中匿名用户的UID
• anongid=xxx : 指定NFS服务器/etc/passwd文件中匿名用户的GID
④ 在客户机中访问NFS共享资源
1.安装nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
#查看NES服务器端共享了哪些目录
showmount -e 192.168.80.10
2.手动挂载NFS 共享目录
mkdir /myshare
mount 192.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
举例
在文件服务器使用NFS发布共享资源:
在客户机中访问NFS共享资源:
共享网页:
服务端:
客户端:
这里的网页共享测试,是接着前面的实验继续拓展的,没有开启nfs以及rpcbind记得开启
以上是关于懂得分享 是一种美德 我有的 你也可以拥有 Linux 配置NFS共享服务的主要内容,如果未能解决你的问题,请参考以下文章