使用Docker快速安装群晖NAS virtual-dsm系统

项目名称: virtual-dsm

基础条件

  • Docker & Docker compose
  • 开启虚拟化
  • 需要支持kvm /dev/kvm驱动支持,底层会调用kvm,如果不使用kvm加速cpu负载会高
  • Linux < 5.3
  • 推荐Ubuntu

virtual镜像实际上底层会调用kvm驱动,纯云服务器可能不支持!
温馨提示: 群晖DSM上可以在嵌套virtual-dsm

要验证您的系统是否支持 KVM,请运行以下命令:

sudo apt install cpu-checker sudo kvm-ok

如果有错误消息,kvm-ok指示无法使用 KVM 加速,请检查您的 BIOS 设置。

安装virtual-dsm

docker compose启动文件

cat >>docker-compose.yml<<EOF version: "3" services: dsm: container_name: dsm image: kroese/virtual-dsm:latest environment: DISK_SIZE: "20G" #磁盘大小(最小16g) ALLOCATE: "N" CPU_CORES: "4" RAM_SIZE: "2048M" devices: - /dev/kvm cap_add: - NET_ADMIN ports: - 5000:5000 volumes: - /opt/dsm:/storage restart: on-failure stop_grace_period: 1m EOF root@abcdocker:~# docker compose up -d #创建成功 [+] Running 7/7 ✔ dsm 6 layers [⣿⣿⣿⣿⣿⣿] 0B/0B Pulled 17.1s ✔ 5b5fe70539cd Pull complete 10.5s ✔ f9ac7e0c24db Pull complete 12.8s ✔ e9cfd4b1bfb4 Pull complete 12.9s ✔ 04a8f1356af9 Pull complete 12.9s ✔ ce474df379bd Pull complete 13.0s ✔ 51abe57c89c6 Pull complete 13.0s [+] Building 0.0s (0/0) [+] Running 2/2 ✔ Network root_default Created 0.1s ✔ Container dsm Started 

创建时等待时间会比较长,可以耐心等待一会

接下来我们可以查看到名称为dsm的容器

[root@tmp-01 dsm]# docker compose ps Name Command State Ports ------------------------------------------------------------------------------------------------------- dsm /run/run.sh Up 139/tcp, 22/tcp, 445/tcp, 0.0.0.0:5000->5000/tcp,:::5000->5000/tcp, 80/tcp

通过Docker容器可以看到详细的信息

[root@tmp-01 dsm]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS S 12141b8bdfda kroese/virtual-dsm:latest "/run/run.sh" 3 minutes ago Up About a minute (health: starting) 22/tcp, 80/tcp, 139/tcp, 445/tcp, 0.0.0.0:5000->5m [root@tmp-01 dsm]# docker logs -f dsm 

docker日志会先下载相关的依赖包

[root@tmp-01 dsm]# docker logs -f dsm ❯ Starting Virtual DSM for Docker v4.08... ❯ Install: Downloading installer... ❯ Install: Downloading DSM_VirtualDSM_64570.pat... 0K ........ ........ ........ ........ 8% 5.34M 61s 32768K ........ ........ ........ ........ 17% 9.09M 44s 65536K ........ ........ ........ ........ 26% 9.01M 36s 98304K ........ ........ ........ ........ 35% 8.27M 30s 131072K ........ ........ ........ ........ 44% 7.28M 26s 163840K ........ ........ ........ ........ 53% 8.29M 22s 196608K ........ ........ ........ ........ 62% 8.11M 17s 229376K ........ ........ ........ ........ 71% 9.70M 13s 262144K ........ ........ ........ ........ 80% 8.60M 9s 294912K ........ ........ ........ ........ 89% 7.24M 5s 327680K ........ ........ ........ ........ 98% 8.19M 1s 360448K ..... 100% 6.86M=45s ❯ Install: Extracting downloaded image... ❯ Install: Extracting system partition... ❯ Install: Installing system partition... Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features. char device redirected to /dev/pts/0 (label charserial0)

中间启动安装速度比较慢,根据网络影响,耐心等待,急时查看docker dsm容器日志

当结束后,日志输出以下

❯ Started VirtualDSM Agent v7... Thu Jun 29 21:26:25 2023 VirtualDSM login: ❯ -------------------------------------------------------- ❯ You can now login to DSM at port 5000 ❯ -------------------------------------------------------- ^C root@abcdocker:~# docker logs -f 5f71ad234269

可以先用命令curl 一下状态,来判断容器网络是否正常

