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

释放双眼,带上耳机,听听看~!
我们对于群晖的认知还停留在通过安装群晖系统的方式来安装群晖,目前在Github已经支持使用Docker来运行群晖dsm系统。让我们可以快速的拥有一套自己的nas
🤖 由 ChatGPT 生成的文章摘要

项目名称: 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 端口

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

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

动态扩容磁盘

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

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

  • 一、#编辑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    
  • 三、访问测试

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

扩容后

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

本地磁盘

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. 附属、赞助或认可。

给TA打赏
共{{data.count}}人
人已打赏
群晖

群晖设置Ping不通路由器自动关机 实现断电自动关机

2023-6-27 11:31:19

群晖

Proxmox Virtual Environment_PVE 搭建群晖dsm7

2023-8-18 17:54:37

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索