返回文章

文章 2025

啊鸡折腾 NAS 之《存储与系统篇》

NAS 存储方案

NASPVEStorage
本文目录12
  1. 简介
  2. 硬盘列表
  3. 硬盘规划
  4. a. 移动硬盘
  5. b. PVE 系统
  6. 开搞
  7. a. FileServer(CT)
  8. i. PVE 中挂载媒体盘
  9. ii. FileServer 器中实现合并 media 目录与 smb 共享功能
  10. iii. 在其他设备中愉快的使用吧
  11. b. Windows
  12. Reference

简介

由于之前有很多旧的小硬盘,打算把它们管理起来存储一下影视资源。

硬盘列表

目前我已经存在的硬盘有以下这些:

已跳过 Notion 表格块

硬盘规划

a. 移动硬盘

西部数码的两个移动硬盘就正常做冷备

b. PVE 系统

装机的时候选择 sda 就行,后续创建虚拟机和 LXC 容器的时候填写硬盘容量就会分别创建 VM Disks 和 CT Volumes,目前系统情况如下:

  • FileServer(CT):35G 用于直接挂载 pve 的物理硬盘,合并媒体盘,并搭建 SMB 服务,以及合并媒体盘服务

  • Windows11:500G

  • MediaServer:500G 媒体托管服务,如 Jellyfin、Immich

  • 其他,如 DSM

开搞

a. FileServer(CT)

由于这个服务本身不需要存储太多东西,所以用容器就可以,在这个服务中的相关选型如下:

  • CT Template:debian-12-standard_12.2-1_amd64.tar.zst

  • 多硬盘合并工具:mergerfs

  • 网络共享工具:SMB

i. PVE 中挂载媒体盘

创建挂载目录
shell
# 创建挂载目录
mkdir /mnt/shared/media1
mkdir /mnt/shared/media2
mkdir /mnt/shared/media2
获取分区 UUID
shell
# 获取分区的 UUID
blkid /dev/sd*

image-1577c538.png

在 `/etc/fstab` 中添加挂载配置
shell
# 在 /etc/fstab 中添加挂载配置
vim /etc/fstab

# mount shared media
UUID=12D9CC1664773279   /mnt/shared/media1 ntfs-3g defaults,noatime,nofail,uid=100000,gid=100000,umask=022 0 0
UUID=5C03-E326          /mnt/shared/media2 exfat defaults,noatime,nofail,uid=100000,gid=100000,umask=022 0 0
UUID=6AFE-CADB          /mnt/shared/media3 exfat defaults,noatime,nofail,uid=100000,gid=100000,umask=022 0 0

image-32b545b2.png

shell
# 挂载分区
mount -av

# 查看挂载情况
lsblk

image-da0cb4c2.png

更改共享文件夹的归属为[容器 Root ID 100000](https://pve.proxmox.com/wiki/Unprivileged_LXC_containers)

image-8384e121.png

ii. FileServer 器中实现合并 media 目录smb 共享功能

创建容器,添加挂载点

image-b78fb590.png

image-e0b232d1.png

shell
# 在 PVE 中运行命令,把 PVE 的挂载点添加为容器的挂载点
pct set 100 -mp0 /mnt/shared/media1,mp=/mnt/shared/media1
pct set 100 -mp1 /mnt/shared/media2,mp=/mnt/shared/media2
pct set 100 -mp2 /mnt/shared/media3,mp=/mnt/shared/media3

image-4c4e7390.png

安装 `mergerfs`,合并 media* 到一个目录
shell
# 在容器中安装 mergerfs
apt install mergerfs

# 检查已挂载的目录
ls -al /mnt/shared/media*

image-a576bc61.png

shell
# 合并 media*,在此之前,每个分区的目录结构最好保持一致
vi /etc/fstab

image-68892f7e.png

shell
# 挂载分区
mount -av

# 重新加载配置
systemctl daemon-reload

# 查看合并后的目录
ls -al ~/shared/media/

image-9a6f11c4.png

使用 `SMB`共享目录
shell
# source 换成清华源
vi /etc/apt/sources.list

image-1352a0aa.png

shell

# 更新
apt update

# 安装 samba
apt install samba

# 修改 samba 配置
vim /etc/samba/smb.conf

image-56d16165.png

shell
# 重启 smb,并开启系统启动自动启动 smb
systemctl restart smbd.service 
systemctl enable smbd
systemctl status smbd

# 重新设置目录与文件权限
chown -R root:root ~/shared/

iii. 在其他设备中愉快的使用吧

可以愉快的使用了,在 windows 上添加 Network locations,可以看到已经成功能打开聚合目录。

image-a998d87e.png

b. Windows

创建 windows 系统比较简单,需要注意的是直通 sdb 硬盘与直通显卡的问题。

创建 windows 虚拟机

image-0abc5354.png

image-3c0d3ce9.png

直通单个硬盘
shell
# 查询要直通的硬盘信息
lsblk -o name,mountpoint,label,size,uuid

image-b479de2c.png

shell
# 查询要直通的硬盘信息
ls -l /dev/disk/by-id/

image-20b35ba1.png

shell
# 通过命令设置直通
qm set 101 -scsi1 /dev/disk/by-id/ata-WDC_WD80EAZZ-00BKLB0_WD-CA2KNZZL

# 查看配置
cat /etc/pve/qemu-server/101.conf

image-4287c30e.png

直通显卡
shell
# 打开 Bios,开启 `VT-D` **功能(略)**
# 修改配置,开启 `iommu` 功能,在 grub 里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet",改为下图:
vi /etc/default/grub

image-b725c15a.png

shell
# 更新配置
update-grub
# 重启主机后运行以下命令看是否生效
dmesg | grep iommu

image-60894b30.png

生效后直接在虚拟机中添加 PCIE 显卡即可

image-baaa40f9.png

Reference

https://github.com/trapexit/mergerfs

https://foxi.buduanwang.vip/virtualization/pve/561.html/

https://post.smzdm.com/p/avx8pn3n/

PVE 无法控制虚拟机 Win11 关机的问题可以看

https://www.haiyun.me/archives/1413.html

返回首页
上一篇啊鸡儿折腾 NAS 之《媒体管理篇》下一篇啊鸡折腾 NAS 之《网络篇》

Discussion

留言与讨论

想法、补充和不同意见都欢迎。