【Dell R730 折腾记录】风扇调速--在 Ubuntu 系统上开机自启动并每隔30分钟执行一次风扇定速脚本

Dell R730 开启机盖后的图片
前段时间升级了一下机柜里的服务器,替换掉了一台旧的 Dell 服务器,换上了这台 R730。但是无奈于噪音的袭扰,搁置了一段时间。我在这台机器上目前安装了一块 Intel Xeon E5-2630v3 芯片以及一张改过散热的 NVIDIA Tesla P4 计算卡。结果就是散热风扇全速开启。因此不得不在另外一台 7x24 开机的机器上部署一个脚本用于每隔三十分钟自动设定一次风扇转速。

一、前置任务 IPMI 与 IDRAC

使用 ipmitool 的前提是开启了 IPMI 管理权限以及确保 IDRAC网口介入网络。
从知乎上找的图,我忘记截图了
在开启权限之后,进入到路由器的页面,给予这个 IDRAC 网口一个固定的 IP 地址。

二、安装 ipmitool 管理工具

在 Ubuntu 上安装 ipmitool 工具非常方便,只需要输入下面的指令即可:

sudo apt install ipmitool

三、自动化脚本

步骤 1: 风扇转速设定脚本

首先,我们将需要定时执行的命令保存到一个 shell 脚本文件中。创建一个名为 ipmitool_script.sh 的文件,并添加以下内容:

#!/bin/bash

# 脚本执行的命令
ipmitool -I lanplus -H {Your IDRAC IP Address} -U {Username} -P {Password} raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x01 0x00 0x00

ipmitool -I lanplus -H {Your IDRAC IP Address} -U {Username} -P {Password} raw 0x30 0x30 0x01 0x00

ipmitool -I lanplus -H {Your IDRAC IP Address} -U {Username} -P {Password} raw 0x30 0x30 0x02 0xff 0x08  
# 最后一位 0x08 是十六进制的风扇转速

# 检查上一个命令是否成功执行
if [ $? -eq 0 ]; then
    echo "Script executed successfully."
else
    echo "Script failed to execute."
fi

然后,给这个脚本文件赋予执行权限:

chmod +x ipmitool_script.sh

步骤 2: 创建系统服务

接下来,我们将创建一个 systemd 服务来管理这个脚本的执行。

  1. 创建一个新的 systemd 服务文件:
sudo nano /etc/systemd/system/ipmitool.service
  1. 将以下内容添加到服务文件中:
[Unit]
Description=IPMI Tool Script Service
After=network.target

[Service]
Type=simple
ExecStart=/path/to/your/script/ipmitool_script.sh
User=root
Group=root

[Install]
WantedBy=multi-user.target

请将 /path/to/your/script/ 替换为你的脚本实际所在的目录。

步骤 3: 设置定时任务

为了每隔30分钟执行一次脚本,我们可以使用 systemd.timer 来实现。

  1. 创建一个新的定时器文件:
sudo nano /etc/systemd/system/ipmitool.timer
  1. 将以下内容添加到定时器文件中:
[Unit]
Description=Run IPMI Tool Script every 30 minutes

[Timer]
OnBootSec=1min
OnUnitActiveSec=30m
Unit=ipmitool.service

[Install]
WantedBy=timers.target

步骤 4: 启动服务和定时器

  1. 启用并启动服务:
sudo systemctl enable ipmitool.service
sudo systemctl start ipmitool.service
  1. 启用并启动定时器:
sudo systemctl enable ipmitool.timer
sudo systemctl start ipmitool.timer

步骤 5: 检查状态

使用以下命令检查服务和定时器的状态:

sudo systemctl status ipmitool.service
sudo systemctl status ipmitool.timer

这样,就可以实现服务器在开机后每30分钟执行一次风扇调速的脚本的需求了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/776302.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑硬盘分区的基本步骤(2个实用的硬盘分区方法)

在现代计算机中,硬盘分区是非常重要的一步。无论是新硬盘的初始化,还是重新组织现有硬盘,分区都是必不可少的操作。本文将详细介绍电脑硬盘分区的基本步骤,帮助您更好地管理和利用硬盘空间。 文章开始,我们先简单说一…

【C++】类和对象3.0

浅浅介绍最近所学,希望有兴趣的读者老爷垂阅! 目录 1.再谈构造函数 1.1.构造函数体赋值 1.2.初始化列表 1.3.构造函数的小知识 2. explicit关键字 3.static成员 3.1.static成员概念 3.2.static成员特性 4.友元 4.1.友元函数 4.2.友元类 5…

七、Linux二进制安装Redis集群

