解决:PVE下的虚拟机无法启动MongoDB

最近要上线一个新的系统,在新的平台上面搭建环境,需要用到 mongodb,但安装好mongodb,却遇到无法启动的情况。具体情况如下:

1、在虚拟服务器PVE(Proxmo Virtual Environment ,版本:7.4-17)上新增一个虚拟机;

2、虚拟机上面安装Ubuntu Server 22.04;

3、在虚拟机上面安装了mongodb,版本为6.0.12;

4、遇到的问题:mongodb无法启动,执行systemctl status mongod 的时候出现以下画面:

解决:PVE下的虚拟机无法启动MongoDB插图

从上面的错误信息可以看出,错误的核心关键词是:“(code=dumped, signal=ILL)”、“mongod.service: Failed with result ‘core-dump’.”等等;

5、直接执行:sudo mongod 出现“Illegal instruction (core dumped)”提示:

解决:PVE下的虚拟机无法启动MongoDB插图1

问题原因:从MongoDB 5.0版本开始,MongoDB需要CPU支持avx指令集才能使用,否则只能使用老版本,而我安装的是6.0版本。默认情况下,PVE的CPU类别(kvm64),并不支持avx指令(经过测试,qemu64模式也不支持)。

解决方法:需要进入MongoDB所在的虚拟机,在关机状态下,进入“硬件”编辑页面,依次点击“处理器”——“编辑”按钮,把“类别”修改为“host”,然后点击“OK”保存退出(见下图)。保存后,重新启动虚拟机即可。

解决:PVE下的虚拟机无法启动MongoDB插图2
如需转载本站的文章,请先通过电子邮件的方式联系站长,站长确认后方可转载,并需要注明出处。

为您推荐