9

我的笔记本电脑瞬间扩大一个T的容量!

 2 years ago
source link: https://segmentfault.com/a/1190000040898815
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

我的笔记本电脑瞬间扩大一个T的容量!

不知道有多少人在家里搭建中央存储设备的,也就是NAS。这个东西在我日常生活中,存储了大量的个人资料,家人们的照片,技术的资料,还有各种高清影视剧。搭配公网的IP,可以真正做到,任何时候任何地点的读取资料的需求。

我之前玩NAS写过一篇基础性的介绍文章,包括公网的申请和端口映射,有兴趣的小伙伴可以读下:

https://mp.weixin.qq.com/s/Mw...

然而使用NAS一段时间后,虽然可以随时随地的对文件进行读取和保存。但是我发现还是有很多不方便的地方。

比如我电脑里的一个资料在公网环境要从NAS读取(注意是公网,内网其实怎么样都行),碰到了以下几个麻烦:

1.打开NAS的管理界面,进行授权登陆,把文件下载到本地运行。如果文件小倒还没事,如果文件体积一大,比如一部电影20个G,那我必须等电影全部下载到本地才可以观看。

2.群晖NAS提供了Synology driver文件同步工具,每台电脑上需要装一个客户端软件,A电脑同步上去,B电脑启动时还要等待Synology driver同步下来才能使用文件。我总觉得这种方式虽然可行,但还是太麻烦,还要通过第三方同步软件的支持才可以用。不原生。

3.如果是通过ftp,sftp等这种方式进行挂载访问,也是一样的问题。无非就是把网页的授权登陆换成了ftp的授权。而且ftp好像也不支持流方式的读取,电影无法直接读取播放。

4.至于smb协议方式,把smb映射到公网存在安全隐患。况且smb的传输效率也很低。

所以我后来都采用webdav协议进行挂载,把nas挂载成本地的一个网络硬盘进行访问。这种方式我一直觉得是最好的方式,因为相当于直接在本地进行了NAS磁盘的操作。也能以流的方式播放影视资源。多台电脑,也能同时挂载,这里存进去,那里就能实时读取到。相当便捷。

但是在使用webdav的时候我也发现一些弊端,比如有些软件或者游戏是不支持直接装在网络磁盘里的。

我于是就想,如果系统能把网络磁盘当做是自己本地的磁盘。那就完美了。

就在前段时间,一个老哥和我介绍了iSCSI这个协议,还真能实现这样的骚操作。我研究了以后,成功的把NAS的一部分磁盘空间完美的挂载到了本地,并且,系统会把这个磁盘完完全全当做是本地的磁盘空间。我的macbook pro瞬间扩大了一个T的容量!

好啦,前言有点长,所以,这篇文章就是给玩NAS的同学介绍下iSCSI协议的玩法。

什么是iSCSI

iSCSI(Internet Small Computer System Interface即Internet小型计算机系统接口),是一种在TCP/IP上进行数据块传输的标准,是由CiSCO和IBM两家公司发起的,并且得到了各大存储厂商的大力支持。iSCSI将SCSI命令封装于TCP/IP包之中,并且使用了一个SCSI帧头。iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作,也就是基于网络的存储。

这是关于iSCSI的解释,我给大家翻译一下:

首先iSCSI是一种通讯传输的协议标准,基于以太网进行数据传输,且传输速率非常高。其次目前很多系统的存储底层都支持这种协议,很多系统底层也支持这种协议,比如windows,macOS。所以这种协议,能够被系统的存储底层所识别,从而从内核层面进行挂载。这种挂载形式会被系统认为是本地的磁盘,但是走的却是网络传输协议。

一句话:操作系统原生的把NAS当做是自己本地的硬盘。安装软件游戏都没问题。

接下来就开搞,设置主要分2个端,服务端(NAS)和客户端(PC的操作系统)

NAS端的设置

我这里仅以群晖的NAS操作系统来介绍,威联通的我没玩过,但是原理都一样。

首先你得把群晖的NAS操作系统更新到7.0版本,可以通过控制面板->更新和还原这个界面来查看:

image.png

然后,套件中间里找到SAN Manager这个套件,进行安装:

image.png

打开安装好的SAN Manager,选择LUN,点击新增。

选择你创建空间所用的磁盘,然后输入分配容量,我这里分配的是1T容量。这里就是从你这块磁盘划分出一块空间当做一块虚拟磁盘的意思。

image.png

这里一路下一步下去,LUN就会创建好,而且SAN Manager会自动为你创建一个Target,并且把LUN和Target会绑定好关系。在iSCSI里,你就会看到已经创建并映射好关系的Target。这里的Target是你客户端最终要连接的目标。

image.png

然后你需要将NAS服务器的3260端口通过路由器映射出去,如果进行端口映射我这里就不说了。如果不会的请自行baidu。

至此,NAS端的设置就完成了。

Windows端的设置

windows是原生支持iSCSI协议的。无需第三方软件既可以完成配置。这里我以windows 10的设置来举例。

首先win+R打开运行,输入services.msc

image.png

然后在打开的服务窗口里找到Microsoft iSCSI Initiator Service,启动它

image.png

随后在控制面板中找到管理工具,打开它

image.png

在管理工具里找到iSCSI发起程序,双击打开

image.png

在弹出的窗口中选择发现tab页,点击发现门户

image.png

在弹出的窗口中,输入你家路由的公网IP地址(不知道怎么申请公网的,可以看开头的另一篇文章介绍)和端口,端口我这里映射的是33260。

image.png

