暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MogDB 诊断案例:因空间问题导致的 MogDB Docker 镜像无法启动

原创 由迪 2023-09-27
150

原作者:盖国强

目 录

  • 适用范围
  • 问题概述
  • 问题原因
  • 解决方案

适用范围

运行环境为 MacOS,M1 处理器。

问题概述

基于容器的数据库部署已经成为常态,云和恩墨的 MogDB 同样推出了 MogDB Stack 容器版本。我的个人测试也是基于 Docker 的部署。

遭遇到重新启动容器,无法启动的问题。

Docker 的启动日志如下:

MogDB Database directory appears to contain a database; Skipping initialization

2023-03-07 12:17:24.989 [BACKEND] WARNING:  could not create any HA TCP/IP sockets
2023-03-07 12:17:24.992 [BACKEND] WARNING:  No explicit IP is configured for listen_addresses GUC.
2023-03-07 12:17:24.992 [BACKEND] LOG:  InitNuma numaNodeNum: 1 numa_distribute_mode: none inheritThreadPool: 0.
2023-03-07 12:17:24.992 [BACKEND] LOG:  reserved memory for backend threads is: 220 MB
2023-03-07 12:17:24.992 [BACKEND] LOG:  reserved memory for WAL buffers is: 128 MB
2023-03-07 12:17:24.992 [BACKEND] LOG:  Set max backend reserve memory is: 348 MB, max dynamic memory is: 11027 MB
2023-03-07 12:17:24.992 [BACKEND] LOG:  shared memory 400 Mbytes, memory context 11375 Mbytes, max process memory 12288 Mbytes
2023-03-07 12:17:25.020 [CACHE] LOG:  set data cache  size(402653184)
2023-03-07 12:17:25.029 [CACHE] LOG:  set metadata cache  size(134217728)
2023-03-07 12:17:25.050 [SEGMENT_PAGE] LOG:  Segment-page constants: DF_MAP_SIZE: 8156, DF_MAP_BIT_CNT: 65248, DF_MAP_GROUP_EXTENTS: 4175872, IPBLOCK_SIZE: 8168, EXTENTS_PER_IPBLOCK: 1021, IPBLOCK_GROUP_SIZE: 4090, BMT_HEADER_LEVEL0_TOTAL_PAGES: 8323072, BktMapEntryNumberPerBlock: 2038, BktMapBlockNumber: 25, BktBitMaxMapCnt: 512
2023-03-07 12:17:25.062 [BACKEND] LOG:  mogdb: fsync file "/var/lib/mogdb/data/gaussdb.state.temp" success
2023-03-07 12:17:25.062 [BACKEND] LOG:  create gaussdb state file success: db state(STARTING_STATE), server mode(Normal), connection index(1)
2023-03-07 12:17:25.079 [BACKEND] LOG:  max_safe_fds = 980, usable_fds = 1000, already_open = 10
2023-03-07 12:17:25.081 [BACKEND] WARNING:  Cgroup initialization failed: Cgroup is not mounted
2023-03-07 12:17:25.089 [EXECUTOR] WARNING:  Failed to obtain environment value $GAUSSLOG!
2023-03-07 12:17:25.089 [EXECUTOR] DETAIL:  N/A
2023-03-07 12:17:25.089 [EXECUTOR] CAUSE:  Incorrect environment value.
2023-03-07 12:17:25.089 [EXECUTOR] ACTION:  Please refer to backend log for more details.
2023-03-07 12:17:25.089 [EXECUTOR] WARNING:  Failed to obtain environment value $GAUSSLOG!
2023-03-07 12:17:25.089 [EXECUTOR] DETAIL:  N/A
2023-03-07 12:17:25.089 [EXECUTOR] CAUSE:  Incorrect environment value.
2023-03-07 12:17:25.089 [EXECUTOR] ACTION:  Please refer to backend log for more details.

也可以通过命令,将指定容器的日志输出到文件:

docker logs 876c51460fa2 > 876c51460fa2.log

容器标识可以如下获取:

docker ps -a

通过对比,以上日志和正常启动日志无差异。并且没有特别的指向性问题。

问题原因

请求二线支持,MogDB Stack 的研发给出一个重要指引。通过类似如下命令,测试启动一个新的容器:

docker run --name MogDB --privileged=true -d -e GS_PASSWORD=Enmo@123 swr.cn-north-4.myhuaweicloud.com/mogdb/mogdb:latest

这个步骤同样失败了。

但是此时,日志出现如下信息:

The database cluster will be initialized with locale "C".
The default text search configuration will be set to "english".

fixing permissions on existing directory /var/lib/mogdb/data ... ok
creating subdirectories ... gs_initdb: removing contents of data directory "/var/lib/mogdb/data"
gs_initdb: could not create directory "/var/lib/mogdb/data/global": No space left on device

系统提示:空间不足。

检查 Docker DeskTop 信息,原有容器的确空间耗尽,59.4GB 空间使用接近 100%:
WeChatWorkScreenshot_938d96aed7db4376b2bfb816b7fca234.png

解决方案

对空间进行扩容:
WeChatWorkScreenshot_cf73bde09d28490cae91f2d3c9cf942a.png

此后,数据库成功启动。

MogDB 是云和恩墨基于opengauss 企业级数据库

最后修改时间:2023-09-27 17:38:53
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论