蜗牛星际 (J1900) Debian 13 安装与 RAID 1 配置

蜗牛星际原来带的黑群晖用了好几年还算稳定,但群晖的功能基本没用到;最近一直在使用海外的4GB机器远程开发,想着干脆把家里 NAS 升级一下安装成通用的Debian 13,配合 Docker + CasaOS,基本就能满足自己的使用需求了。

硬件环境:

  • CPU / 主板: J1900 (蜗牛星际)
  • 内存: 8GB DDR3L 1600
  • 系统盘: 256GB mSATA SSD
  • 数据盘: 3 x 4TB HDD(其中两块组 RAID 1,一块做普通独立存储)
  • 操作系统: Debian 13 (Netinst, 纯命令行无桌面环境)

额外准备:


1. 启动盘制作

  1. 准备镜像: debian-13.3.0-amd64-netinst.iso
  2. Rufus 写入:
    • 插入 U 盘,打开 Rufus。
    • 设备: 选中 U 盘(核对盘符)。
    • 引导类型选择: 选中下载好的 Debian 13 ISO 文件。
    • 分区类型: 默认选 GPT(若后续无法引导,可尝试重写并改为 MBR)。
    • 点击“开始”。弹窗询问时,推荐默认的 ISO 镜像模式;若老款主板兼容性差,可尝试 DD 镜像模式

Rufus配置.png Rufus弹窗.png

2. BIOS 设置与引导

  1. 物理接口: 建议将 U 盘插在主板背面的黑色 USB 2.0 接口上。前面板或蓝色的 USB 3.0 接口在 BIOS 阶段可能无法识别。
  2. 进入 BIOS: 开机狂按 F11Del 键。
  3. 调整启动顺序:Boot 选项卡中找到 Boot Option #1,选中你的U盘并回车,设置U盘为第一启动项 (系统盘可以放在第二位)
  4. 兼容性设置 (备选): 如果识别不到 U 盘:
    • 尝试将 Boot 菜单中 Fast Boot(快速启动)设置为 Disabled(关闭)。

保存并重启

Boot.jpg

3. Debian 系统安装核心选项

通过 U 盘引导后,选择 InstallGraphical install

  1. 基础设置: 依次设置语言、时区、Root 密码及普通用户。
  2. 磁盘分区 (关键步骤):
    • 选择 向导 - 使用整个磁盘 (Guided - use entire disk)partman-auto_automatically_partition_0.png
    • 务必选中你的固态硬盘 (SSD) 作为系统盘。 partman-auto_select_disk_0.png
    • 选择 将所有文件放在同一分区中 (All files in one partition)partman-auto_choose_recipe_0.png
    • 确认并写入更改 (Write changes to disks)。 partman_choose_partition_0.png
  3. 软件选择 (Software selection):
    • 取消勾选 Debian桌面环境(Debian desktop environment) 及所有桌面选项(如 GNOME 等)。
    • 仅保留勾选 SSH server标准系统工具 (standard system utilities)tasksel_first_0.png

安装完成后,拔出 U 盘并重启。

4. 存储盘配置 (RAID 1 与单盘)

在同局域网的电脑上,通过 SSH 连接到 Debian,并切换到 root 用户 (su -)。

4.1 识别磁盘

1
2
# 查看磁盘列表
lsblk

根据容量确认盘符。本文假设:sda 为系统盘,sdbsdc 为组 RAID 的磁盘,sdd 为单块数据盘。

4.2 创建 RAID 1 阵列

注意:此操作会格式化硬盘,请确保数据已备份!

安装阵列管理工具并创建 md0 阵列:

1
2
3
apt update && apt install mdadm -y
# 使用 sdb 和 sdc 创建名为 md0 的 RAID 1 阵列
mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc

(若提示磁盘有残留数据,输入 y 确认。)

重要提示: 4TB 硬盘同步需要数小时。你可以继续后续操作,同步会在后台进行。查看进度:

1
cat /proc/mdstat

保存配置,防止重启失效:

1
2
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u

4.3 格式化磁盘与空间优化

将 RAID 1 阵列 (/dev/md0) 和单块硬盘 (/dev/sdd) 格式化为 ext4。

优化提示: ext4 默认会为 root 用户预留 5% 的磁盘空间(在 4TB 硬盘上约 200GB),对于纯数据存储盘来说这通常没有必要。我们可以将其设为 0% 以释放这部分空间:

1
2
3
4
5
6
mkfs.ext4 /dev/md0
mkfs.ext4 /dev/sdd

# 将预留空间比例设为 0%
tune2fs -m 0 /dev/md0
tune2fs -m 0 /dev/sdd

4.4 挂载磁盘与开机自启

创建挂载点目录:

1
mkdir -p /mnt/raid1_4t /mnt/single_4t

查看并记录磁盘的 UUID:

1
2
blkid /dev/md0
blkid /dev/sdd

编辑 /etc/fstab 文件(使用 nano):

