0x00 事件
最近买了一台 500G 储存的 VPS,但是与国内的连接、下载速度都比较差,于是想了个「曲线救国」的方式。
另外有一台 GIA 与 VPS-500G 通信比较理想,同时 GIA 与国内通信也比较理想,所以想出这个通过 NFS 服务将 VPS-500G 的存储挂载到 GIA,从而达到「曲线救国」的效果。
下面来验证这种方式是否可行。
0x01 NFS 部署
1、VPS-500G 为 Debian 系统,作为 NFS Server
# 安装 nfs
$ apt-get install nfs-common nfs-kernel-server
# 创建共享目录
$ mkdir /data/nfs-dir
# 目录授权
$ chmod a+w /data/nfs-dir
# 编辑配置文件,ip 地址对应允许被挂在的服务器 ip
$ vi /etc/exports
/data/nfs-dir 192.168.1.2(rw,sync)
# 启动服务
$ service nfs-kernel-server start
# 查看服务状态
$ service nfs-kernel-server status
2、GIA 为 CentOS 7 系统,作为 NFS Client
# 安装挂载工具
$ yum -y install nfs-utils rpcbind
$ systemctl start rpcbind
$ systemctl enable rpcbind
# 查看目标服务器是否有可挂载目录
$ showmount -e 192.168.1.1
Export list for 192.168.1.1:
/data/nfs-dir 192.168.1.2
# 创建挂载目录
$ mkdir /data/nfs-dir
# 将目标服务器目录挂载到本机
$ mount -t nfs 192.168.1.1:/data/nfs-dir /data/nfs-dir/
# 查看一下磁盘挂载信息
$ df -h
……
192.168.1.1:/data/nfs-dir 458G 4.6G 430G 2% /data/dir
在 GIA 中的 nfs-dir 目录创建文件,在 VPS-500 的 nfs-dir 下能看到同文件,说明成功挂载上去了。
0x02 测试
验证下开始的设想。
1、首先看 VPS-500G 的下载速度:
# 在 VPS-500G 的 /data/nfs-dir 下放了个镜像文件
$ ls -lh
total 919M
-rw-r--r-- 1 nobody nogroup 918M Aug 19 03:31 CentOS-7-x86_64-Minimal-1810.iso
# 启动一个简单的文件服务器
$ python -mSimpleHTTPServer
浏览器查看文件
本地电脑上使用多线程下载此镜像测试速度:
$ axel -n 20 http://192.168.1.1:8000/CentOS-7-x86_64-Minimal-1810.iso
速度不理想。
2、再看看「曲线救国」 GIA 的下载速度
# 因为是共享目录,直接查看 GIA 的 /data/nfs-dir
$ ls -lh
total 919M
-rw-r--r-- 1 nobody nogroup 918M Aug 19 03:31 CentOS-7-x86_64-Minimal-1810.iso
# 启动一个简单的文件服务器
$ python -mSimpleHTTPServer
本地下载 GIA 里的镜像:
$ axel -n 20 http://192.168.1.2:8000/CentOS-7-x86_64-Minimal-1810.iso
同一个文件,通过设想的 NFS 的方式,下载速度上得到了很大的提升。
可以愉快地使用这台大盘鸡了。