什么值得买 05-06
把电脑游戏装进NAS里!极空间部署 iSCSI 服务,扩容电脑存储空间
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

作者:可爱的小 cherry

大家好,这里是 Cherry,喜爱折腾、玩数码,热衷于分享数码玩耍经验 ~

前言

NAS 作为网络存储设备,可以提供各式各样基于网络的存储服务。其中,常用的分类又包含文件传输协议(泛指)、对象存储协议、块存储协议、数据库存储协议等。

⭐文件传输协议(泛指),就是最常见的就是 SMB、NFS、FTP/SFTP、WebDav 等;此外,Syncthing、Rysnc 等也算是。

⭐数据库存储协议,是指将文件以一定的编码格式存入各类数据库中。

⭐对象存储协议,以 AWS S3、MinIO 为常见服务,将文件存在对象桶中。

⭐块存储协议,以 iSCSI 为例,提供原始块设备访问,可作为物理存储。

日常工作、生活中,最常用的就是文件传输协议,这也是大部分 NAS 会提供的服务;其次是对象存储协议,比如图床等;再次是块存储协议,例如 NAS 给小主机扩容等;最后是数据库存储协议,一般仅在开发中使用。

例如极空间私有云,就提供了常见的文件传输服务。

最近,我利用 AI 工具,开发了一款基于 docker 的 iSCSI 管理软件,原理是基于 ubuntu docker 的 tgt web 管理界面,实现原生的 tgt 服务。在本项目的支持下,极空间除了提供能实现文件传输外,也能提供块存储协议!

一、项目部署

1、下载镜像

该项目镜像,我通过 github action 定时发布,可以通过极空间的自定义拉取功能直接下载,镜像地址:ghcr.io/coracoo/d-tgtadm:latest

如果嫌弃 github 仓库下载慢的,也可以下载阿里云的镜像包:【crpi-xg6dfmt5h2etc7hg.cn-hangzhou.personal.cr.aliyuncs.com/cherry4nas/d-tgtadm:latest

2、创建容器

选择刚导入 / 下载的镜像,选择添加到容器。

基本设置取消性能限制,让 iSCSI 拥有更好的性能。

【文件夹路径】:默认提供了 /app/config 和 /app/iscsi 两个路径,前者用来存储配置文件、日志;后者用来存储虚拟磁盘,如果这两个文件不映射,那重启容器后就掉盘了,因此务必填写。

此外,如果在极空间里已经有现成的各类虚拟磁盘,我们也可以挂载到 /app/iscsi/XXX.img 下,这样容器会直接读取磁盘,并且自动挂载到 iSCSI 上。

【网络】,本项目采用了 3260(iSCSI 端口),13260(web 管理端口)两个端口,请务必将网络更改为 host 模式。

【环境变量】,目前没有设置参数,唯一可以改的就是 TZ 时区,根据你所在地区修改即可。

二、系统使用方法

1、使用方法

如果我们启动容器的时候,挂在了虚拟磁盘的,那么软件会在第一次启动的时候直接将虚拟磁盘挂载到 iSCSI Target 1 LUN 1 上,我们直接就可以使用了。

在 windows 的搜索框,搜索 iSCSI 发起程序并打开。

在目标里输入极空间的 ip 地址,点击快速连接。

确保连接成功。

接着,搜索并打开计算机管理,切换到磁盘管理,挂载成功的话,系统会提示要初始化磁盘。选择 GPT 分区并确认即可。

然后选择增加的未分配磁盘,右键新建简单卷,一直下一步。

然后你就可以看到挂载为盘符的 LUN 块了,这样我们就可以正常在 PC 里使用 NAS 割出来的 iSCSI 块存储了。磁盘的读写速度是受物理硬盘、网络的影响的,实际使用速度和挂载 SMB 差不多,不会有更多性能损耗。

2、功能详解

除了默认挂载的第一个磁盘外,我们还可以手动配置 iSCSI 服务。

首先是最上方的状态栏,这里展示了系统的基本信息、根目录、Target、LUN、磁盘数量;中间的 LUN 性能目前还在开发中,忽略即可;iSCSI 状态栏,用于打印 tgt 的信息。

系统启动时,会创建一个 iqn.2025-05.com.cherry:target1 的默认 IQN,target id 是 1。大家可以删除也可以保留,设置自己喜欢的 IQN 和 Target ID。

点击创建 Target,可以随意输入 ID 和 IQN,注意 IQN 要保持 iqn.yyyy-mm.com.xxxx:name 的格式,默认开放全部白名单。

清除 ACL 策略,就是删除现有的白名单。

增加 ACL 策略,就是增加白名单。

白名单会在列表里展示,全部放行代表 ALL。

接着,我们要创建虚拟磁盘。默认采用 qemu 方式创建虚拟磁盘,两者的区别写在了系统里,建议使用 qemu 方式创建,配置更灵活。

⭐虚拟磁盘删除功能:考虑到删除是永久性的,所以建议从 NAS 删除,系统里不单独做删除功能。并且在删除之前,需要先将 LUN 块和虚拟磁盘解绑,否则会生成一个空的虚拟磁盘。

创建好虚拟磁盘以后,我们将虚拟磁盘挂载到 Target 和 LUN 中,LUN 作用主要是标记。

最终一个完整的 LUN 块,包括 Target ID、LUN ID、后备磁盘(即虚拟磁盘)。

当然,我们还支持多 Target、多 LUN、多磁盘的混合挂载。详见下图,同时连接了 2 个 IQN,并且挂载了 3 个 LUN。

注意,一块虚拟磁盘不要挂载给不同的客户端,这会导致读写错乱,切记一块磁盘至多对应一台 PC,但是一台 PC 可以对应多块磁盘。

总结

本文通过我自行开发的 web 管理工具,让极空间增加了 iSCSI 存储协议,从而实现给 PC、miniPC、其它 NAS 提供块存储的能力。

至于对象存储服务,大家也可以根据我之前介绍的极空间部署 MinIO 服务来实现。

如果你是家庭用户,并且期待简单易用的 NAS,那么极空间绝对是你的不二选择。国补期间,网络存储设备有 15% 的补贴,是入手的好时机!新手建议入手 Q4、Z4 Pro 性能版两款型号,高性能可入手 Z423 标准版和 Z423 旗舰版。

本文来自什么值得买网站(www.smzdm.com)

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

nas 数据库 阿里云 物理 ubuntu
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论