前言
群晖默认支持的文件系统有btrfs和ext4,对于一些媒体影音游戏等比较大的文件,组RAID做热备对于笔者个人来说不太划算, 而在系统升级或者换设备备份时候把这些挟裹进去,备份文件则是巨大无比.
笔者的分盘策略是RAID5只存系统软件类电子书之类的软件, 挂载NTFS做云备份 + 冷备, 视频影音等媒体文件做成外挂NTFS(DSM默认不支持SATA只读)所以就有了这篇文章
💖: 修改思路是:群晖DSM默认sata不支持NTFS但是使用usb接口或者背部的esata接口是支持的,那我们就通过修改默认配置,让系统误认为改硬盘插槽是通过esata连接的就可以了,这样就可以做到了可插拔的灵活性。
方法 / 步骤
方法一: DSM计划任务挂载 ( 推荐 )
群晖支持ntfs,不管是内置还是外接,在计划任务里自定义脚本挂载ntfs硬盘,DS920+在DSM7.x下成功挂载
1.1 插入NTFS硬盘,SSH定位盘符
ssh登录查找挂载分区 fdisk -l查找你的ntfs硬盘分区,比如/dev/sdd1
sudo fdisk -l
- 在Device 设置这一栏找到微软对应文件相应盘符, 并拷贝设备名称
/dev/sata1p1
1.2 新建影子文件夹 (便于映射)
1.2.1 控制面板新建共享文件夹,比如ntfs
1.2.2 FileStation 创建子文件夹对应NTFS硬盘的盘符
笔者新建的文件夹名称是disk4
- 创建成功之后拷贝绝对路径后面会用到
1.3 计划任务脚本开机挂载
控制面板 --> 任务计划 -->新增 --> 用户自定义脚本
1.3.1 创建任务并运行
- 任务设置Tab栏 用户自定义脚本
mount -t ntfs /dev/sata1p1 /volume1/ntfs/disk4# 这里命令改成你自己的路径
mount -t ntfs [你在SSH查询到你的NTFS盘符] [在File Station创建的影子文件夹]
- 修改成功之后点击确定,选中该任务–>运行–>确定
1.3.2 测试挂载是否成功
- 回到File station 查看已经成功挂载
- 拷贝文件查看能直接成功拷贝
方法二: SSH修改系统配置
❗ DS218+下的DSM7.0.3实验可以成功挂载
DS920+下的DSM7.0.3修改失败不适用
1.1 : 群晖开启SSH并登录
- ssh客户端登陆
1.2: 编辑SATA系统配置
sudo vi /etc.defaults/synoinfo.conf
输入密码进入编辑页面, 并找到下面配置项
# esata 接口
esataportcfg="0x6" (二进制:110)
# sata接口
internalportcfg="0x1" (二进制:1)
💖:首先解释一下,这两个参数,esataportcfg定义的是eSATA口的数量和端口号,internalportcfg定义的是sata口的数量和端口号。这两个参数是使用“0x”+16进制数的表示方法,所以,你把这两个参数的值,去掉前面的“0x”,后面的那个16进制数转换成2进制数,这一组2进制数就是反应的20位的端口状态顺序号,从后向前分别是1号、2号、3号,以此类推。
但是大家一定会有些奇怪,可能你的主板上只有4个sata口,这个参数为什么会有20位这么多呢?其实你要明白,你现在修改的参数是DSM系统的参数,并不是你的主板的参数,而你安装的DSM系统是群晖的3612XS的固件,3612XS是内置12个sata硬盘口的,所以它的默认参数就是12个sata口,外加8个外置eSATA口(下表第一行就是这个默认值),这个跟你主板上的实际接口状况是没有任何关系的。这一点,在前面我提到的那两个帖子里面并没有说清楚,所以容易让大家产生误解。
知道了这一点,还需要知道要怎么根据自己主板上sata接口的情况来修改这个参数表呢
比如DS918+ 4个sata 支持5个esata那么它的默认配置就是
# esata 接口 (111110000)
esataportcfg="0x1f0"
#sata接口 (1111)
internalportcfg="0xf"
- 那么我要改成第四个sata口转换成esata就改成下面的配置
# esata 接口 (111111000)
esataportcfg="0x1f8"
# sata接口 (111)
internalportcfg="0x7"
🧲 在线进制转换
- 发现已经外部挂载成功
参考资料 & 致谢
[1] 不改synoinfo.conf,群晖挂载ntfs硬盘