如果检测通过的话,回到目标tab页,你就会看到已发现的target目标,点击连接就可以了。

image.png

设置完这些后,你会发现,你的磁盘并没有多一块出来啊。别急,磁盘还需要做最后一步初始化动作。右击我的电脑,点管理,打开磁盘管理器。你会发现有一块磁盘还未被分配(这里我是拿一块分配了5G空间的演示)

image.png

选择GPT分区表方式进行确定,然后进行格式化。这里磁盘格式要注意下,如果你是想在多台windows电脑进行挂载就选NTFS,如果你是想在macOS和windows之间进行共同挂载就选FAT32。

格式化完毕之后,我们可以看到。这块磁盘已经完全像是在本地一样了。

image.png

这时,我们打开我的电脑,会发现多了一块磁盘,而且从表面上来看,你完全看不出这是块iSCSI挂载的硬盘。你甚至于可以把软件和游戏装到这里面!

image.png

macOS端的设置-Initiator X

Mac下的iSCSI协议苹果一直以来没有集成,所以这里需要用到第三方的软件来进行挂载。

macOS下的挂载iSCSI的软件不多。而且大多数需要收费。研究了下,macOS下有2个选择,daemon tools和Initiator X。

Initiator X在不付费的情况下只能挂载一个target。(关于获取Initiator X软件的方法看文末)。

装好软件,点左上角的Discovery,填入你的公网地址和端口

image.png

然后系统就会加载这个ip端口下的target

image.png

双击连接后,桌面就会多出一个这么图标

image.png

接下来把这个拖进你的finder收藏列表就可以了

image.png

然后,让我们看下这个盘的容量

image.png

是不是,多出了一个T的容量了,而且从感觉上也接近原生磁盘。是不是很哇塞。

macOS端的设置-Deamon Tools

另一款软件是Deamon Tools,我自己就用这款软件来进行挂载iSCSI磁盘。它是一款收费软件

为什么我不用免费的?主要是我有多台电脑,也有好几个磁盘要挂载,用免费的满足不了我,而且另一个原因Deamon Tools确实是一款老牌的虚拟磁盘映射工具,出于对这款软件的信任,我买了它的序列号,一次购买,永久使用。而且也不贵。

收费标准如下,这里我只买了2台机器的,终生授权费用也不贵,也只有78人民币。而且支持微信和支付宝支付,对国人也比较友好。

image.png

安装好之后,界面长这样,我们只需要它的远程设备功能就可以了,右键添加,和之前差不多的方式,输入公网ip和端口,然后回到主界面就可以自动发现target,双击进行连接就可以了。

image.png

之后的操作就和之前一样了,在桌面上就会多出一个磁盘,把这个拖到收藏列表里就可以了。

因为我mac电脑基本不怎么关机,直接打开Deamon Tools会帮我们自动连接。这样方便很多。

传输速率如何

传输速率分2个方面,写入和读取。

因为iSCSI挂载的盘从本质上来说还是网络盘,所以写入和读取还是取决于网络的传输速率。但是这里写入和读取取决的点不一样。

写入,取决于你当前网络的上行速度和家里网络的下行速度,取最小值。比如我公司的上行速度是50Mbps,而我家里网络的下行速度是300Mbps,那么我写入的速度就是50Mbps,换算成实际速度,约等于6MB每秒。

读取,取决于你当前网络的下行速度和家里网络的上行速度,取最小值,比如我公司的下行速度是500Mbps,而我家里网络的上行速度是30Mbps,那么我读取的速度就是30Mbps,换算成实际速度,约等于4MB每秒。

一般来说,企业的上行速度会比家里的上行速度来的快,所以如果你是在公司用。写入速度一般都是大于读取速度的。

有的小伙伴可能会觉得,这种6M写入,4M读取的速度实在是慢的可以。其实你只要不传输电影,一般的资料文件是绰绰有余了。而且就算是电影,你也不需要进行下载到本地看,直接打开观看即可,会以流的方式进行读取。

实测下来,4M的读取速率,看2K视频都可以不卡顿了。4K视频对传输速率要求比较高,4K还是会出现卡顿。

需要注意的事项

iSCSI这种挂载方式相当于从你的NAS划分了一块虚拟的空间。

这块虚拟的空间如同你本地的磁盘一样,需要格式化,甚至于可以进行分区。但是你放在这块磁盘空间的文件在你的NAS上却不会被读出来。

会有小伙伴问,那这样的意义是什么呢。我NAS上读不出来有什么用。

其实如果你有多台电脑,就会直呼这是个神器了。因为文件存在NAS里,其实也并不需要NAS系统来进行使用。使用方肯定是你的电脑。你A电脑存进去,B电脑就能像在本地一样的使用。难道不香么。等于从使用层面来说,让你不会觉得NAS这个东西的存在。而文件却实实在在的保存在NAS里,你NAS也不需要读出文件来使用。

这篇文章介绍了我玩NAS的一些分享,后续这个主题如果有人感兴趣,还会继续下去。为此我建了一个NAS交流群,感兴趣的小伙伴请在我公众号里回复"NAS",就可以加入群聊。关于此篇文章提到的软件,我都会在群里进行打包分享。

我的公众号新开辟了4个专栏,分别是开源推荐,技术干货,技术男的世界观以及技术改变生活。我是一个喜欢折腾的技术男,我日常分享除了写专业知识外,还会分享我对于这个世界的看法以及数码方面的应用介绍,我希望通过技术能改变和提高我们的生活效率。如果你对于我的内容感兴趣,希望你能点赞,分享,最重要的是关注我。

image.png


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK