偶然看到网上一篇文章介绍,可以用docker来跑群晖了!
https://github.com/kroese/virtual-dsm
version: "3" services: dsm: container_name: dsm image: kroese/virtual-dsm:latest environment: DISK_SIZE: "16G" devices: - /dev/kvm - /dev/vhost-net cap_add: - NET_ADMIN ports: - 5000:5000 volumes: - /opt/dsm:/storage restart: on-failure stop_grace_period: 1m
看起来很简单,docker-compose直接就能部署,跑一个来备份我自己的群晖岂不美哉? 哈哈
安装到一半,提示我下面这句话
Suggestion: Use Linux kernel >= 3.18 for improved stability of the metadata and journal checksum features.
看来升级下内核,可能和群晖更配。
后面又遇到下面的错误
❯ ERROR: KVM acceleration not detected (device file missing), see the FAQ about this.
查看资料,需要开启虚拟化支持,我docker是装在一个运行于ESXi上面的centos7。
然后我开始研究怎么开启esxi的kvm支持。
研究到一半,发现自己真的是傻逼,我直接在ESXi上面跑个群晖不就行了?这么绕干啥,给自己一巴掌,真傻比,不研究了。
算了,还是接着研究吧,esxi直接装群晖好像也蛮麻烦的。
CentOS7 安装kvm
yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install systemctl enable libvirtd systemctl start libvirtd
草,好像还是不行!!
查资料下面这个指令检查CPU虚拟化支持
[root@linuxtechi ~]# grep -E '(vmx|svm)' /proc/cpuinfo
应该显示 vmx或者svm,否则不支持虚拟化。我的机器试了下,居然不支持,啥也不显示!
再研究研究吧。。
找到需要esxi编辑虚拟机选项(必须要将你的虚拟机关闭,才能看到这个选项,否则看不到。。坑死我了)
启用这个虚拟化选项
重新执行上面的YUM安装指令
yum install -y qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer bridge-utils
之前步骤由于CPU缺少虚拟化支持,相关包没装成功。。居然也没报错,这里重新装一下。
检查
[root@localhost ~]# lsmod | grep -i kvm kvm_intel 188793 0 kvm 653928 1 kvm_intel irqbypass 13503 1 kvm
容器好像还是不行,重启下看看!!
MD还行不行,容器日志显示
❯ Starting Virtual DSM for Docker v4.08... ❯ ERROR: KVM acceleration not detected (device file missing), see the FAQ about this.
根据这个issues的 https://github.com/kroese/virtual-dsm/issues/235 判断
应该是我的docker是swarm模式,看不到dev下面设备导致的,搞了半天也搞不好,先这样吧,不搞了。
截帖,不玩这个了,越来越离谱,MD
不过跟着我的教程,如果你不是swarm模式,应该能跑起来了,我猜应该是能的。
参考资料:
https://www.cyberciti.biz/faq/how-to-install-kvm-on-centos-7-rhel-7-headless-server/