root@abcdocker:~# curl localhost:5000 -I HTTP/1.1 200 OK Server: nginx Date: Fri, 30 Jun 2023 04:56:21 GMT Content-Type: text/html; charset="UTF-8" Connection: keep-alive Keep-Alive: timeout=20 Vary: Accept-Encoding Cache-control: no-store X-Content-Type-Options: nosniff X-XSS-Protection: 1; mode=block X-Frame-Options: SAMEORIGIN P3P: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" Content-Security-Policy: base-uri 'self'; connect-src data: ws: wss: http: https:; default-src 'self' 'unsafe-eval' data: blob: https://*.synology.com https://www;

配置参数说明

容器镜像相关参数

 container_name: dsm #容器名称 image: kroese/virtual-dsm:latest #镜像版本 devices: - /dev/kvm #/dev/kvm为支持kvm驱动 cap_add: - NET_ADMIN ports: - 5000:5000 #端口映射 volumes: - /opt/dsm:/storage #磁盘挂载点 restart: on-failure #容器退出后一直重启 stop_grace_period: 1m

群晖参数

 environment: DISK_SIZE: "20G" #磁盘大小(最小16g,可以动态缩容扩容) ALLOCATE: "N" #按需占用磁盘,而不是一次性占用20G CPU_CORES: "4" #CPU核心数,可以指定容器的cpu数量 RAM_SIZE: "2048M" #群晖内存 URL: "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_VirtualDSM_42218.pat" #默认情况下,将安装 7.2 版本,但如果您更喜欢旧版本,可以将其 URL 添加到您的撰写文件中

访问测试

访问 Docker ip:5000 端口

1688099342939.png

动态扩容磁盘

如果我们想扩容磁盘,可以步骤如下,支持动态扩容

需要删除容器在创建,直接修改不生效

  • 一、#编辑docker-compose文件
 environment: DISK_SIZE: "30G" #这个随便写根据你硬盘大小判断
  • 二、重建docker dsm容器

简单说下步骤,就是删除docker dsm容器,在重新创建。数据已经持久化在/opt/dsm,只要硬盘够,可以无限调整

root@abcdocker:~# docker compose stop [+] Stopping 1/1 ✔ Container dsm Stopped root@abcdocker:~# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5f71ad234269 kroese/virtual-dsm:latest "/run/run.sh" 30 minutes ago Exited (143) 20 seconds ago dsm root@abcdocker:~# docker rm dsm dsm root@abcdocker:~# docker compose up -d [+] Building 0.0s (0/0) [+] Running 1/1 ✔ Container dsm Started 
  • 三、访问测试

扩容前
1688101081800.png

扩容后

1688101204371.png

本地磁盘

root@abcdocker:~# ls -lh /opt/dsm/ total 4.1G -rw-r--r-- 1 root root 30G Jun 30 05:01 data.img #实际上就是动态调整img文件 -rw-r--r-- 1 root root 5.2M Jun 30 04:24 dsm.rd -rw-r--r-- 1 root root 21 Jun 30 04:25 dsm.ver -rw-r--r-- 1 root root 2 Jun 30 04:25 DSM_VirtualDSM_64570.agent -rw-r--r-- 1 root root 110M Jun 30 04:56 DSM_VirtualDSM_64570.boot.img -rw-r--r-- 1 root root 358M Jun 15 10:46 DSM_VirtualDSM_64570.pat -rw-r--r-- 1 root root 4.7G Jun 30 05:01 DSM_VirtualDSM_64570.system.img

与标准 DSM 相比有何差异?

只有两个细微差别:不提供 Virtual Machine Manager 软件包,并且 Surveillance Station 不包含任何免费许可证。

这个项目合法吗?

是的,该项目仅包含开源代码,不分发任何受版权保护的材料。它也不试图规避任何版权保护措施。因此,根据所有适用的法律,该项目将被视为合法。

但是,通过安装 Synology 的 Virtual DSM,您必须接受其最终用户许可协议,该协议不允许在非 Synology 硬件上安装。因此,只能通过 Container Manager 软件包在官方 Synology NAS 上运行此项目,因为任何其他使用都将违反其条款和条件。

免责声明

仅在 Synology 硬件上运行此容器,其 EULA 不允许任何其他用途。本项目中提及的产品名称、徽标、品牌和其他商标均为其各自商标所有者的财产。此项目并非由 Synology, Inc. 附属、赞助或认可。

原文链接:https://i4t.com/16612.html

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享