1Panel-dev / 1Panel

🔥🔥🔥 Web-based linux server management control panel. / 现代化、开源的 Linux 服务器运维管理面板。
https://www.1panel.cn
GNU General Public License v3.0
22.86k stars 2.08k forks source link

[BUG] 快照恢复过程中MySQL服务卡住 #6999

Open qixm-burnish opened 2 days ago

qixm-burnish commented 2 days ago

联系方式

No response

1Panel 版本

v1.10.20-lts(moelin/1panel)

问题描述

使用快照恢复时,mysql数据库一直处于《已创建》状态,也导致剩余服务无法继续创建。 screenshot-20241111-113448.png

手动启动MySQL服务直接报错:

{
    "code": 500,
    "message": "服务内部错误: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting \"/opt/1panel/apps/mysql/mysql/conf/my.cnf\" to rootfs at \"/etc/my.cnf\": create mount destination for /etc/my.cnf mount: cannot mkdir in /var/lib/docker/overlay2/ff3334a5c90ac9300a6acac6005b2d93744cb79996dfff73d40a53c0ce0f4bbe/merged/etc/my.cnf: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type",
    "data": null
}

重现步骤

添加七牛云备份账号 ——》 同步快照 ——》 恢复,显示恢复成功

期待的正确结果

No response

相关日志输出

No response

附加信息

No response

ssongliu commented 2 days ago

感谢反馈,截图看一下 [快照] - [恢复] 按钮看看恢复详情

wanghe-fit2cloud commented 2 days ago

也导致剩余服务无法继续创建。

近期版本将优化快照恢复逻辑,确保应用重建失败时不会影响快照的整体恢复进度。

qixm-burnish commented 2 days ago

[快照] - [恢复] 按钮看看恢复详情如下:(每个步骤说明应该调整一下,现在好像跟备份一样) screenshot-20241111-154907.png

经排除发现主要问题是:从商店创建mysql时会添加volume配置/opt/1panel/apps/mysql/mysql/conf/my.cnf:/etc/my.cnf导致的,删除后重新备份可以正常恢复。

另外对于使用docker安装版本,使用备份恢复后会提示重启失败(systemctl命令运行失败),不知这个是不是可以检测优化。不行的话,是否可以添加一个配置项指明安装方式,在恢复时根据指定的安装方式进行重启