Recently I performed a large upgrade to my raid file-server, the information being stored is much more critical at this point in time and I have chosen to step up the game in four ways:
- Move from on-board Intel controller to dual LSI L8i 8channel hba controllers
- Move from raid5 to raid6
- Install an APC UPS and monitor it with apcupsd
- System monitoring with email alerts via mdadm and Google SMTP
Software raid tool mdadm has monitoring functionality that is easily configured through the /etc/mdadm/mdadm.conf file. You simply need to specify an email address under the MAILADDR property. I would suggest to leave this as root, because with ssmtp you are going to set the email address for everything routed to root.
The difficult part of getting email setup is configuring a MTA (Mail Transfer Agent). I searched for quite a while on how to get this setup. My initial impression was that I would have to host my own via postfix or some other alternative. I was happy to find that I could use a much more lightweight solution with ssmtp and an email I created from my google apps account.
sudo apt-get install ssmtp
Configure ssmtp via its config file /etc/ssmtp/ssmtp.conf
# Config file for sSMTP sendmail
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# Where will the mail seem to come from?
# The full hostname
# Are users allowed to set their own From: address?
# YES – Allow the user to specify their own From: address
# NO – Use the system generated From: address
Now for a test of ssmtp, create a test file with some text in it. My test file was called ‘test’:
ssmtp firstname.lastname@example.org < test
sudo mdadm –monitor –scan –test
Everything should be set to go now, hopefully you wont ever need to be notified of a failure.
Using ssmtp with Google’s smtp is great, however if you use special characters in your email password ssmtp will not be able to authenticate. I ran into this and saw the following error:
ssmtp: Authorization failed (454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. 14sm88672bwz.5)
This was promptly resolved by my choosing a password without special characters.