smartmontools unter OpenSolaris

Das root-Dateisystem und auch die Datenpartitionen sind redundant, trotzdem bin ich am Zustand der Festplatten interessiert. Die S.M.A.R.T.–Daten sind da hilfreich und ausserdem lassen sich so Selbsttests initieren.

Ob SMART wirklich funktioniert hängt jedoch von einigen Komponenten ab. Mit RAID-Karten ist es besonders schwierig, nur wenige Modelle werden unterstützt. Selbst ohne RAID-Karten gibt es einiges zu beachten:

  • SCSI und SAS sollte immer funktioneren
  • PATA sowie externe USB-Laufwerke werden funktionieren nicht
  • SATA funktioniert, zumindest wenn im BIOS der AHCI-Modus aktiviert ist

Ich benutze SATA-Festplatten an einem AHCI-komptiblen Kontroller und so funktioniert die Abfrage auch tatsächlich. Dies aber auch erst, wenn der zu nutzende Treiber angegeben wird und auch dann gibt es mit jeder Abfrage eine Fehlermeldung im Logfile.

Installation
Nach dem Herunterladen und auspacken der smartmontools-5.39.1 braucht es nur wenige Befehle:
./configure --prefix=/usr/local --sysconfdir=/etc
make -j5
pfexec make install

Testen
$ pfexec /usr/local/sbin/smartctl -a -d sat,12 /dev/rdsk/c6t2d0p0
smartctl 5.39.1 2010-01-28 r3054 [i386-pc-solaris2.11] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Device Model: WDC WD20EARS-00MVWB0
Serial Number: WD-WMAZ20118035

Aktivieren von smartd
Für eine ständige Überwachung und regelmässiges Prüfen der HDs ist smartd zuständig. Leider gibt es für Opensolaris kein passendes init-Script, aber für svc ist schnell eine passende Konfiguration vorbereitet.

Diese Datei speichern unter /var/svc/manifest/site/smartd.xml

<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="manifest" name="smartd">
  <service
     name="site/smartd"
     type="service"
     version="1">

    <single_instance/>

    <dependency
       name="filesystem-local"
       grouping="require_all"
       restart_on="none"
       type="service">
      <service_fmri value="svc:/system/filesystem/local:default"/>
    </dependency>

    <exec_method
       type="method"
       name="start"
       exec="/usr/local/sbin/smartd"
       timeout_seconds="30">
    </exec_method>

    <exec_method
       type="method"
       name="stop"
       exec=":kill"
       timeout_seconds="60">
    </exec_method>

    <instance name="default" enabled="false" />

    <stability value="Unstable" />

    <template>
      <common_name>
        <loctext xml:lang="C">
          Zabbix monitoring agent
        </loctext>
      </common_name>
      <documentation>
        <manpage title="smartd" section="1M" manpath="/usr/man"/>
      </documentation>
    </template>
  </service>
</service_bundle>

Nun diese Datei importieren und auch gleich den neuen Service aktivieren.
pfexec svccfg -v import /var/svc/manifest/site/smartd.xml
pfexec svcadm enable smartd

Konfiguration
Ich empfehle die Zeile „DEVICESCAN“ in /etc/smartd.conf zu deaktivieren und dafür für jede Festplatte eine entsprechende Zeile einzufügen
/dev/rdsk/c6t0d0p0 -d sat,12 -a -o on -S on -s (S/../.././02|L/../../6/03)
/dev/rdsk/c6t2d0p0 -d sat,12 -a -o on -S on -s (S/../.././02|L/../../6/03)
/dev/rdsk/c6t3d0p0 -d sat,12 -a -o on -S on -s (S/../.././02|L/../../6/03)
/dev/rdsk/c6t4d0p0 -d sat,12 -a -o on -S on -s (S/../.././02|L/../../6/03)
/dev/rdsk/c6t5d0p0 -d sat,12 -a -o on -S on -s (S/../.././02|L/../../6/03)

Durch diese Konfiguration werden regelmässig Selbsttests durchgeführt.

Dieser Beitrag wurde unter Monitoring, OpenSolaris veröffentlicht. Setze ein Lesezeichen auf den Permalink.
Warning: count(): Parameter must be an array or an object that implements Countable in /home/httpd/vhosts/blog-it.ch/httpdocs/wp-includes/class-wp-comment-query.php on line 405