我需要知道如果 raid 1 磁盘之一无法工作/崩溃,如何收到电子邮件警报。我有 CentOS 6.4 64 位,软件 raid。
我犯了一些错误本教程因为它是底部音符
注意:如果 /etc/mdadm.conf 文件中不存在 DEVICE 分区部分,则 mdadm 将不会发送电子邮件。如果这些部分不存在,可以使用以下命令创建新的 /etc/mdadm.conf 文件:mdadm –detail –scan > /etc/mdadm.conf"
我执行了该行,并且我的 mdadm.conf 文件是空的,并且有来自 ssh 的响应:"mdadm: An option must be given to set the mode before a second device (–scan) is listed"
我也明白我必须使用这个 ssh 行来启动它:mdadm –monitor –scan –daemonize
但我得到了这个回应" mdadm: An option must be given to set the mode before a second device (–scan) is listed "
这是'cat /proc/mdstat':
Personalities : [raid1]
md0 : active raid1 sdb1[1] sda2[0]
117153664 blocks super 1.1 [2/2] [UU]
bitmap: 1/1 pages [4KB], 65536KB chunk
unused devices: <none>
和
mdadm -D /dev/md0
/dev/md0:
Version : 1.1
Creation Time : Sat Aug 17 09:19:15 2013
Raid Level : raid1
Array Size : 117153664 (111.73 GiB 119.97 GB)
Used Dev Size : 117153664 (111.73 GiB 119.97 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Mon Sep 16 18:55:19 2013
State : active
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : trader:0
UUID : 0944131a:0513ca86:cb8ad6c5:3baca49f
Events : 1751
Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 17 1 active sync /dev/sdb1
1 分钟前使用 mdadm --examine --scan > /etc/mdadm.conf 生成 mdadm.conf 文件:
MAILADDR [email protected]
ARRAY /dev/md/0 metadata=1.1 UUID=0944131a:0513ca86:cb8ad6c5:3baca49f name=trader:0
就我的情况来说,如果我的一个硬盘出现故障,这足以收到电子邮件通知吗?
答案1
Blazer,看起来在改进你的问题的过程中(顺便说一句,现在这是一个好问题),你已经找到了自己的答案。干得好,你!但还有一些有用的内容可以说。
据我所知,这mdadm.conf
足以让您获得自动通知。当然,我的看起来与此没什么不同,而且我从最近的故障测试中知道我收到了通知。(我对 中的第二个斜线有点好奇/dev/md/0
,但如果那是您的系统写的,那么它很可能是正确的。)
但对于专业的系统管理员来说,除非你测试过某些东西,否则你无法真正知道它是否有效,这是不言而喻的。
至少,您需要检查是否可以以 root 身份从该系统向指定的 gmail.com 地址发送邮件并接收邮件。
如果我是你,我至少会执行软故障测试。你可以用 来执行此操作mdadm /dev/md0 -f /dev/sdb1
。这将使阵列中的第二个分区发生故障,并应向你生成正式通知(检查系统的邮件日志以查看它是否消失)。检查 的输出,cat /proc/mdstat
这样你就知道半坏阵列是什么样子的。
您可以稍后使用 重新同步该阵列mdadm /dev/md0 -a /dev/sdb1
,并检查它是否与另一个 同步cat /proc/mdstat
。
如果你想全力以赴,安排一些停机时间,尝试拔出其中一个驱动器,并检查系统是否仍能启动。当有问题的元设备是启动分区时,人们有时会忘记在系统上安装 GRUB 启动块两个都驱动器,因此当第二个驱动器发生故障时,其系统将无法启动。稍后更换并重新同步驱动器。
无论您决定进行什么测试,都要记录下来,这样当出现实际故障时,您就知道会发生什么,并且可以最大限度地减少因飞行员失误而导致第二次驾驶失败的可能性。
答案2
不,这还不够。简而言之,您需要安装 nullmailer 或其他邮件软件,并对其进行配置。
我为这个设置费了不少劲,最后终于让它工作了。以下是我对此的帖子:nullmailer - 诊断代码:SMTP;550 5.1.0 <root@external_email_server.com> 发件人被拒绝 (497)
nullmailer
应发送警报电子邮件至[电子邮件保护]使用外部邮件服务器smtp.external_email_server.com。
我在外部邮件提供商的 smpt 帐户是me@my_domain_hosted_by_provider.com
设置
空邮件程序
/etc/mailname 的值为:
external_email_server.com
/etc/nullmailer/defaulthost 也设置为
external_email_server.com
/etc/nullmailer/管理员地址
me@my_domain_hosted_by_provider.com
/etc/nullmailer/allmailfrom
me@my_domain_hosted_by_provider.com
mdadm 配置
我跟着这些说明。
/etc/mdadm/mdadm.conf
...
# automatically tag new arrays as belonging to the local system
HOMEHOST <system>
# instruct the monitoring daemon where to send mail alerts
# is defined in /etc/aliases so no need to use MAILADDR
MAILADDR [email protected]
MAILFROM me@my_domain_hosted_by_provider.com
...
/etc/别名
root: [email protected]
postmaster: [email protected]
default: [email protected]