目录 七、Linux二进制安装Redis集群1 安装Redis所需依赖2 单机安装Redis(7.2.4)2.1 下载Redis2.2 安装Redis 3 分布式部署模式(Redis Cluster)3.1 分布式部署模式的配置文件3.2创建集群 4 主从复制模式(Redis Sentinel…

jenkins搭建部署前端工程 ,从0到1

一.java环境配置 1 安装tomcatjdk17 这个也行 3 安装maven3.3.9 安装教程参考 4 安装Jenkins 下载地址 参考教程 二、相关配置 1 访问http://localhost:8080/jenkins,进入Jenkins初始化页面,第一次启动时间可能有点长,耐心等待。进入成功后会…

AndroidKille不能用?更新apktool插件-cnblog

AndroidKiller不更新插件容易报错 找到apktool管理器 填入apktool位置,并输入apktool名字 选择默认的apktool版本 x掉,退出重启 可以看到反编译完成了

《Windows API每日一练》8.3 scrollbar控件

在第三章SYSMETS2.C实例中,我们是通过CreateWindow函数创建窗口的参数窗口样式中添加垂直或水平滚动条。本节我们将讲述作为子窗口控件的滚动条。 本节必须掌握的知识点: 滚动条类 滚动条控件和着色 8.3.1 滚动条类 ■窗口滚动条与滚动条控件的异同 …

带你了解“Java新特性——模块化”

Java平台从Java 8向Java 9及更高版本的进化,其中引入了一个重要的新特性——模块系统(Project Jigsaw)。模块系统的目的是解决大型应用的依赖管理问题,提升性能,简化JRE,增强兼容性和安全性,并提…

一文了解常见DNS问题

当企业的DNS出现故障时,为不影响企业的正常运行,团队需要能够快速确定问题的性质和范围。那么有哪些常见的DNS问题呢? 域名解析失败: 当您输入一个域名,但无法获取到与之对应的IP地址,导致无法访问相应的网…

Blazor 逐键搜索并动态反馈到url

Blazor 逐键搜索并动态反馈到url 源码 前言: 今天打开了 spotify 网页版找歌, 突然发现这个功能很抓眼球,于是试试blazor能不能模仿一下. 1. 节省时间,直接用模板开搞 新建项目,使用 Bootstrap Blazor App 模板 , 命名为 b22dynamicURL BootstrapBlazor简介: BootstrapBlaz…

数据库概念题总结

1、 2、简述数据库设计过程中,每个设计阶段的任务 需求分析阶段:从现实业务中获取数据表单,报表等分析系统的数据特征,数据类型,数据约束描述系统的数据关系,数据处理要求建立系统的数据字典数据库设计…

SQL注入方法

文章目录 前言如何测试与利用注入点手工注入思路工具sqlmap-r-u-m--level--risk-v-p--threads-batch-smart--os-shell--mobiletamper插件获取数据的相关参数 前言 记录一些注入思路和经常使用的工具,后续有用到新的工具和总结新的方法再继续补充。 如何测试与利用注…

使用 OpenCV 和 Python 进行车道检测和物体检测(YOLO)

本项目旨在开发一个集车道检测与物体检测功能于一体的智能视觉分析系统,利用先进的计算机视觉技术和深度学习模型,实现实时的道路场景理解和目标识别。系统主要依托OpenCV这一强大的计算机视觉库,以及Python作为编程语言,融合了车…

CentOS7.9下yum升级Apache HTTP Server2.4.6到2.4.60

1、CentOS7.9系统默认的Apache版本 在CentOS7.9上,如果使用yum安装Apache HTTP Server是最多到2.4.6版本的,这是因为el7下官方仓库的最高版本就是2.4.6,证据如下: $ yum info httpd ...... Installed Packages Name : ht…

Jetpack Compose实战教程(五)

Jetpack Compose实战教程(五) 第五章 如何在Compose UI中使用基于命令式UI的自定义View 文章目录 Jetpack Compose实战教程(五)一、前言二、本章目标三、开始编码3.1 先让自定义控件能跑起来3.2给自定义控件使用compose的方式赋值…

【设计模式】工厂模式(定义 | 特点 | Demo入门讲解)

文章目录 定义简单工厂模式案例 | 代码Phone顶层接口设计Meizu品牌类Xiaomi品牌类PhoneFactory工厂类Customer 消费者类 工厂方法模式案例 | 代码PhoneFactory工厂类 Java高级特性---工厂模式与反射的高阶玩法方案:反射工厂模式 总结 其实工厂模式就是用一个代理类帮…

Java项目:基于SSM框架实现的学生公寓管理中心系统【ssm+B/S架构+源码+数据库+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的学生公寓管理中心系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

【CentOS 7.6】Linux版本 portainer本地镜像导入docker安装配置教程,不需要魔法拉取!(找不着镜像的来看我)

吐槽 我本来根本不想写这篇博客,但我很不解也有点生气,CSDN这么大没有人把现在需要魔法才能拉取的镜像放上来。 你们都不放,根本不方便。我来上传资源。 portainer-ce-latest.tar Linux/amd64 镜像下载地址: 链接:h…

加法器的基本操作

基本单元 与门(AND) 全1为1,有0为0 或门(OR) 全0为0,有1为1 非门(NOT) 为1则0,为0则1 异或门(XOR) 两个输入端,相同为0,不同为1 与非门(NADD) 全1为0,有0为1 或非门(NOR) 全0为1,有1为0。刚…

H5 Canvas实现转盘效果,控制指定数字

效果图 实现思路&#xff1a; 用Canvas画圆&#xff0c;然后再画扇形&#xff0c;然后中奖的开始用一张图片代替&#xff0c;点击的时候触发转动效果。 实现代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><tit…

UNDO 表空间使用率高 active段占用高 无对应事务执行

UNDO表空间使用率告警&#xff0c;查看占用情况 active段占比很高 select tablespace_name,status,sum(bytes/1024/1024) mb from dba_undo_extents group by tablespace_name,status;不同状态的含义&#xff1a;**ACTIVE **&#xff1a;有活动事务在使用 Undo&#xff0c;这…