近期碰到多起硬件故障,快被搞疯了,因此是深有体会啊,分享下几点吧:
1. HP的服务器也是支持RAID冷迁移的,方法可以参照之前我写的:dell 2950 raid阵列冷迁移方法
2. 警惕HP服务器的ILO报错信息:ASR(Automatic Server Recovery) 相关的报警,出现的话,赶紧做切换
3. 尽量不要给厂商做小白鼠,硬件测试一定要完善的做,不能因为赶时间,导致后续问题一大堆
4. 企业应用尽量不要因为价格方面的原因导致服务质量大打折扣,除非价格确实差很大
利用HP官方提供的hpasm工具包即可检测到服务器的硬件相关状态,起到监控预警作用。
hpasm工具包中,有个工具是hpasmcli,用法如下:
[yejr@imysql ~]# hpasmcli -s 'show'
Invalid Arguments
SHOW ASR
SHOW BOOT
SHOW DIMM
SHOW F1
SHOW FANS
SHOW HT
SHOW IML
SHOW IPL
SHOW NAME
SHOW PORTMAP
SHOW POWERSUPPLY
SHOW PXE
SHOW SERIAL [ BIOS | EMBEDDED | VIRTUAL ]
SHOW SERVER
SHOW TEMP
SHOW UID
SHOW WOL
通过ipmitool命令行查看系统温度:
[yejr@imysql ~]# /usr/bin/ipmitool sensor list | grep 'Ambient Temp' Ambient Temp | 25.000 | degrees C | ok | na | 3.000 | 8.000 | 42.000 | 47.000 | na
意思是抓取到机箱温度是25°,warn级别报警是42°,crit级别的报警是47°,由此可以达到温度监控预警目的。
假设2个服务器:
A (故障)
B (正常)
现在需要从 A => B
1. 关闭 A 和 B 服务器
2. 将 B 上的所有磁盘按顺序拔出,记录位置
3. 启动 B 服务器,进入 raid 配置界面,之前需要按 C 再按 Y 以进入
4. 进入 B 服务器的 raid 配置界面,清空 raid 配置信息 (reset config)
5. 将 A 上的所有磁盘按顺序拔出,记录位置,并且按这个位置插入到 B 中
6. 启动 B,进入 raid 配置界面,导入 raid 配置信息 (import config)
7. 重启 B,检查是否能正常启动系统
8. 完成
目录:
随着数据量规模的扩大,企业对 MySQL 的要求就不仅仅是能用了,也在寻求各种高可用方案。以前我们的大部分高可用方案其实还存在一定缺陷,例如 MySQL Replication 方案,Master 是否存活检测需要一定时间,而和 Slave 的切换也需要时间,因此其高可用程度较大依赖监控软件或自动化管理工具。而早先的 MySQL Cluster 实在不能令人满意,性能差的不行,也让我们的期待一次次落空。本次 MySQL Cluster 7.0 的推出,终于实现了质的飞跃,性能上得到了很大提高。MySQL Cluster 7.0 新特性主要体现在以下几个方面:
本身MySQL Cluster已经实现了高可用,不过由于SQL节点无法对外部负载均衡,因此我们采用 LVS 来实现这一需求。
1. ilo卡
hp的ilo卡可以通过hp官方提供的工具hponcfg来修改,hponcfg全称
原文参见:http://pento.net/2009/04/16/extracting-a-database-from-a-mysqldump-file/
直接用 sed 命令从一个mysqldump备份出来的标准 SQL 文件中提取出特定数据库下的所有 SQL 语句:
sed -n '/^-- Current Database: `test`/,/^-- Current Database: `/p' fulldump.sql > test.sql
上面的例子是把 test 库下所有的 SQL 语句都提取出来。
这种方法适合dump文件相对较小的情况,否则可能需要处理很长时间,而且一定不能用在线服务的机器处理,搞不好会因为内存不够用导致其他应用程序crash的,谨慎。
原文参考:http://www.davidodwyer.com/category/tags/tcpdump-mysql
#!/bin/bash
tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | perl -e '
while(<>) { chomp; next if /^[^ ]+[ ]*$/;
if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL)/i) {
if (defined $q) { print "$q\n"; }
$q=$_;
} else {
$_ =~ s/^[ \t]+//; $q.=" $_";
}
}'
可以根据自己的需要稍微改改,我在这里只增加了对 CALL 关键字。
最近评论
33 分钟 18 秒 前
17 小时 29 分钟 前
2 天 2 分钟 前
2 天 5 分钟 前
3 天 3 小时 前
1 周 2 天 前
1 周 2 天 前