centos sensors(centos更新软件命令)
大家好,关于centos sensors很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于centos更新软件命令的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
Keepalived工作原理
Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。
Keepalived采用是模块化设计,不同模块实现不同的功能。
keepalived主要有三个模块,分别是core、check和vrrp。
core:是keepalived的核心,负责主进程的启动和维护,全局配置文件的加载解析等
check: 负责healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析包括LVS的配置解析;可基于脚本检查对IPVS后端服务器健康状况进行检查
vrrp:VRRPD子进程,VRRPD子进程就是来实现VRRP协议的
keepalived配置文件:
Keepalived配置文件为:keepalived.conf;
主要有三个配置区域,分别是:全局配置(Global Configuration)、VRRPD配置、LVS配置
全局配置又包括两个子配置: 全局定义(global definition) 静态IP地址/路由配置(static
ipaddress/routes)
Keepalived服务VRRP的工作原理:
Keepalived高可用对之间是通过 VRRP进行通信的, VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当主宕机的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供服务
在Keepalived服务对之间,只有作为主的服务器会一直发送 VRRP广播包,告诉备它还活着,此时备不会抢占主,当主不可用时,即备监听不到主发送的广播包时,就会启动相关服务接管资源,保证业务的连续性.接管速度最快
出现脑裂的原因:
高可用服务器对之间心跳线链路发生故障,导致无法正常通信。
因心跳线坏了(包括断了,老化)。
因网卡及相关驱动坏了,ip配置及冲突问题(网卡直连)
因心跳线间连接的设备故障(网卡及交换机)
因仲裁的机器出问题(采用仲裁的方案)
高可用服务器上开启了 iptables防火墙阻挡了心跳消息传输。
高可用服务器上心跳网卡地址等信息配置不正确,导致发送心跳失败
其他服务配置不当等原因,如心跳方式不同,心跳广插冲突、软件Bug等。
如何解决脑裂:
① 同时使用串行电缆和以太网电缆连接,同时用两条心跳线路,这样一条线路坏了,另一个还是好的,依然能传送心跳消息。
② 当检测到裂脑时强行关闭一个心跳节点(这个功能需特殊设备支持,如Stonith、feyce)。相当于备节点接收不到心跳消患,通过单独的线路发送关机命令关闭主节点的电源。
③ 做好对裂脑的监控报警(如邮件及手机短信等或值班).在问题发生时人为第一时间介入仲裁,降低损失。管理员可以通过手机回复对应数字或简单的字符串操作返回给服务器.让服务器根据指令自动处理相应故障这样解决故障的时间更短。
一、实验环境
操作系统:CentOS7.2 Minial
###################
serverA:
eno16777736 192.168.1.104
eno33554984 192.168.1.105
##########################
serverB:
eno16777736 192.168.1.109
eno33554984 192.168.1.106
###########################
vip01:192.168.1.111
vip02:192.168.1.112
二、设置防火墙
/usr/bin/firewall-cmd--direct
--permanent--add-rule ipv4 filter INPUT 0--in-interface eth0--destination${组播地址}--protocol vrrp-jACCEPT
/usr/bin/firewall-cmd--reload
三、软件安装
在serverA和serverB上
# rpm-ivh--force libnl3-3.2.28-4.el7.x86_64.rpm
# rpm-ivh--forcelm_sensors-libs-3.4.0-4.20160601gitf9185e5.el7.x86_64.rpm
# rpm-ivh--force net-snmp-agent-libs-5.7.2-32.el7.x86_64.rpm
# rpm-ivh--force net-snmp-libs-5.7.2-32.el7.x86_64.rpm
# rpm-ivh--force ipset-libs-6.38-3.el7_6.x86_64.rpm
# rpm-ivh--force keepalived-1.3.5-6.el7.x86_64.rpm
四、配置keepalived
如果不使用 VRRP Sync Groups如果keepalived主机有两个网段,每个网段开启一个VRRP实例,如果对外的网段出现问题,VRRPD认为自己仍然认为健康,因此 Master和Backup相互切换,从而导致服务不能正常使用,同时高可用集群也不能正常运行,Sync group就是为了解决该问题,可以把两个实例放进同一个Sync Group中!
serverA
# vim/etc/keepalived/keepalived.conf
######################################
! Configuration File for keepalived
global_defs{
router_id LVS_DEVEL
}
vrrp_sync_group VG1{
group{
VI_1
VI_2
}
}
vrrp_instance VI_1{
state BACKUP
interface eno16777736
virtual_router_id 51
priority 100
nopreempt
advert_int 1
authentication{
auth_type PASS
auth_pass 1111
}
track_interface{
eno16777736
eno33554984
}
virtual_ipaddress{
192.168.1.111
}
}
vrrp_instance VI_2{
state BACKUP
interface eno33554984
virtual_router_id 52
priority 100
nopreempt
advert_int 1
authentication{
auth_type PASS
auth_pass 2222
}
track_interface{
eno16777736
eno33554984
}
virtual_ipaddress{
192.168.1.112
}
}
serverB
# vim/etc/keepalived/keepalived.conf
######################################
! Configuration File for keepalived
global_defs{
router_id LVS_DEVEL
}
vrrp_sync_group VG1{
group{
VI_1
VI_2
}
}
vrrp_instance VI_1{
state BACKUP
interface eno16777736
virtual_router_id 51
priority 90
nopreempt
advert_int 1
authentication{
auth_type PASS
auth_pass 1111
}
track_interface{
eno16777736
eno33554984
}
virtual_ipaddress{
192.168.1.111
}
}
vrrp_instance VI_2{
state BACKUP
interface eno33554984
virtual_router_id 52
priority 90
nopreempt
advert_int 1
authentication{
auth_type PASS
auth_pass 2222
}
track_interface{
eno16777736
eno33554984
}
virtual_ipaddress{
192.168.1.112
}
}
五、测试
在serverA和 serverB上
# systemclt start keepalived
在serverA
如何在Ubuntu Linux上获取CPU温度
硬件过热通常会导致系统性能下降。监视硬件温度可以帮助您诊断系统的CPU过热问题。笔记本电脑过热的原因通常来自CPU,GPU(显卡)或硬盘温度过高。
如果您的笔记本电脑发烫,请确保其通风口没被遮挡,以免限制气流。您必须保证笔记本电脑散热良好,不要满是灰尘,并删除那些占用CPU过多的不必要的软件。同样,在省电模式下运行也可以避免笔记本电脑过热。
在本文中,我们将学习如何从命令行以及从桌面获取Ubuntu Linux上的CPU温度。
Lm_sensors是一个命令行工具,用于显示所有芯片传感器数据的当前读数,包括CPU温度。默认情况下,在使用前我们必须自己安装这个命令。
因此,首先让我们检查如何在各种Linux发行版上安装lm-sensors软件包。
在Ubuntu/ Debian上,按键盘上的快捷键CTRL+ ALT+ T在Ubuntu上打开终端。在我的Ubuntu 18.04,Ubuntu 20.04和Debian 10上,运行以下命令安装Lm_Sensors:
在Fedora上,使用dnf命令在Fedora Linux上安装lm_sensors。
在CentOS/ RHEL上,使用yum命令在CentOS 7和RHEL 7上安装lm_sensors。
现在我们可以开始检测笔记本电脑的硬件传感器了。这将提供有关以下信息:
我们通过输入命令sudo sensor-detect来做到这一点:
通过前面的操作,我们已经成功安装了lm-sensors软件包,并且在由Ubuntu笔记本电脑上成功检测到支持的传感器。
现在我们可以执行以下命令来查看温度数据:
请注意,结果将因您的计算机而异。
您还可以使用watch命令持续运行传感器命令,该命令将在屏幕上显示传感器输出:
我们将使用GUI工具Psensor,该工具可让您以图形界面的方式监视Linux上的硬件温度。
使用Psensor,您可以检查以下内容:
Psensor的最新版本还为Ubuntu提供了一个桌面指示器,因此,它使得在Ubuntu上监视硬件温度更加容易。您可以选择在顶部面板本身中显示温度。当温度超过限制时,它甚至可以发送桌面通知。
我们可以使用以下命令继续安装Psensor:
Ubuntu/ Debian的
Fedora
CentOS和RHEL
安装后,通过在Unity Dashboard中查找来运行该应用程序。在第一次运行时,您可以配置要使用Psensor收集的统计信息(传感器)。
Psensor温度监控器
Psensor CPU温度曲线图
如果要在顶部面板中显示CPU统计信息(包括温度),请转到“传感器首选项”。然后在“应用程序指示器”菜单下,选择要为其显示温度的组件。然后检查标签选项中的“显示传感器”。
Hardinfo是Linux中用于在GUI中显示硬件信息的系统分析器和基准测试工具。您也可以从GUI-设备-传感器检查CPU温度。
在Ubuntu和Debian上,在终端上运行以下命令,以在GUI上显示硬件信息。
HardInfo-CPU传感器
Hardinfo处理器
i7z是一个命令行工具,可在Intel Core i7,i5,i3处理器上打印CPU信息,并报告CPU温度。i7z需要以root或具有 sudo特权的用户身份运行。
要在ubuntu上安装,请运行以下命令:
i7z命令输出
除此之外,您可以尝试使用TLP)和Thermald,可以帮助您控制Linux上的CPU温度。 Cpufreq是另一个可以帮助您节省电池电量并减少笔记本电脑过热的工具,在Ubuntu上效果很好。
如果要在没有第三方工具的情况下检查温度,请查看/sys/devices/virtual/thermal/thermal_thermal1/zone1/ temp文件。
要检查硬盘温度,可以安装hddtemp软件包。
最后,如果您有任何疑问或反馈,请随时发表评论。
用软件lmsensors监测Linux系统和CPU温度
lm_sensors的软件可以帮助我们来监控主板,CPU的工作电压,风扇转速、温度等数据。这些数据我们通常在主板的 BIOS也可以看到。当我们可以在机器运行的时候通过lm_sensors随时来监测着CPU的温度变化,可以预防呵保护因为CPU过热而会烧掉。
1.安装lm_sensors
现在基本上每个Linux都已经有lm_sensors包了,我们主要安装了就可以了。或者我们也可以通过源文件来自己编译。
1)在FC,RH, CENTOS下,用rpm:
[root@securitycn~]# rpm-ivh lm_sensors-2.10.0-3.1.i386.rpm
3)编译源文件安装
我们可以通过:这里下载源文件
这里我们要注意的问题是要先安装libsysfs库,是Sysfsutils,Sysfsutils-devel软件
tar xzvf lm-sensors-xxx.tar.gz
make user
make user_install testing
下面我们就用一些简单的命令来利用lm_sensors来得到CPU的数据。我们要用root的身份来:
sensors-detect,然后它会自动搜索主板上的chipset和相应的driver,我们全部答YES就可以了
[root@securitycn~]# sensors-detect
# sensors-detect revision 1.413(2006/01/19 20:28:00)
This program will help you determine which I2C/SMBus modules you need to
load to use lm_sensors most effectively. You need to have i2c and
lm_sensors installed before running this program.
Also, you need to be `root', or at least have access to the/dev/i2c-*
files, for most things.
If you have patched your kernel and have some drivers built in, you can
safely answer NO if asked to load some modules. In this case, things may
seem a bit confusing, but they will still work.
It is generally safe and recommended to accept the default answers to all
questions, unless you know what you're doing.
We can start with probing for(PCI) I2C or SMBus adapters.
You do not need any special privileges for this.
Do you want to probe now?(YES/no):
全部默认YES即可。
然后我们启动lm_sensors:
/etc/init.d/lm_sensors start
Starting lm_sensors: [ OK ]
我们可以通过lsmod来确定我们需要的driver已经加载了没有
lsmod| grep i2c
i2c_isa 9153 2 w83627hf,w83781d
i2c_i801 11341 0
i2c_dev 12613 0
i2c_ec 9025 1 sbs
i2c_core 23745 6 w83627hf,w83781d,i2c_isa,i2c_i801,i2c_dev,i2c_ec
然后我们用sensors的命令就可以了:
[root@securitycn~]# sensors
w83627hf-isa-0290
Adapter: ISA adapter共2页。
VCore 1:+3.33 V(min=+0.00 V, max=+0.00 V) ALARM
VCore 2:+3.36 V(min=+0.00 V, max=+0.00 V) ALARM
+3.3V:+0.93 V(min=+3.14 V, max=+3.46 V) ALARM
+5V:+5.11 V(min=+4.73 V, max=+5.24 V)
+12V:+4.56 V(min=+10.82 V, max=+13.19 V) ALARM
-12V:-7.10 V(min=-13.18 V, max=-10.88 V) ALARM
-5V:-1.93 V(min=-5.25 V, max=-4.75 V) ALARM
V5SB:+5.51 V(min=+4.73 V, max=+5.24 V) ALARM
VBat:+0.02 V(min=+2.40 V, max=+3.60 V) ALARM
fan1: 0 RPM(min= 2732 RPM, div= 2) ALARM
fan2: 0 RPM(min= 0 RPM, div= 2)
fan3: 0 RPM(min= 0 RPM, div= 2)
temp1:+38癈(high=+50癈, hyst=+45癈) sensor= thermistor
temp2:+33.5癈(high=+80癈, hyst=+75癈) sensor= thermistor
temp3:+33.5癈(high=+80癈, hyst=+75癈) sensor= thermistor
vid:+0.000 V(VRM Version 10.0)
alarms:
beep_enable:
Sound alarm enabled
这里我们可以看到温度还没有相对应CPU,我们主要稍微修改一下/etc/sensors.conf就可以了,不过其实都不用我们自己去动手,一般我们都可以从主板生产商那里下载到配置文件。通过lmsensors我们就可以得到主板温度,CPU电压,风扇转速这些信息。我们可以根据这些数据来监察系统的运行情况来预防系统的问题。
接下来让它和MRTG整合在一起吧
[root@securitycn~]# cd/usr/local/mrtg/bin
[root@securitycn~]# vi temp.sh
#内容如下
#!/bin/bash
cputemp=`/usr/bin/sensors| grep temp1|awk'{print$2}'|cut-c 2-4`#这句是说找出有temp1那一行,印出第二个列的2-4个字
systemp=`/usr/bin/sensors| grep temp2|awk'{print$2}'|cut-c 2-5`不用解释了吧
echo$cputemp
echo$systemp
# the uptime
uptime| sed's:^.* up\(.*\), [0-9][0-9]* users.*$:\1:'
# my name
uname-n
[root@securitycn~]# chmod+x temp.sh改成可执行
[root@securitycn~]#./temp.sh试试看有没有问题
39
33.5
15:36:19 up 22:28, 1 user, load average: 0.04, 0.09, 0.04
securitycn
再来写下面的文件
[root@securitycn~]# cd../etc/
[root@securitycn~]# vi temp.cfg
WorkDir:/data1/usr/apache/htdocs/mrtg/temp/
Target[index]: `/usr/local/mrtg/bin/temp.sh`
MaxBytes[index]:80
Options[index]: gauge, nopercent, growright
YLegend[index]: Temp(度)
ShortLegend[index]:度
LegendO[index]:系统温度;
LegendI[index]: CPU温度;
Title[index]:系统温度表
PageTop[index]:
主机温度表
[root@securitycn~]#/usr/local/mrtg/bin/mrtg/usr/local/mrtg/etc/temp.cfg
执行3次就不报错了
然后加入到crontab里面
*/5****/usr/local/mrtg/bin/mrtg/usr/local/mrtg/etc/temp.cfg共2页。