NFS共享存储

本文探讨了NFS作为存储解决方案在图片和视频共享中的应用,以及CDN如何通过智能DNS优化内容分发,减少源站压力。讲解了NFS的实现原理、配置参数和实验步骤,以及CDN的建立和使用策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NFS共享存储

主要储存图片和视频

CDN 内容分发网络

加速内容相应,在用户和服务端之间建立的缓存服务器。用户请求网站资源,用使用到智能dns,如果当地服务器没有请求的资源,那么cdn节点会向源站请求资源,进行缓存,以便加速相应。可是当大量用户请求时,cdn会做大量的回源操作,这样服务器同样无法支撑,所以,一般会将热门资源提前推送到cdn,这样就能避免大量回源,减缓源端压力。

智能dns

根据请求的地域自动响应对应地域的cdn服务器。

CDN如何建立

因为CDN成本昂贵,所以会有CDN厂商,只需要花钱就能购买服务。

NFS的实现原理

客户端通过rcp协议(远程服务调用)和服务端进行联网通信,使用tcp协议进行文件写入和传输。

NFS配置文件的参数

配置文件所在目录/etc/exports.d
rw* 读写
ro 只读
all_squah:无论nfs的客户端用什么账户访问均映射为nsf服务端的匿名用户
no_all_squah:无论什么账户访问,都不进行压缩
sync:同时将数据写入内存和磁盘中
async:优先将数据写入内存,再存入磁盘,效率高,但可能丢失数据
anonuid:指定nfs的uid 必须存在系统,配合all_squah使用
anonuid:指定nfs的gid 必须存在系统,配合all_squah使用

NFS实验步骤

  1. nfs服务端的操作
下载软件
yum install nfs-utils
!!!创建需要共享的目录!!!
mkdir /data
编辑配置文件
vim /etc/exports
#共享的目录     共享的网段以及对这个目录所拥有的权限
/data         172.16.1.0/24(rw,sync,all_squah,anonuid=666,anonuid=666)
保存退出
:wq
!!!!!关闭服务器的防火墙!!!!!
centos 8 启动nfs
systemctl start nfs-server
centos 8 设置开机自启
systemctl enable nfs-server
  1. 客户端进行挂载
showmount -e 172.16.1.50
显示nfs服务端共享的目录清单
mount -t nfs 172.16.1.50:/data /mnt
将172.16.1.50主机内的目录data挂载到本机的mnt目录,-t 是指定挂载类型
df -h
查看挂载是否成功

如果需要永久生效需要写入/etc/fstab/文件中
172.16.1.50:/data/blog /mnt nfs defaults 0 0
  1. 确定rw权限是否生效
尝试在mnt中创建文件
查看服务端的/data的用户身份
cat /var/lib/nfs/etab

centos 7 的nfs下载后会自动创建一个nfsnobody用户
centos7可通过grep "65534" /etc/passwd 查看用户身份。
centos8不显示,如需变更属主和属组,直接输入uid和gid也可变更
chown -R 65534.65534 /data
  1. 如果服务端更改了共享目录的属主和属组,那么需要重启nfs服务
    并且连接的客户端也需要重新挂载。
    umount -lf 强制 取消挂载。
### 配置和使用NFS共享存储 #### NFS简介 NFS(Network File System),即网络文件系统,是由Sun Microsystems开发的一种分布式文件系统协议。它允许不同主机间的文件共享,使得远程文件访问如同本地文件操作一般便捷[^2]。 #### 安装NFS工具 为了实现NFS功能,在服务器上需安装`nfs-utils`软件包。该工具提供了必要的守护进程和服务来管理NFS共享。 ```bash yum install -y nfs-utils ``` #### 修改配置文件 编辑`/etc/exports`文件以定义要共享的目录及其权限设置。例如: ```plaintext [nfs root ~]# cat /etc/exports /nfs-data 172.16.1.0/24(rw,sync) ``` 上述配置表示将`/nfs-data`目录共享给子网`172.16.1.0/24`内的所有设备,并赋予读写权限,同时启用同步模式以提高数据一致性[^3]。 #### 启动并设置NFS服务开机自启 确认NFS服务已启动且设置了开机自动运行非常重要。如果发现服务未正常工作,则可以通过以下命令解决: ```bash [root@Client ~]# systemctl status nfs-server ○ nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@Client ~]# systemctl enable --now nfs-server.service Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service. ``` 这一步确保了即使重启机器后,NFS服务仍能继续提供文件共享能力[^4]。 #### 常用命令总结 以下是几个常用的NFS管理命令: - `-v`: 查看当前主机所有的NFS共享状态。 - `-r`: 让NFS重新加载配置文件并应用新的共享设定。 - `-a`: 显示本机全部已经激活的NFS共享列表。 - `-au`: 终止所有正在进行中的NFS共享活动[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值