IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    服务器经常莫名死机和后遗症

    1900发表于 2023-05-28 10:34:10
    love 0

    不堪重负

    在腾讯云买的 1c2g 6m 的轻量云不知道是不是服务架的太多还是什么原因,今年开始频繁出现死机、无反应的情况,死机的时候也无法通过ssh登录终端,且出现这种情况后搭建的所有应用会全部挂掉,腾讯云控制面板里的监控这一段的信息为空白。

    根据腾讯云提供的 云服务器无监控数据排查手册 指引,结合监控面板的数据来看不排除是负载过高。

    • 系统内存占用比常年处于80%左右
    • CPU负载基本维持在20%左右。
    • 储存空间上次出现这个问题后清除了docker的一些日志后从98%掉到了现在的89%。
    • 宽度负载最高4m左右,平均1.58
    alt

    目前看来性能可能的确到了瓶颈,这台机器用了也有五六年了,的确该换了。

    机器是今年11月底过期,先凑合用着,等到了618或者双11蹲一个性价比高的机器看看。


    后遗症

    昨天死机后重启服务器,发现提示主题确实,当时还没太注意。

    今天早上发现Ghost版本好像不对,进终端检查了一下,发现docker里的Ghost没启动成功,但是访问博客却可以访问。

    之前也遇到过这个情况,服务器在重启后ghost-cli会提前运行 安装版 的博客,因为占用了端口导致 docker版 的ghost无法运行,所以我用ghost-cli停止了安装版本的运行,重新用docker run运行Docker版本。(为了避免以后再次出现这种情况,我们用 ghost stop --disable 告诉ghost-cli,不要在系统启动时启动ghost服务。)

    但是运行失败,系统提示数据库 connect ECONNREFUSED 127.0.0.1:3306 。不能链接数据库?不对啊,我的umami也是用的同一个数据库,且正常运行的,只能一个个排查问题

    1. mysql是不是没启动?
      用 sudo service mysql status 查看,发现数据库是正常运行的,而且我的umami也是正常的,pass
    2. 端口是不是不对
      我用MySQL命令可以直接登录,且 netstat 看3306端口是有监听的。
    3. docker-compose的配置文件是不是不对?
      文件没动过,只有里面的数据库地址是 localhost 而错误提示里是 127.0.0.1 ,试着改成错误提示里的 127.0.0.1,重新 docker-compose up -d 后还是出错。
    4. mysql的用户权限是不是不对?
      用 select host,user from user 看ghost数据库账号的host信息,发现是localhost,通过update命令改成 % ,还是不行。

    解决

    各种办法都排查了一遍,找资料的过程中发现一篇文章中说用 mysqld --console  看运行信息,发现报错信息如下:

    2023-05-28T02:18:14.764463Z 0 [Warning] [MY-010091] [Server] Can't create test file /var/lib/mysql/mysqld_tmp_file_case_insensitive_test.lower-test
    2023-05-28T02:18:14.769927Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.27-0ubuntu0.20.04.1) starting as process 332596
    2023-05-28T02:18:14.808340Z 0 [Warning] [MY-010091] [Server] Can't create test file /var/lib/mysql/mysqld_tmp_file_case_insensitive_test.lower-test
    2023-05-28T02:18:14.808352Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
    2023-05-28T02:18:14.824753Z 0 [Warning] [MY-010122] [Server] One can only use the --user switch if running as root
    2023-05-28T02:18:14.824785Z 0 [ERROR] [MY-013276] [Server] Failed to set datadir to '/var/lib/mysql/' (OS errno: 13 - Permission denied)
    2023-05-28T02:18:14.824942Z 0 [ERROR] [MY-010119] [Server] Aborting
    2023-05-28T02:18:14.841286Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.27-0ubuntu0.20.04.1)  (Ubuntu).
    

    用 mysqld --initialize-insecure 初始化后,发现可以正常访问了。但是我重新运行mysqld --console 后发现错误信息依旧,所以不排除是我上面的其他步骤修好的。

    不过算是弄好了。

    END



沪ICP备19023445号-2号
友情链接