宇宙主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

欧基零壹微头条IP归属甄别会员请立即修改密码
查看: 1121|回复: 10

【已解决】安装群晖docker时,compose.yml的参数不起作用

[复制链接]
发表于 2024-6-23 16:00:31 | 显示全部楼层 |阅读模式
本帖最后由 head 于 2024-6-23 20:13 编辑

想装虚拟群晖(https://github.com/vdsm/virtual-dsm)
下载compose.yml到小鸡上/vdsm/virtual-dsm/,compose.yml中默认RAM是1G,修改为512M,修改的地方:RAM_SIZE: "512M",保存修改。

然后运行docker-compose up,显示 ERROR: Your configured RAM_SIZE of 1 GB is too high for the 0 GB of memory available, please set a lower value.
表明RAM设置不起作用,这是什么原因?

-----------------后续---------------------
用4.35版本,默认512M,不用配置yml,通过 以下命令安装在甲骨文AMD(ARM不支持)。
1、sudo apt install cpu-checker
sudo kvm-ok
检测支持KVM才能继续
2、安装docker环境
3、docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 60 vdsm/virtual-dsm:4.35
发表于 2024-6-23 17:15:40 | 显示全部楼层
很可能你的内存不够,在1台1C1G的机器上复现了,你没注意到这行吗
dsm  | ❯ CPU:  | RAM: 0/1 GB

在3C4G的机器上,无论设置1G还是512M都是可以启动的
dsm  | ❯ CPU: Intel Xeon CPU E5 2683 v4 | RAM: 3/4 GB | DISK: 32 GB (ext4) |


官方的reset.sh里是这样的
RAM_AVAIL=$(free -b | grep -m 1 Mem: | awk '{print $7}')
RAM_TOTAL=$(free -b | grep -m 1 Mem: | awk '{print $2}')
RAM_SIZE=$(echo "${RAM_SIZE^^}" | sed 's/MB/M/g;s/GB/G/g;s/TB/T/g')
RAM_WANTED=$(numfmt --from=iec "$RAM_SIZE")
AVAIL_GB=$(( RAM_AVAIL/1073741824 ))


要调整更精准的调整这个判断,要去提issue改
发表于 2024-6-23 17:18:49 来自手机 | 显示全部楼层
我记得这玩意,比较看代码缩进,之前遇到过一次不生效,就是因为编辑器的原因把缩进吃掉了,导致出错
 楼主| 发表于 2024-6-23 17:21:40 | 显示全部楼层
vvvvv 发表于 2024-6-23 17:15
很可能你的内存不够,在1台1C1G的机器上复现了,你没注意到这行吗
dsm  | ❯ CPU:  | RAM: 0/1 GB

谢谢答复,用的甲骨文AMD,内存的确只有1G,我看virtual-dsm以前的版本是可以512M,当前版本默认1G,描述里面提到可以修改RAM。可能是最低要1G?我用以前的版本试试。
-------小鸡差数如下----------
CPU架构: x86_64
CPU型号: AMD EPYC 7J13 64-Core Processor
CPU核心数: 2
CPU占用:  18.9%
物理内存: 436.41/980.67 MB (44.50%)
虚拟内存: 64MB/975MB (6%)
硬盘占用: 2.0G/96G (3%)
发表于 2024-6-23 17:27:09 来自手机 | 显示全部楼层
arm机器内存大,能用吗?
发表于 2024-6-23 17:53:06 | 显示全部楼层
head 发表于 2024-6-23 17:21
谢谢答复,用的甲骨文AMD,内存的确只有1G,我看virtual-dsm以前的版本是可以512M,当前版本默认1G,描述 ...

根据关键字在库里找了下
报错的判断逻辑在这里
https://github.com/vdsm/virtual-dsm/blob/7c392082b190a6626e0d9beaf4c6f4d2bbce1579/src/config.sh#L23
https://github.com/vdsm/virtual-dsm/blob/7c392082b190a6626e0d9beaf4c6f4d2bbce1579/src/reset.sh#L73

if [[ "$RAM_CHECK" != [Nn]* ]]; then

  RAM_AVAIL=$(free -b | grep -m 1 Mem: | awk '{print $7}')
  AVAIL_GB=$(( RAM_AVAIL/1073741824 ))

  if (( (RAM_WANTED + RAM_SPARE) > RAM_AVAIL )); then
    error "Your configured RAM_SIZE of $WANTED_GB GB is too high for the $AVAIL_GB GB of memory available, please set a lower value."
    exit 17

RAM_WANTED + RAM_SPARE) > RAM_AVAIL
如果想要设置的内存,加上RAM_SPARE,大于free -b里设置的内存,就会报这个错。

RAM_SPARE官方设置的是500000000,差不多500M,基础就有512+500了,你1G内存一定不够的

发表于 2024-6-23 18:02:14 | 显示全部楼层
arm下能docker运行x86的黑群晖?
 楼主| 发表于 2024-6-23 18:13:33 | 显示全部楼层
tows8 发表于 2024-6-23 17:27
arm机器内存大,能用吗?

甲骨文的arm不支持,可以用以下命令测试是否支持
How do I verify if my system supports KVM?
To verify that your system supports KVM, run the following commands:
sudo apt install cpu-checker
sudo kvm-ok
 楼主| 发表于 2024-6-23 20:02:56 | 显示全部楼层
vvvvv 发表于 2024-6-23 17:53
根据关键字在库里找了下
报错的判断逻辑在这里
https://github.com/vdsm/virtual-dsm/blob/7c392082b190a ...

用的4.35版本,默认512M,内存勉强够用
docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 60 vdsm/virtual-dsm:4.35
发表于 2024-6-24 09:48:35 | 显示全部楼层
head 发表于 2024-6-23 20:02
用的4.35版本,默认512M,内存勉强够用
docker run -it --rm -p 5000:5000 --device=/dev/kvm --cap-add  ...

恭喜
1G内存跑一个带很多app的完整系统还是勉强了点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|FastFib VPS论坛

GMT+8, 2024-9-20 23:45 , Processed in 0.062725 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表