0%

配置 Openmediavault 6 系统下的散装 NAS

手头的旧笔记本 ASUS K401UQ 的屏幕偏色偏到了 i1dp + DisplayCAL 都无法拯救的程度,不过 i5-7200U 的 CPU、4G + 4G 的双通道 DDR4 内存和 NVIDIA GeForce 940MX 的独显还是挺靠谱的,所以早上想了想干脆直接把屏幕拆了,替换原来的树莓派用来当 NAS 的主机。

鼓捣了一整天终于算是把东西都整完了,从 arm64 升级到 amd64,体验还是相当不错的,顺便在这里纯文字潦草地写一下步骤吧。

6月16日更新:ASUS 不小心被我整得开机点不亮了,重返树莓派。(´・ω・`)

2023.11.28 正式更换到黑群晖平台。

安装 Openmediavault 6

树莓派

树莓派可以相当方便地在没有屏幕的情况下安装 Openmediavault 6。

使用官方的 Raspberry PI Imager 烧录,配置用户名为 pi,选用基于 Debian 11 (Bullseye) 的 OS Lite (64-bit)。

同局域网下,在路由器的配置信息中找出树莓派的 ipv4 地址,或者用 ping-4 指令指定 ipv4 地址。

1
ping -4 raspberrypi.local

使用 ssh 连接,ipv4 地址或者 raspberrypi.local 均可。

1
2
ssh pi@192.168.3.3
ssh pi@raspberrypi.local

用 rsync 将 arm64 版的 xray 传入树莓派,执行本地安装。

1
2
3
rsync -av "/cygdrive/c/Users/i/xray" pi@192.168.3.3:/home/pi -P -e "C:\Users\i\scoop\apps\cwrsync\current\bin\ssh.exe" 
chmod +x install-release.sh
./install-release.sh --local Xray-linux-arm64-v8a.zip

修改 xray 的配置文件,重启 xray 服务,让当前终端走代理从而能够正常连接 GitHub。

1
2
3
nano /usr/local/etc/xray/config.json
export http_proxy=http://127.0.0.1:10809;export https_proxy=http://127.0.0.1:10809;export ALL_PROXY=socks5://127.0.0.1:10808
service xray restart

更新树莓派,执行脚本安装 Openmediavault 6。

1
2
apt update && apt upgrade -y
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

amd64 平台

使用 amd64 平台的时候,还是推荐外接显示器,能省去不少时间。

进入官网的下载页面,下载 omv 最新的稳定版 iso 系统文件。

用 Rufus 等软件将 iso 文件写入 usb 盘,在确保插上网线的情况下重启电脑进入 BIOS,选择 usb 盘并进入安装界面。

地区、语言、主机名称、root 密码和软件包源地址都按需求选择即可,一直下一步直到系统重启至显示屏显示出以下代码即代表安装已完成,可断开显示器。

1
2
3
4
5
By default the web control panel administrator account has the username 'admin' and password 'openmediavault'.
It is recommended that you change the pasword for theis account within the web control panel or using the 'omv-firstaid' CLI command.

For more information regrading this appliance, please visit the web site: https://www.openmediavault.org
openmediavault login:_

登录 omv 前的预备工作

安装 omv-extras

由于 amd64 平台版本的 omv 相较于树莓派上安装的 omv 要少 omv-extras 这个重要组件,我们需要先通过 ssh 登录系统把 omv-extras 装进去。

1
ssh root@192.168.3.130

用 rsync 将 amd64 版的 xray 传入平台,执行本地安装。

1
2
3
rsync -av "/cygdrive/c/Users/i/xray" root@192.168.3.130:/root -P -e "C:\Users\i\scoop\apps\cwrsync\current\bin\ssh.exe" 
chmod +x install-release.sh
./install-release.sh --local Xray-linux-64.zip

修改 xray 的配置文件,重启 xray 服务,让当前终端走代理从而能够正常连接 GitHub。

1
2
3
nano /usr/local/etc/xray/config.json
export http_proxy=http://127.0.0.1:10809;export https_proxy=http://127.0.0.1:10809;export ALL_PROXY=socks5://127.0.0.1:10808
service xray restart

参考 OpenMediaVault-Plugin-Developers/installScript,执行 omv-extras 的安装脚本。

1
sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

如果还是出现关于墙导致安装失败的问题的话,则使用 Gitee 上的国内镜像脚本进行安装。

1
sudo wget -O - https://gitee.com/ggdxwz/packages/raw/master/install | bash

进入 omv 的网页控制端

通过设备的 ipv4 地址,在浏览器中进入 omv 的操作界面,使用初始账号 admin 密码 openmediavault 登录。

配置 omv

系统部分

  • 工作台
    • 80 端口可以让给之后用 Docker 安装的导航软件 Hemidall。
    • 自动登出按需求设置即可,我选择的是“一天”。
  • 日期和时间
    • 在国内选择 Asia/Shanghai 即可。
    • 打开“使用 NTP 服务器”,可联网同步时间。
  • 监测
    • 启用监测后在左边栏最下方的诊断里可以看到系统的各项数据。
  • 计划任务
    • Crontab 用来配置网盘的同步任务非常好用。
  • 插件
    • Clamav
    • Mergerfs
    • Omvextrasorg
    • Reset permissions
    • Snapraid
  • omv-extras
    • Docker
    • Portainer

储存器部分

  • 磁盘
    • 若非原本就是用于 Linux 系统的磁盘(即 ext4 格式等),则需要先在此处将磁盘擦除。
  • RAID 管理
    • 由于我的散装 NAS 的两块 14T 都是以 USB 形式而不是通过 SATA 口连在主机上的,这里首先就选不了RAID,而且这种情况下选 RAID 坏数据的可能太高了。
  • S.M.A.R.T.
    • 在设置中打开,电源模式切成“待机”。
    • 在设备页面可以查看硬盘的各项数据。
  • 文件系统
    • 已经擦除的硬盘可以在这里为其创建文件系统,推荐 Linux 的 ext4。
    • 已创建完文件系统的硬盘在这里挂载之后就可以在系统内被读取到。
  • mergerfs
    • 将已经挂载的多块硬盘直接整合成一块大硬盘,数据分散地保存在各个盘内,并且单独拔下来也可以使用。
    • 新建一个 mergerfs 的池子,在文件系统项目选择想要整合的多块硬盘。
    • 创建策略和最小空余空间按需求选择即可,直接用默认也无大碍。
    • 勾选 fstab,并且在下面的选项行内将 cache.files=off 修改为 cache.files=on,否则有些服务(如 jellyfin)会报错。
  • 共享文件夹
    • 填入新共享文件夹的名称,选择 mergerfs 所建立的新的文件系统,相对路径根据共享文件夹的名称自动生成。
    • 权限内务必将“其他”用户的权限设定为无权限,否则会有文件安全风险。
    • 只有是共享文件夹的文件夹才能被一系列后续服务所使用。

服务部分

  • 防病毒
    • 设置内启用防病毒即可。
  • Reset Permissions
    • Reset Permissions 选项内可以重设共享文件夹的权限。
    • Shared Folders in Use 选项内可以查看各个共享文件夹的被引用情况。
  • SMB/CIFS
    • 设置内启用 SMB/CIFS。
    • 共享内添加想要通过 SMB 使用的共享文件夹,公开选项内务必选否,允许访客的话非常容易中勒索病毒。我自己之前的权限允许访客,后果就是 NAS 里所有文件全部被 0xxx 勒索病毒劫持,所有资料一次性全丢了,万幸的是之前在 Google Drive 上有完整的备份。
    • 启用“继承 ACLs”和“继承权限”。
    • 使用 ssh 连接到主机,执行 smbpass -a root 添加 root 用户到 smb 服务,否则 root 用户也无法登录。

用户部分

  • 用户内新创建一个用户,用户名自订,用户组选择 users
  • 这样的话就完成了两套用户
    1
    2
    3
    4
    5
    # id root
    uid=0(root) gid=0(root) groups=0(root)

    # id fangru
    uid=1000(fangru) gid=100(users) groups=100(users)

    附录:在 Windows 上安装 Docker

使用 Docker 之前需要先在“程序和功能-启用或关闭 Windows 功能”中打开 Hyper-V 和容器这两个选项,功能安装完成后重启电脑以生效。

打开 Windows Terminal,在 Powershell 中使用 scoop 安装 Docker 本体。

1
scoop install docker

为系统添加 Docker Engine 服务以开机启动,之后重启电脑以生效。

1
sudo dockerd --register-service

按照官方网页上的指示安装 Portainer。

1
2
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart always -v \\.\pipe\docker_engine:\\.\pipe\docker_engine -v portainer_data:C:\data portainer/portainer-ce:latest

关于 Docker 的数据文件都放在 C:\ProgramData\Docker 和个人文件夹 C:\Users\{username}\.docker 下,需要卸载 Docker 时另外删除这两个文件夹即可。