首页 > 系统相关 >Centos8 共享NFS 操作手册

Centos8 共享NFS 操作手册

时间:2024-10-23 16:23:13浏览次数:5  
标签:www 操作手册 sudo 192.168 nfs NFS backups Centos8

文章结构

img

问题解决

问题解决:Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...

大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误“错误:Failed to download metadata for repo ‘AppStream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist”

1、进入yum的repos目录

cd /etc/yum.repos.d/
 
2、修改所有的CentOS文件内容

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
 
3、更新yum源为阿里镜像

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

yum clean all

yum makecache
 
4、yum安装测试是否可以yum安装

yum install wget –y

yum install nfs-utils
 

服务端


安装 NFS 服务器
“nfs-utils”软件包提供了建立 NFS 服务器所需要的 NFS 工具和守护程序。想要安装它,运行下面的命令:
dnf install nfs-utils

sudo systemctl enable --now nfs-server

默认情况下,在 CentOS 8 上,NFS 3 和 NFS 4 都可以用,NFS 2 被禁用。NFSV2 非常老,没有理由启用它。想要验证,运行下面的cat命令:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

创建文件系统
sudo mkdir -p /srv/nfs4/{backups,www}

挂载实际的目录:
sudo mount --bind /opt/backups /srv/nfs4/backups
sudo mount --bind /var/www /srv/nfs4/www

想要这个挂载持久化,添加下面的条目到/etc/fstab文件:
sudo nano /etc/fstab

/usr/local/data/backups /srv/nfs4/backups  none   bind   0   0
/usr/local/data/www     /srv/nfs4/www      none   bind   0   0

导出文件系统
sudo nano /etc/exports
/srv/nfs4         192.168.33.0/24(rw,sync,no_subtree_check,crossmnt,fsid=0)
/srv/nfs4/backups 192.168.33.0/24(ro,sync,no_subtree_check) 192.168.33.3(rw,sync,no_subtree_check)
/srv/nfs4/www     192.168.33.110(rw,sync,no_subtree_check)

第一行包含fsid=0定义了 NFS 根目录/srv/nfs.来自192.168.33.0/24网络的所有客户端被允许访问 NFS 卷。crossmnt选项是必要的,用来分享被导出目录的子目录。

第二行显示了如何针对一个文件系统指定多个导出规则。它导出了/srv/nfs4/backups目录,并且允许来自192.168.33.0/24的客户端只读访问,而来自192.168.33.3的客户端同时读写可访问。这个sync选项告诉了 NFS 在回复之前将修改写入磁盘。

最后一行应该是自解释的。想要了解更多可用选项,在终端输入man exports。

保存文件并且导出分享:
sudo exportfs -ra

次你修改/etc/exports文件你都需要运行一次上面的命令。如果有任何的错误或者警告,它们会被显示在终端上。

想要查看当前活跃的导出和它们的状态,使用:

sudo exportfs -v
输出将会包含所有分享以及它们的选项。就像你能看到的,还有我们没有在/etc/exports文件定义的选项。那些是默认选项,如果你想修改他们,你需要显式的设置那些选项。

