• 服务器部署测试环境回顾与改进建议


    任务概述:

    原计划在2小时内完成的任务,由于遇到一系列挑战,最终耗时1.5天。任务目标是在无外网环境的服务器上建立测试环境,涉及将SSD硬盘数据迁移至服务器、SSH连接、运行测试程序并监控服务器功耗。

    高效实施策略:

    1.在有外网的环境下预先准备:

    • 安装与目标服务器相同的操作系统。
    • 提前下载并准备所需的安装包,包括ssh、docker、vim、dkms、tmux、ipmitool等。

    2.数据迁移准备:

    SSD硬盘通过USB3.0转接盒进行连接,确保数据迁移的可行性。

    3.目标服务器安装与配置:

    • 安装操作系统,部署离线安装包。
    • 配置网络,挂载存储,确保数据迁移的顺利进行。
    • 导入Docker镜像,安装必要驱动。
    • 使用ipmitool进行功耗监控。
    • 创建一键测试脚本,自动化测试流程。
    • 拷贝并分析日志文件,输出统计数据。

    遭遇的挑战与改进建议:

    1.离线包缺失与GLIBC版本冲突:

    • 问题:在尝试安装tmux时,发现离线包中缺少该工具。后从另一台机器下载,导致GLIBC版本不匹配,SSH服务无法启动。
    • 改进:预先在有外网环境下完整测试所有离线包的兼容性,确保所有工具均可正常运行。

    2.SSD硬盘挂载失败:

    • 问题:直接将SSD硬盘插入服务器时,挂载操作失败。误以为是硬盘损坏,导致不必要的时间浪费。
    • 改进:首先,使用转接盒确保硬盘能被正确识别。其次,在更换硬件或尝试修复前,应先进行详细的故障排查。

    3.系统备份与恢复问题:

    • 问题:在重新安装系统前,虽然备份了/etc/fstab文件,但忽略了系统盘UUID的变化,导致根文件系统变为只读,Docker服务启动失败。
    • 改进:在重新安装系统后,确保重新配置fstab文件,并验证所有服务的依赖项和配置文件的正确性。
  • 相关阅读:
    在EC2上对SELinux故障进行紧急恢复以及排查的思路及方法
    js Fetch返回数据res.json()报错问题
    《HTML+CSS+JavaScript》之第1章 HTML简介
    【JAVA】AJAX&JSON
    k8s备份
    【学习笔记】Web页面渲染的流程
    行为型设计模式之策略模式
    1136 A Delayed Palindrome
    函数式编程
    第六节——Vue中的事件
  • 原文地址:https://blog.csdn.net/m0_61864577/article/details/136360811