我的笔记本电脑瞬间扩大一个T的容量!
前言
不知道有多少人在家里搭建中央存储设备的,也就是NAS。这个东西在我日常生活中,存储了大量的个人资料,家人们的照片,技术的资料,还有各种高清影视剧。搭配公网的IP,可以真正做到,任何时候任何地点的读取资料的需求。
我之前玩NAS写过一篇基础性的介绍文章,包括公网的申请和端口映射,有兴趣的小伙伴可以读下:
https://mp.weixin.qq.com/s/MwaZeDQZfk0tRt1D4iE-5g
然而使用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版本,可以通过控制面板->更新和还原这个界面来查看:
然后,套件中间里找到SAN Manager这个套件,进行安装:
打开安装好的SAN Manager,选择LUN,点击新增。
选择你创建空间所用的磁盘,然后输入分配容量,我这里分配的是1T容量。这里就是从你这块磁盘划分出一块空间当做一块虚拟磁盘的意思。
这里一路下一步下去,LUN就会创建好,而且SAN Manager会自动为你创建一个Target,并且把LUN和Target会绑定好关系。在iSCSI里,你就会看到已经创建并映射好关系的Target。这里的Target是你客户端最终要连接的目标。
然后你需要将NAS服务器的3260端口通过路由器映射出去,如果进行端口映射我这里就不说了。如果不会的请自行baidu。
至此,NAS端的设置就完成了。
Windows端的设置
windows是原生支持iSCSI协议的。无需第三方软件既可以完成配置。这里我以windows 10的设置来举例。
首先win+R打开运行,输入services.msc
然后在打开的服务窗口里找到Microsoft iSCSI Initiator Service,启动它
随后在控制面板中找到管理工具,打开它
在管理工具里找到iSCSI发起程序,双击打开
在弹出的窗口中选择发现tab页,点击发现门户
在弹出的窗口中,输入你家路由的公网IP地址(不知道怎么申请公网的,可以看开头的另一篇文章介绍)和端口,端口我这里映射的是33260。
如果检测通过的话,回到目标tab页,你就会看到已发现的target目标,点击连接就可以了。
设置完这些后,你会发现,你的磁盘并没有多一块出来啊。别急,磁盘还需要做最后一步初始化动作。右击我的电脑,点管理,打开磁盘管理器。你会发现有一块磁盘还未被分配(这里我是拿一块分配了5G空间的演示)
选择GPT分区表方式进行确定,然后进行格式化。这里磁盘格式要注意下,如果你是想在多台windows电脑进行挂载就选NTFS,如果你是想在macOS和windows之间进行共同挂载就选FAT32。
格式化完毕之后,我们可以看到。这块磁盘已经完全像是在本地一样了。
这时,我们打开我的电脑,会发现多了一块磁盘,而且从表面上来看,你完全看不出这是块iSCSI挂载的硬盘。你甚至于可以把软件和游戏装到这里面!
macOS端的设置-Initiator X
Mac下的iSCSI协议苹果一直以来没有集成,所以这里需要用到第三方的软件来进行挂载。
macOS下的挂载iSCSI的软件不多。而且大多数需要收费。研究了下,macOS下有2个选择,daemon tools和Initiator X。
Initiator X在不付费的情况下只能挂载一个target。(关于获取Initiator X软件的方法看文末)。
装好软件,点左上角的Discovery,填入你的公网地址和端口
然后系统就会加载这个ip端口下的target
双击连接后,桌面就会多出一个这么图标
接下来把这个拖进你的finder收藏列表就可以了
然后,让我们看下这个盘的容量
是不是,多出了一个T的容量了,而且从感觉上也接近原生磁盘。是不是很哇塞。
macOS端的设置-Deamon Tools
另一款软件是Deamon Tools,我自己就用这款软件来进行挂载iSCSI磁盘。它是一款收费软件
为什么我不用免费的?主要是我有多台电脑,也有好几个磁盘要挂载,用免费的满足不了我,而且另一个原因Deamon Tools确实是一款老牌的虚拟磁盘映射工具,出于对这款软件的信任,我买了它的序列号,一次购买,永久使用。而且也不贵。
收费标准如下,这里我只买了2台机器的,终生授权费用也不贵,也只有78人民币。而且支持微信和支付宝支付,对国人也比较友好。
安装好之后,界面长这样,我们只需要它的远程设备功能就可以了,右键添加,和之前差不多的方式,输入公网ip和端口,然后回到主界面就可以自动发现target,双击进行连接就可以了。
之后的操作就和之前一样了,在桌面上就会多出一个磁盘,把这个拖到收藏列表里就可以了。
因为我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个专栏,分别是开源推荐,技术干货,技术男的世界观以及技术改变生活。我是一个喜欢折腾的技术男,我日常分享除了写专业知识外,还会分享我对于这个世界的看法以及数码方面的应用介绍,我希望通过技术能改变和提高我们的生活效率。如果你对于我的内容感兴趣,希望你能点赞,分享,最重要的是关注我。
我的笔记本电脑瞬间扩大一个T的容量!的更多相关文章
- 用Docker在一台笔记本电脑上搭建一个具有10个节点7种角色的Hadoop集群(上)-快速上手Docker
如果想在一台电脑上搭建一个多节点的Hadoop集群,传统的方式是使用多个虚拟机.但这种方式占用的资源比较多,一台笔记本能同时运行的虚拟机的数量是很有限的.这个时候我们可以使用Docker.Docker ...
- 利用jquery+iframe做一个ajax上传效果
以下是自学it网--中级班上课笔记 网址:www.zixue.it html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict ...
- 推荐一个js脚本的字体拟合模型
推荐一个js脚本的字体拟合模型 http://r3mi.github.io/poly2tri.js/ 推荐一个js脚本的字体拟合模型 http://r3mi.github.io/poly2tri. ...
- 关于容器、虚拟机以及 Docker 的一个入门教程
Yves yao · 2017-09-05翻译 · 1315阅读 原文链接 huangxiaolu审校 源地址:http://zcfy.cc/article/a-beginner-friendly ...
- 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装
在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...
- 日常学习随笔-自定义了一个MyArrayListDefin集合(数组扩容+迭代器+JDK1.8新方法+详细说明)
一.自定义了一个ArrayList的模拟集合(源码+详细说明) 前段时间分析了下ArrayList集合的源码,总觉得如果不自己定义一个的话,好像缺了点什么,所以有了如下的代码. 代码可以说是逐行注释了 ...
- C语言判断一个32位的数据,有多少位是1,然后用串口发送出来
今天遇到了一个问题,遇到一个32位的数据,写一个子函数来判断它的多少位是1.我的思路一开始是把这个数据变成一个32位容量的数组然后每个位去比较是不是1,如果是1,就用另一个变量加1.最后返回这个变量. ...
- 如何制作一个可以用Bochs调试的最新内核系统盘
参考:http://blog.chinaunix.net/uid-26207112-id-3332621.html 1. 正确地创建一个包含启动分区的磁盘映像 1.1 创建磁盘映像文件 首先需要对磁盘 ...
- 手写一个简单的HashMap
HashMap简介 HashMap是Java中一中非常常用的数据结构,也基本是面试中的"必考题".它实现了基于"K-V"形式的键值对的高效存取.JDK1.7之前 ...
随机推荐
- html 表单input disabled属性提交后台无法获得数据
在input上加入disabled属性后, 点击提交会遗漏该值, 有两个办法: 一 可以考虑readonly属性,一样的不可修改操作,但是可以提交 二 在提交时 js 代码操作去除input上的dis ...
- Docker系列(9)- 常用其他命令(2) | 进入容器和拷贝的命令
进入当前正在运行的容器 #我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置#方法一 命令docker exec -it 容器ID bashShell#测试[root@localhost ...
- Kotlin协程入门
开发环境 IntelliJ IDEA 2021.2.2 (Community Edition) Kotlin: 212-1.5.10-release-IJ5284.40 介绍Kotlin中的协程.用一 ...
- python刷题第四周
本周有所收获的题目: 第一题: 第4章-17 水仙花数(20 分) (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身. 例如:153=1×1×1+5×5×5 ...
- linux帐户安全管理与技巧
实验环境 CentosOS5.6试验台. 任务一:建立与删除普通用户账户,管理组 1)创建一个新用户user1 useradd user1 查看用户是否创建成功 2)创建一个新组group1 grou ...
- Spirit带你了解CSS各个方向的居中方案
水平居中和垂直居中的方案 先看HTML的骨架 后面的代码都是基于这个来写的 <!DOCTYPE html> <html lang="en"> <hea ...
- Charles抓包工具断点修改返回内容
在测试过程中,往往需要让服务器返回指定的内容,测试一些特殊情况.例如列表内容为空.数据异常的情况等.如果通过操作服务器配合构造相应的数据会比较麻烦,甚至不好构造数据.此时,可以使用Charles的断点 ...
- 记一次某网站生产环境CPU忽高忽低故障解决过程
感谢 感谢[一级码农] 的帮助,之前也读了大佬的好多文章,一直在学习中,也没有实际操作过. 这次的过程也是在大佬的指点下完成的. 现象描述 从周六上午开始,陆续收到服务器CPU高的报警短信,到下午已经 ...
- 鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段 | 百篇博客分析OpenHarmony源码 | v71.01
子曰:"我非生而知之者,好古,敏以求之者也." <论语>:述而篇 百篇博客系列篇.本篇为: v71.xx 鸿蒙内核源码分析(Shell编辑篇) | 两个任务,三个阶段 ...
- CF1251F-Red-White Fence【NTT】
前言 刚开始看错题推了半天的生成函数 正题 题目链接:https://www.luogu.com.cn/problem/CF1251F 题目大意 $n$个白色木板,$k$个红色木板,给出这些木板的高度 ...