Nagios Plugin to Enumerate and Erase disks on rack mounted servers

CLOSED
Bids
6
Avg Bid (USD)
$382
Project Budget (USD)
$30 - $250

Project Description:
I work for a small NOC. Customers Have asked for the ability to erase disks on hosted servers. All servers run some flavor of Linux, Mostly SLES and Red Hat.

Project:
We need a NAGIOS style plugin to erase disks, using a number of methods outlined below.
Project must be written in Perl, preferably Object Oriented Perl
Must be written in pure Perl.
Minimum Perl version on each server is 5.10
The Following Perl Modules are allowed::
All Standard Perl modules
XML:Simple
YAML::Syck
Net::Snmp
Net::Telnet
Net::Ftp
Storeable
Other modules by Arrangement

Machines:
There can be 2 to 24 disks on each server, A customer can own more than one server in a rack, or have a whole rack of servers.
SSH is used to communicate between servers.

Plugin:
Plugin will be run as root
Needs to do 2 to 24 disks and up
built in help
one, many or all disks can be targeted by block device name or slot number ( see below)

Needs to use the following utilities;

dd
Dban Dwipe
Controller based secure erase ( see below)*

dd can be used to 'zero' drives'
Dban option need only support 'DoD 5220-22-M standard 3-pass' standard

**Preferred method** is controller based secure erase.
All RAID/Disk controllers are made by LSI.
MegaCLI utility is installed on all servers
MegaCli commands and SNMP commands are available to be used.
LSI provides extensive documentation on their website about how to use this utility
SNMP is also available for monitoring

MegaCLi examples;
MegaCli -SecureErase
Start[
Simple|
[Normal [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]|
[Thorough [ |ErasePattern ErasePatternA|ErasePattern ErasePatternA ErasePattern ErasePatternB]]]
| Stop | ShowProg | ProgDsply [-PhysDrv [E0:S0,E1:S1,...] | -Lx|-L0,1,2|-LALL] -aN|-a0,1,2|-aALL

Progress can also be tracked from Controller Logs. There are existing NAGIOS Plugins to monitor disks via megacli/snmp
There are important considerations to be made,versus controller output and Linux output. Linux devices must be mapped to Controller devices and/or slots
We need to be sure we are targeting the right disks

Disks can be in JBOD/ RAID 0/ RAID 1/RAID 5/RAID6 configurations. controller commands must be used to tear down RAID config on the drives, LINUX core utilities can be used to determine drive health, mount/unmount the target device(s)

Additional Project Description:
04/05/2013 at 4:28 CEST
Clarification:

When I say Nagios 'style' Plugin, I mean in the context of the actual erase functionality,programatically similar to how NAGIOS plugins are developed. Essentially though this portion could be a straight perl script.

That said, a Nagios plugin could be used to report the status of current erase tasks.
With regards to reporting, I can provide OIDs or the LSI MIB for the controller and examples of log output. I cannot provide access to servers unfortunately . The dd and Dwipe options have extensive examples of output on the internet.


04/05/2013 at 14:31 CEST
I have chosen to simplify this project drastically. The preferred method is now to use DBAN , Please ignore the controller based approach outline above. To the best of my knowledge DBAN has to run an instance for each drive, So there would be a need to fork the execution for each drive selected.

Skills required:
Linux, Perl, Shell Script
About the employer:
Verified
Public Clarification Board
Bids are hidden by the project creator. Log in as the employer to view bids or to bid on this project.
You will not be able to bid on this project if you are not qualified in one of the job categories. To see your qualifications click here.


Hire damirmarkovic
$ 357
in 5 days
$ 525
in 7 days
Hire lecyberian
$ 525
in 10 days
Hire bpetrusek
$ 225
in 5 days
Hire pardeepkaursonia
$ 400
in 14 days
$ 262
in 3 days