/srv/nfs4/backups
		192.168.33.3(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/srv/nfs4/www 	192.168.33.110(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/srv/nfs4     	192.168.33.0/24(sync,wdelay,hide,crossmnt,no_subtree_check,fsid=0,sec=sys,rw,secure,root_squash,no_all_squash)
/srv/nfs4/backups
		192.168.33.0/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
复制
root_squash是一个最重要的选项,关系到 NFS 安全性。它阻止来自客户端 root 用户拥有被挂载分享目录的 root 权限。 它将会将 rootUID和GID映射到nobody/nogroup的UID和GID。

对于那些通过客户端机器访问的用户,NFS 预期会把客户端的用户和用户组 ID 匹配服务器上的用户和用户组。另外一个选项,就是使用 NFSv4 idmapping 特性,它能将用户和用户组 ID 转换成名字或者其他的方式。

就这些。此时,你已经在你的 CentOS 服务器上建立了一个 NFS 服务器。你可以看下一步,并且配置客户端,以便连接 NFS 服务器。

防火墙配置
FirewallD 是 CentOS 8 上的默认防火墙解决方案。

The NFS service 服务包含了允许访问 NFS 服务器的预设规则。

下面的命令将持久的允许来自192.168.33.0/24子网的访问:

sudo firewall-cmd --new-zone=nfs --permanent
sudo firewall-cmd --zone=nfs --add-service=nfs --permanent
sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent
sudo firewall-cmd --reload

客户端

安装 NFS 客户端
在其他客户端的机器上,安装需要挂载远程 NFS 文件系统的工

* 在 **Debian** 和 **Ubuntu** 上安装 NFS 客户端 在基于 Debian 的发行版中,包含挂载 NFS 文件系统的软件包名是:`nfs-common`。安装运行:
  sudo apt update sudo apt install nfs-common
* 在 CentOS 和 **Fedora** 上安装 NFS 客户端 在 Red Hat 和它的衍生版本上安装 `nfs-utils`包:


sudo yum install nfs-utils

vim /etc/fstab

192.168.33.97:/backups /usr/local/software/share/backups   nfs   defaults,timeo=900,retrans=5,_netdev	0 0
192.168.33.97:/www     /usr/local/software/share/www       nfs   defaults,timeo=900,retrans=5,_netdev	0 0



mkdir -p share/{backups,www}

使用mount命令挂载导出的文件系统:
sudo mount -t nfs -o vers=4 192.168.8.97:/backups /usr/local/software/share/backups
sudo mount -t nfs -o vers=4 192.168.8.97:/www  /usr/local/software/share/www

验证远程文件系统是否成功挂载,使用df命令:
df -h

想要持久化这些挂载,打开/etc/fstab文件:

sudo nano /etc/fstab

192.168.33.148:/backups share/backups   nfs   defaults,timeo=900,retrans=5,_netdev	0 0
192.168.33.148:/www share/www           nfs   defaults,timeo=900,retrans=5,_netdev	0 0

前面是共享服务器,后面是本地文件系统

测试 NFS 访问
touch /backups/test.txt

卸载 NFS 文件系统

如果你不再需要远程 NFS 共享,你可以使用 umount 命令卸载它。例如,想要卸载/backup,你可以运行:
sudo umount /backups

在这篇指南中,我们为你演示了如何建立一个远程 NFS 服务器,以及如何在客户机上挂载远程文件系统。如果你在生产环境中使用 NFS,并且分享敏感数据,我们建议你启用 kerberos 身份验证和鉴权。
作为一个 NFS 替代方案,你可以使用 SSHFS,通过 SSH 连接来挂载远程目录。SSH 默认被加密,而且很容易配置和使用。

后记

1. 机器重启后不能使用
服务端重启
systemctl restart nfs-server

客户端重新挂载
sudo mount -t nfs -o vers=4 192.168.8.97:/backups /usr/local/software/share/backups
sudo mount -t nfs -o vers=4 192.168.8.97:/www  /usr/local/software/share/www

后续需要解决重启后不能重新持久化挂载的问题

资料推荐

https://cloud.tencent.com/developer/article/1626790

https://cloud.tencent.com/developer/article/1993317

标签:www,操作手册,sudo,192.168,nfs,NFS,backups,Centos8
From: https://www.cnblogs.com/rainbowbridge/p/18103790

相关文章

  • NFS服务器
    0.安装和重启服务yum-yinstallnfs-utils,nfs重启服务systemctlrestartnfs-serviceshowmount-eIP地址   //当安装完成后可以见检查服务是否正常运行,没有共享文件夹时则返回空行1.配置文件夹得格式/etc/exports         ----nfs配置文件夹共享......
  • nfs服务器搭建
    1.dpkg-snfs-kernel-server 查看是否已经安装了nfs服务器2.若未安装sudoapt-getinstallnfs-kernel-server3.sudovi/etc/exports修改nfs服务配置文件4.增加一行/nfsdir*(rw,sync,no_subtree_check,no_root_squash)  这一行的意思就是把/nfsdir作为nfs工作目录  ......
  • Linux安装配置NFS实现目录挂载
    什么是NFSNFS(NetworkFileSystem)即网络文件系统,它允许网络中的计算机之间通过网络共享资源。将NFS主机分享的目录,挂载到本地客户端当中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,在客户端端看起来,就像访问本地文件一样。RPC,基于C/S模型。程序可以使用这个协......
  • NFS共享目录
    问题:应用服务器96.5.24.11和安装nginx服务器96.5.24.12,之间要挂载一个共享目录,使得用户上传的文件可以在前台页面展示出来,应该怎么做要在两个服务器之间共享目录以便于用户上传的文件能够在前端页面展示出来,可以采用多种方法实现共享存储。以下是几种可能的解决方案:1.NFS(N......
  • k8s-NFS系统配置 20241017
    1、NFS服务端安装-master节点192.168.177.133#安装nfs服务端yuminstallnfs-utils-y#创建共享目录mkdir/nfs#配置nfs共享vim/etc/exports#添加以下一行/nfs*(rw,sync,no_root_squash)#指明共享目录和权限设置 #启动nfs服务,并设置开机启动systemctlstartnfs-ser......
  • k8s-NFS系统配置
    k8s-NFS系统配置NFS(networkfilesystem),nfs文件系统在k8s中主要用于持久化存储,可以被多个pod访问和共享数据。特点数据持久性nfs为k8s的pod提供了一种持久化数据的方式,即使pod被删除,数据也不会丢失,这是因为数据存在nfs服务器上,并不是存在pod上。资源共享nfs系统的文件可以......
  • 华为云 linux centos8 安装tendis
    一、下载下载地址:http://tendis.cn/#/点击右上角的Download点击tendisplus-2.7.0-rocksdb-v8.5.3.tgz,由于下载速度非常慢,改用wget方式下载解决云服务器中访问github速度慢的问题:linux中在/etc/hosts中添加如下内容:20.205.243.166github.com输入下载命令:wgethttps:/......
  • Linux NFS
    NFS网络文件系统,英文NetworkFileSystem(NFS),是由SUN公司研制的UNIX表示层协议(presentationlayerprotocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。用vm虚拟两个linux;并同时关闭firewalld&SELINUXsystemctldisablefirewalldsetenforce0 s......
  • nfs-ganesha对比NFS最佳实践
    概述随着业务规模的不断扩大和数据访问需求的日益增长,现有的文件共享服务面临着诸多挑战,如性能瓶颈、扩展性不足等问题。为了有效解决这些问题,我们考虑引入NFS-Ganesha作为新一代的高性能网络文件系统解决方案。NFS-Ganesha是一款基于用户空间的高性能网络文件系统服务器,......
  • Centos8使用KVM
    安装好Centos8后先配置yum源[root@localhost~]#cd/etc/yum.repos.d/[[email protected]]#mkdiryum.bak[[email protected]]#lsCentOS-AppStream.repoCentOS-CR.repoCentOS-Extras.repoCentOS-Media.repoCentOS-Vault.repoCe......