解决SuperMicro主板风扇转速过低告警
解决SuperMicro主板风扇转速过低告警
现象
系统启动后风扇忽高忽低,进入IPMI后台可以看到,看到传感器日志里大量的告警
造成此问题的原因是风扇转速过低,触发了超微的风扇转速允许的下限,从而强制满速运转,而在满速后主板又很快发现没有问题,且此时温度较低,风扇开始降速,直到降速到下限以下,重复此过程。
在进入IPMI后台管理界面后风扇速度有四种智能模式可调
Standard: zone0和zone1 风速为50%
Optimal: 风速为30%
Full: 风速为100%
Heavy IO: zone0 为50%,zone1 为75%
解决方法
1. 在服务器上安装IPMItool
1 | apt install ipmitool # Ubuntu/Debian指令 |
2. 设置风扇转速
1 | # 风扇名可以看告警里边的对应风扇名 |
3. Windows 下远程操作IPMI
ipmitool windows 版 下载地址
1 | ipmitool -H [IPMI网口IP地址] -U [IMPI账户] -P [IPMI密码] sensor thresh FAN1 lower 100 125 125 |
问题
如果你运行上面的命令后,风扇转速回落后马上又返回原样,这表明服务器的自动调速覆盖了你手动设置的转速。你需要切换服务器风扇策略为全速(Full Speed),在这个策略下服务器不会使用自动调节转速,因此也不会覆盖你手动设置的转速。
运行下面的命令切换到全速模式(也可以进入IPMI界面调整):
1 | ipmitool -H [IPMI网口IP地址] -U [IMPI账户] -P [IPMI密码] 0x30 0x45 0x01 0x01 |
参考
1.解决超微 SuperMicro 主板风扇反复高低转速问题 - 哔哩哔哩 (bilibili.com)
FRP配置
服务端配置
1 | [common] |
服务端开机自启配置
1 | sudo vim /etc/systemd/system/frps.service |
启动文件
1 | [Unit] |
客户端配置
1 | [common] |
Gentoo安装
准备工作
制作启动盘
使用Rufus制作启动U盘.
连接网络
分区规划
参考 Linux硬盘分区
挂载分区
1 | mkdir /mnt/gentoo |
配置Portage
释放stage
1 | # 发送stage3 |
挂载系统必要环境
1 | mount --types proc /proc /mnt/gentoo/proc |
复制DNS
1 | cp --dereference /etc/resolv.conf /mnt/gentoo/etc/ |
配置软件源
常规源
选择中国源,这一步是非必须的,提供的make.conf里已经有中国的所有源了
1 | # 方式1 |
二进制源
1 | # 修改二进制源地址为国内源 |
如果启用二进制源需要在USE
中添加 getbinpkg binpkg-request-signature
生成fstab
1 | genfstab -U /mnt/gentoo >> /mnt/gentoo/etc/fstab |
生成的fstab格式如下
1 | UUID=...... /boot/efi vfat noauto,defaults,noatime,umask=0077 0 2 |
系统配置
进入新系统环境
从现在开始,所有的动作将立即在新 Gentoo Linux 环境里生效。
1 | chroot /mnt/gentoo /bin/bash |
同步stage
1 | emerge-webrsync |
^注意: gentoo handbook上提到可以使用emerge -rsync升级软件包数据库到最近2小时的最新版,这是没有必要的,而且下载的速度会极其慢,所以不推荐这样做。单用emerge-webrsync就可以同步数据库到最近3~4天内的最新版了。
设置profile
1 | eselect profile list #查看profile予设值 |
检测cpu指令集
1 | # 安装cpuid2cpuflags |
安装CCache(可选,加速编译)
1 | emerge --ask ccache |
在portage/make.conf中添加
1 | FEATURES="ccache -test" # 在USE中 ${FEATURES} |
安装Aria2(可选,加快包下载)
1 | emerge --ask aria2 |
在portage/make.conf中添加配置
1 | FETCHCOMMAND="/usr/bin/aria2c -d \${DISTDIR} -o \${FILE} \ |
配置编译选项
1 | nano /mnt/gentoo/etc/portage/make.conf |
^注意: 设置编译标志 -march=native (如果你知道自己处理器的代号,就用自己的处理器代号替换这里的native 比如我的是skylake,如果不确定就使用native)
[^ 注意]: 设置 MAKEOPTS=”-j8” 来定义安装软件时并行编译的数量 这个数字等于你的CPU线程数(也称为逻辑CPU数)参考MAKEOPTS WiKi
完整的配置文件如下(转自Gentoo安装流程分享(step by step),第一篇之基本系统的安装,修改了下注释格式,删除不用的部分)
1 | # These settings were set by the catalyst build script that automatically |
永久禁用nouveau驱动模块
强烈要求你禁用Nouveau驱动!!能省掉以后很多莫名其妙的麻烦!
1 | mkdir /etc/modprobe.d/ |
即便在编译内核前就已经设置内核禁用Nouveau驱动了,但是内核安装时还是会默认把nouveau驱动作为内核模块自动加载。启用了nouveau驱动模块的内核会出现各式各样的莫名其妙的数不清的问题,所以为了避免以后出现这些问题,必须禁用nouveau模块。
内核配置和编译
某些驱动程序在工作之前需要在系统上安装其他固件。这通常是网络接口的情况,尤其是无线网络接口。此外,在使用开源驱动程序时,来自AMD,Nvidia和Intel等供应商的现代视频芯片通常需要外部固件文件。大多数固件都封装在sys-kernel / linux-firmware中:
1 | emerge --ask --quiet sys-kernel/linux-firmware |
除了独立显卡硬件和网络接口之外,CPU 可能也需要固件更新。通常这种固件被称为微码(microcode)。有时需要更新版本的微码来修补 CPU 硬件中的不稳定性、安全问题或其他复杂的错误。
AMD CPU 的微码更新在前面提到的 sys-kernel/linux-firmware 软件包内分发。Intel CPU 的微码可以在 sys-firmware/intel-microcode 包中找到,并且需要单独安装
1 | # Intel CPU 执行 |
安装内核源码
1 | emerge --ask sys-kernel/gentoo-sources |
三种方法安装内核
安装系统时可选择安装二进制内核,系统安装完后再配置编译内核,参考 配置Linux内核 - Gentoo Wiki
全自动安装
当为基于 amd64 的系统安装和编译内核时,Gentoo 推荐使用 sys-kernel/gentoo-sources 软件包
1
emerge --ask sys-kernel/installkernel
混合安装(推荐方式)
生成内核配置文件
将genkernel的默认内核配置文件“generated-config”复制过来,里面已经设置好了绝大部分应用场景以及绝大部分硬件驱动的配置,非常方便,值得借过来使用,只需要在自己手动配置内核的时候将其加载,在其基础上做一点点轻微的修改或完全不修改都可以,对内核新手极其友好!
1
2
3
4
5
6
7
8
9
10emerge --ask sys-kernel/genkernel
# 以genkernel的配置文件为基础进行自定义配置
cp /usr/share/genkernel/arch/x86_64/generated-config /usr/src/linux/
# 备份
cp /usr/src/linux/generated-config /usr/src/linux/generated-config.bak
# 编译
genkernel --mountboot --install all^注意: 首先先要加载(“Load”)刚才生成的genkernel默认内核配置文件“1.config”,然后在其基础上只需按需作轻微的修改即可(我是只修改了CPU架构为“Core 2/newer Xeon”,Preemption Model:“Low-Latency Desktop”,Timer frequecy 1000hz,Timer tick handling:“tickless idle”,Cputime accounting:“Simple tick based cputime accounting”,去掉了不需要的文件系统支持,去掉了对AMD CPU的支持,禁用Nouveau驱动)。“Support for extended (non-PC) x86 platforms”这一项取消掉。 之后“Save”你的设置,并且“Exit”即可。
^注意: 如果想在以后支持jack低延迟实时音频组件(Jack-Audio-Connection-Kit),则还需要vim 1.config,手动设置“CONFIG_CGROUPS=y”、“CONFIG_CGROUP_SCHED=y”、“CONFIG_RT_GROUP_SCHED=y”,然后重新make menuconfig载入保存1.config一遍,接下来再编译内核。
^注意: 使用nvidia显卡闭源驱动,还需要将内核配置中“CONFIG_I2C_NVIDIA_GPU”这一项禁用,否则会和官方nvidia-drivers冲突!!!全手动安装
1
2
3
4
5
6
7
8
9
10emerge sys-apps/pciutils
cd /usr/src/linux
# 配置内核
make menuconfig
# 编译内核
make -j12 #(CPU核心数根据机器cpu调整)
make modules_install
make install
使用二进制内核
1 | # 安装二进制内核 |
用dracut生成内核的initramfs,快速且方便,新手友好
1 | emerge --ask sys-kernel/dracut |
或者使用genkernel生成内核的initramfs
1 | cp /usr/src/linux/1.config /etc/kernels/kernel-config-<内核版本号>-gentoo-x86_64 |
系统环境配置
配置系统时区
1 | ls /usr/share/zoneinfo |
配置编码
1 | nano -w /etc/locale.gen #将以下几项取消注释,如果没有手动输入 |
设置系统locale
1 | #查看可用系统时区和地区配置 |
配置sudo自动补全
1 | sudo emerge --ask bash-completion |
安装网络工具
1 | # 无线 |
安装配置networkmanager
最方便支持多种联网方式的工具是NetworkManager,基本满足所有需求,但同时它的依赖有点多。如果使用桌面换进的话建议安装。
1 | nano -w /etc/portage/make.conf: |
安装必要的工具
1 | # 系统日志 |
配置系统用户
安装sudo
1 | emerge app-admin/sudo |
把 %wheel ALL=(ALL) ALL
这一行去掉注释
添加用户
1 | useradd -m -G users,wheel,usb,portage,video,audio -s /bin/bash [用户名] |
设置密码
1 | # 设置root密码 |
添加操作系统启动项
添加grub配置
1 | nano -w /etc/portage/make.conf: |
安装grub2
1 | emerge --ask sys-boot/grub:2 |
grub安装到硬盘并生成开机启动项
1 | grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Gentoo |
1 | mount -o remount,rw /sys/firmware/efi/efivarsos-prober |
如果出现No space left on device,请运行以下命令,之后再重复上述步骤
1 | mount -t efivarfs efivarfs /sys/firmware/efi/efivars |
grub默认配置添加自定义配置,可提高intel cpu的稳定性和性能
1 | nano -w /etc/default/grub: |
清理
1 | rm /stage3-*.tag.ge |
如果开启不正常参考挂载文件系统(不要执行分区和mkfs操作),可重新chroot进入系统修改错误的配置。
桌面环境
安装基础环境
1 | # 旧教程中使用 x11-drivers/xf86-video-intel(Intel显卡),这个驱动已没人更新维护 |
^注意: 以后每次重新编译安装内核kernel后,均须要运行一遍“emerge @module-rebuild”,重新编译安装nvidia驱动模块加载到内核之中,否则nvidia驱动无法加载!!!
LightDM
1 | # 安装LightDM,使用KDE可忽略 |
KDE
1 | # 安装KDE桌面可忽略上边LightDM |
Awesome
1 | # awesome 平铺式桌面 |
Mate
1 | # 选择profile |
Xfce
1 |
|
中文字体
1 | emerge --ask media-fonts/arphicfonts |
输入法
1 | # 输入法主题框架 |
常用命令
1 | # 使用常规(基于源)更新 |
emerge 使用二进制包选项说明
选项 | 说明 |
---|---|
–usepkg (-k) | 尝试使用本地可用的 packages 目录中的二进制包。如果未找到二进制包,将执行常规(基于源)安装。 |
–usepkgonly (-K) | 类似 –usepkg (-k) ,但如果找不到二进制包,则失败。 |
–getbinpkg (-g) | 从远程二进制包主机下载二进制包。如果未找到二进制包,将执行常规(基于源)安装。 |
–getbinpkgonly (-G) | 类似于 –getbinpkg (-g) ,但如果无法下载二进制包,则会失败 |
常用软件
1 | sudo emerge --ask media-video/mpv |
参考文章
Gentoo AMD64 Handbook - Gentoo Wiki
开始使用gentoo linux——gentoo安装笔记(上)
开始使用gentoo linux——gentoo安装笔记(下)
Gentoo安装流程分享(step by step),第二篇之KDE Plasma桌面的安装配置 - 知乎 (zhihu.com)
gentoo linux配置intel和nvidia双显卡电脑,使用prime方案 - 简书 (jianshu.com)
Go MVC框架对比
Beego
github https://github.com/astaxie/beego
优点:
- 很全很简单
- 不仅追求性能,同样追求开发效率,解放程序员的生产力
- 社区良好,中文开发者很多,找资料很方便
- 代码文档化做的很优秀
缺点:
- 比较臃肿,因为提供了很多支持,当遇到坑时需要花很多时间查源码解决问题
- 模块众多,这既是优点也是缺点
Echo
github https://github.com/labstack/echo
优点:
- 路由性能高
- 更轻量级的web开发框架
缺点:
- 调试不方便,报错信息不友好
- 路由性能虽高,但是路由实现的算法底层不支持路由排序,会引起路由冲突
Gin
官网 https://gin-gonic.github.io/gin
github https://github.com/gin-gonic/gin
优点:
- 封装比较好,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
- 运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json
缺点:
- 封装比较好,API友好,源码注释比较明确,具有快速灵活,容错方便等特点
- 运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json
Iris
github https://github.com/kataras/iris
优点:
- 是社区驱动的Go语言Web 框架,支持http2,完备 MVC 支持。
- 极简主义风格
- 社区活跃度和文档支持都非常到位
缺点:
- 不够稳定,社区里有人反馈:最新的release版本是alpha版非常不稳定
- 支持Iris的人很多,但是目前仍然不如Gin和Echo多
GoLang搭建WebAPI
物联网国标
GB/T 35134-2017 物联网智能家居 设备描述方法
GB/T 35143-2017 物联网智能家居 数据和设备编码
GB/T 35317-2017 公安物联网系统信息安全等级保护要求
GB/T 35318-2017 公安物联网感知终端安全防护技术要求
GB/T 35319-2017 物联网 系统接口要求
GB/T 35419-2017 物联网标识体系 Ecode在一维条码中的存储
GB/T 35420-2017 物联网标识体系 Ecode在二维码中的存储
GB/T 35421-2017 物联网标识体系 Ecode在射频标签中的存储
GB/T 35422-2017 物联网标识体系 Ecode的注册与管理
GB/T 35423-2017 物联网标识体系 Ecode在NFC标签中的存储
GB/T 35592-2017 公安物联网感知终端接入安全技术要求
GB/T 35136-2017 智能家居自动控制设备通用技术要求
GB/T 35255-2017 LED公共照明智能系统接口应用层通信协议
GB/T 35291-2017 信息安全技术 智能密码钥匙应用接口规范
GB/T 30269.502-2017 信息技术 传感器网络 第502部分:标识:传感节点标识符解析
GB/T 30269.602-2017 信息技术 传感器网络 第602部分:信息安全:低速率无线传感器网络网络层和应用支持子层安全规范
GB/T 30269.801-2017 信息技术 传感器网络 第801部分:测试:通用要求
GB/T 30269.803-2017 信息技术 传感器网络 第803部分:测试:低速无线传感器网络网络层和应用支持子层
GB/T 35129-2017 面向食品制造业的射频识别系统 环境适应性要求
GB/T 35130-2017 面向食品制造业的射频识别系统 射频标签信息与编码规范
GB/T 35135-2017 面向食品制造业的射频识别系统 应用要求
GB/T 17626.6-2017 电磁兼容 试验和测量技术 射频场感应的传导骚扰抗扰度
GB/T 35290-2017 信息安全技术 射频识别(RFID)系统通用安全技术要求
GB/T 35120-2017 制造过程物联的数字化模型信息交换规范
GB/T 35122-2017 制造过程物联的数字化模型信息表达规范
GB/T 35128-2017 集团企业经营管理信息化核心构件
GB/T 34966.1-2017 卫星导航增强信息互联网传输 第1部分:播发体制
GB/T 34966.2-2017 卫星导航增强信息互联网传输 第2部分:接口要求
GB/T 34966.3-2017 卫星导航增强信息互联网传输 第3部分:数据传输格式
GB/T 35403.1-2017 国家物品编码与基础信息通用规范 第1部分:总体框架
GB/T 35589-2017 信息技术 大数据 技术参考模型
未命名
golang.org/x/net/websocket
示例
1 | package main |
github.com/gorilla/websocket
示例
1 | package main |
WPF
https://blog.csdn.net/maizi314/article/details/103979437
https://blog.csdn.net/wushang923/article/details/9226529
https://www.cnblogs.com/lonelyxmas/p/7979743.html
https://blog.csdn.net/yangyy9611/article/details/17464133
https://lindexi.oschina.io/lindexi/post/WPF-%E4%BD%BF%E7%94%A8%E5%B0%81%E8%A3%85%E7%9A%84-SharpDx-%E6%8E%A7%E4%BB%B6.html
https://blog.csdn.net/weixin_34320159/article/details/86132420
https://blog.csdn.net/wangsunjun/article/details/8894952
https://www.codeproject.com/Articles/15610/Regex-Validation-in-WPF
https://www.cnblogs.com/mantian/p/3816834.html
https://cloud.tencent.com/developer/ask/76782/answer/132738
https://blog.csdn.net/ZZZWWWPPP11199988899/article/details/77620211
https://blog.csdn.net/qq_38888555/article/details/82118505
https://blog.csdn.net/lwwl12/article/details/78472235
https://blog.walterlv.com/post/win10/2017/10/02/wpf-transparent-blur-in-windows-10.html
http://toto0668.blog.163.com/blog/static/30990252201691441716893/
https://blog.csdn.net/catshitone/article/details/78522931
EdgeX Foundry
https://blog.csdn.net/Jason_LiQuan/article/details/109717954
https://www.jianshu.com/nb/78768
https://www.hangge.com/blog/cache/detail_2351.html
https://unblocked-pw.github.io/
https://blog.csdn.net/ewtewtewrt/article/details/110161010
https://bthub11.xyz/cn
https://blog.csdn.net/ewtewtewrt/article/details/110382703
https://www.tpbaysproxy.com/
https://github.com/fwonggh/Bthub
https://limetorrent.cc/
https://blog.csdn.net/woaizard100/article/details/80910356
https://blog.csdn.net/woaizard100/category_7776741.html
https://cloud.tencent.com/developer/article/1671077
https://www.cnblogs.com/harrychinese/p/quartz_net.html#:~:text=Quartz.Net%20%E6%9C%89%E4%B8%A4%E7%B1%BB%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%2C%201.%20Quartz.%E7%B3%BB%E7%BB%9F%E7%BA%A7%E5%88%AB%E9%85%8D%E7%BD%AE%2C%20%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%BA%20quartz.config%20%2C%20%E6%98%AFjava,job%2Ftrigger%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%2C%20%E9%BB%98%E8%AE%A4%E5%90%8D%E7%A7%B0%E4%B8%BA%20quartz_jobs.xml%2C%20%E7%94%A8%E6%9D%A5%E9%85%8D%E7%BD%AE%20job%20%E5%92%8C%20trigger%20%E5%AE%9A%E4%B9%89%E4%BF%A1%E6%81%AF.
https://www.cnblogs.com/z-huan/p/7412181.html
https://www.cnblogs.com/abeam/p/8044460.html
https://blog.csdn.net/freewebsys/article/details/107950520
https://cloud.tencent.com/developer/article/1171966
https://blog.csdn.net/mr_zhongjie/article/details/106916512
https://www.jianshu.com/p/e48dbd087133
https://blog.csdn.net/tianhuanqingyun/article/details/90454329
https://blog.csdn.net/Frank_Abagnale/article/details/114333740
https://blog.csdn.net/emqx_broker/article/details/106490836
https://blog.csdn.net/qq_36827625/article/details/106502620
https://blog.csdn.net/qq_41626768/article/details/109384703
https://www.jianshu.com/p/af515094244b
https://my.oschina.net/LFAPAC/blog/4522385
https://www.jianshu.com/p/f6b7f6781481
https://mp.weixin.qq.com/s?__biz=MzI1OTI5NjU0Mg==&mid=2247484968&idx=1&sn=44e773b6a0df47b7634ca5f8c1014649&chksm=ea7a5a59dd0dd34f002b01a5249e0afe61ae9597d36949abb95cc2e28c2e085cfdd68b59c26e&scene=132#wechat_redirect
https://blog.csdn.net/flystreet7/article/details/122086529