原作者:盖国强
目 录
- 适用范围
- 问题概述
- 问题原因
- 解决方案
适用范围
运行环境为 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%:

解决方案
对空间进行扩容:

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




