使用Docker体验群晖DSM系统
virtual-dsm 是一个开源项目,旨在通过容器模拟 Synology 群晖 NAS 的 DiskStation Manager (DSM) 系统环境。该项目由开源社区开发者维护,并并非Synology 官方支持的产品。
特性
- 多硬盘支持
- KVM加速
- 支持升级
部署
docker compose 方式
version: "3"
services:
dsm:
container_name: dsm
image: vdsm/virtual-dsm
environment:
DISK_SIZE: "16G"
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 5000:5000
volumes:
- /var/dsm:/storage
restart: on-failure
stop_grace_period: 2m
docker cli方式
docker run -it --rm --name dsm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 vdsm/virtual-dsm
常见问题
主要针对compose方式
与标准DSM相比有什么区别
只有两个细微的区别:
- Virtual Machine Manager 软件包不可用(虚拟机服务)
- Surveillance Station 将不包含任何免费许可证(没啥印象😂)
如何安装特定版本的DSM
默认情况下,将安装版本 7.2,但如果您更喜欢旧版本,则可以将其下载 URL 添加到docker compose文件中,如下所示:
environment:
URL: "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat"
使用这种方法,甚至可以在保持所有文件数据完好无损的同时在不同版本之间切换
部署完成如何访问
启动容器并使用 Web 浏览器连接到端口5000
等到 DSM 准备就绪,创建用户名和密码,按照引导流程走就可以了啊。
如何更改存储位置
volumes:
- /var/dsm:/storage
将示例路径/var/dsm
替换为所需的存储文件夹即可。
如何修改磁盘大小
如果想要修改默认的磁盘大小(默认:16G),需要修改环境变量DISK_SIZE
:
environment:
DISK_SIZE: "100G"
这也可用于将现有磁盘的大小调整为更大的容量,而不会丢失任何数据
如何创建自动增长的磁盘
默认情况下,磁盘的全部容量是预先预留的,若要创建仅分配实际使用空间的可增长磁盘,请添加以下环境变量:
environment:
DISK_FMT: "qcow2"
这可能会降低磁盘的写入性能,但是经过我的测试没有特别大影响,我觉得还是推荐这种,用多少分配多少,当然了如果你的硬盘足够大,推荐预留方式,写死磁盘大小
如何添加多个磁盘
environment:
DISK2_SIZE: "32G"
DISK3_SIZE: "64G"
volumes:
- /home/example:/storage2
- /mnt/data/example:/storage3
如何直通硬盘
可以通过以下方式直通硬盘
environment:
DEVICE: "/dev/sda"
DEVICE2: "/dev/sdb"
devices:
- /dev/disk/by-uuid/12345-12345-12345-12345-12345:/dev/disk2
- /dev/disk/by-uuid/45678-45678-45678-45678-45678:/dev/disk3
确保通过其 UUID绑定磁盘,以防止在驱动器号发生更改时绑定错误的磁盘。lsblk -o name,uuid/dev/sdc
请注意,设备需要完全为空(没有任何分区表),否则 DSM 并不总是将其格式化为卷。
请勿将此功能用于共享主机文件,当 DSM 创建宗卷时,它们将
全部丢失
,恕不另行通知.有风险,请谨慎操作
如何增加CPU和RAM的大小
默认情况下,单个 CPU 内核和 1 GB RAM 分配给容器
如果需要增加此值,请添加以下环境变量
environment:
RAM_SIZE: "4G"
CPU_CORES: "4"
如何直通显卡
environment:
GPU: "Y"
devices:
- /dev/dri
这可用于在 Synology Photos 中启用面部识别功能
如何验证我的系统是否支持 KVM
要验证您的系统是否支持 KVM,请运行以下命令:
apt install cpu-checker
kvm-ok
执行结果
root@nat7:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
如果收到指示无法使用 KVM 加速的错误,请检查 BIOS 中的虚拟化设置
这个项目合法吗?
此项目仅包含开源代码,不分发任何受版权保护的材料。它也没有试图规避任何版权保护措施。因此,根据所有适用法律,该项目将被视为合法
。
但是,安装 Synology 的 Virtual DSM 时,您必须接受其最终用户许可协议,该协议不允许在非 Synology 硬件上安装。因此,只能在官方 Synology NAS 上运行此容器,因为任何其他用途都将违反其条款和条件。
应用场景
大盘鸡系统,可以试一试