1
nano /etc/fstab

在文件末尾添加以下配置(请替换为你实际的 UUID):

1
2
UUID=你的md0的UUID /mnt/raid1_4t ext4 defaults 0 0
UUID=你的sdd的UUID /mnt/single_4t ext4 defaults 0 0

测试挂载:

1
2
mount -a
df -h

4.5 自动休眠

如果你的硬盘读写次数较低,可以配置自动休眠

1
2
3
4
5
# 查看硬盘ID、找到对应你的机械硬盘的 ID(通常以 ata- 开头)。
ls -l /dev/disk/by-id/ | grep -v part

# 编辑配置文件
vim /etc/hdparm.conf

在文件末尾为你的硬盘添加如下配置(替换为你自己的硬盘 ID):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
/dev/disk/by-id/ata-WDC_WD40EFZX-xxxxx_WD-WCCxxxxx {
    spindown_time = 241
}

/dev/disk/by-id/ata-Seagate_ST4000VN008-xxxxx_Zxxxxx {
    spindown_time = 241
}

/dev/disk/by-id/ata-Seagate_ST4000VN008-xxxxx_Zyyyyy {
    spindown_time = 241
}

至此,底层基础架构搭建完毕。数据盘已全部就绪,可以直接在此基础上部署 Docker 或各类服务。

5. CasaOS

CasaOS是一款基于Docker、简单易用且优雅的开源家庭云系统,旨在为家庭用户提供一站式、轻量级的NAS存储及应用管理解决方案。

但我个人使用下来感觉没什么必要,功能比较简单,管理 docker 我更喜欢命令行。

1
curl -fsSL https://get.casaos.io | sudo bash

6.qBittorrent

我们通过 docker 安装 qBittorrent

1
2
3
4
5
6
7
8
# 先创建配置文件夹
mkdir -p /opt/qbittorrent/config

# 进入qbittorrent目录
cd qbittorrent

# 创建 compose.yml
vim compose.yml

compose.yml 配置文件, 可自行更改

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=0          # 请确保这个 UID 对挂载盘有读写权限
      - PGID=0          # 请确保这个 GID 对挂载盘有读写权限
      - TZ=Asia/Shanghai
      - WEBUI_PORT=8085
    volumes:
      - /opt/qbittorrent/config:/config               # qBittorrent 的配置和种子文件
      # 下面是新增的两个挂载盘映射
      - /mnt/raid1_4t/PT:/downloads/raid1_4t          # 将 raid1_4t 盘的 PT 文件夹映射进去
      - /mnt/single_4t/PT:/downloads/single_4t        # 将 single_4t 盘的 PT 文件夹映射进去
    ports:
      - 8085:8085
      - 52000:52000
      - 52000:52000/udp
    restart: unless-stopped

准备启动 qBittorrent

1
2
3
4
5
6
7
8
docker compose up -d

# 查看启动日志,并获取随机生成的登录密码
docker logs qbittorrent

# 可以看到输出:
# The WebUI administrator username is: admin
# The WebUI administrator password was not set. A temporary password is provided for this session: X9JAJQQr7

在浏览器访问 http://nas_ip:8085 输入账号: admin 密码: X9JAJQQr7 (你自己日志里面的)

语言切换: Tools -> Options -> User interface language -> 简体中文 点击 Save 保存

密码修改: Tools -> Options -> WebUI -> 用户名/密码 点击 Save 保存

7. jellyfin

Jellyfin是一款免费、开源的自托管媒体服务器软件,用于集中管理和流式传输视频、音乐、照片等个人媒体文件。它是Emby的自由分支,用户可完全控制数据。Jellyfin可在Windows、Linux、Docker等多种平台运行,支持硬解转码,并在电视、手机、网页端同步播放记录。

1
2
3
4
5
6
7
8
# 创建文件夹
mkdir -p /opt/jellyfin/config

# 进入文件夹
cd /opt/jellyfin

# 创建 compose.yml 文件
vim compose.yml

数据挂载目录根据自己的需要填写

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=0
      - PGID=0
      - TZ=Asia/Shanghai
    volumes:
      # 左边是你宿主机的路径,右边是容器内的路径。请确保左边的路径真实存在!
      - /opt/jellyfin/config:/config               # 存放 Jellyfin 配置文件和海报缓存
      - /mnt/raid1_4t/PT/MT:/media/raid1_4t/PT/MT  # 存放你电影/电视剧的根目录
      - /mnt/raid1_4t/归档/video:/media/归档        # 存放你电影/电视剧的根目录
    ports:
      - 8096:8096  # 默认的 Web 访问端口
    devices:
      - /dev/dri:/dev/dri  # 将 J1900 的核显直通给容器,用于硬件加速
    restart: unless-stopped

然后启动容器 docker compose up -d 浏览器访问: http://NAS_IP:8096 即可进入初始化页面

转载请保留本文转载地址,著作权归作者所有
使用 Hugo 构建 主题 StackJimmy 设计