ラベル RAID の投稿を表示しています。 すべての投稿を表示
ラベル RAID の投稿を表示しています。 すべての投稿を表示

2014年4月8日火曜日

HP Proliant RAIDを監視する

RAIDステータスの取得(監視)

環境説明

最近、部室に設置したHP製のサーバー。ML350p Gen8

(画像はwww8-hp.comから)

ハードウェア(サーバー) HP Proliant ML350p Gen8
ハードウェア(RAIDカード) HP Smartアレイ P420
オペレーションシステム CentOS 6.5 (2.6.32-431.el6.x86_64)

ソフトウェアのダウンロード

HPサポートセンターから、P420(別のRAIDカードの場合は、その製品名)で検索。
検索結果から「この製品に対応するすべてのドライバー、ソフトウェア、ファームウェアを表示してダウンロードします。 」のリンクを押下。
対象となるオペレーションシステムを選択し、必要なソフトウェアをダウンロードします。
または、ProLiant Support Pack(PSP) v9.10から、Proliant Support Packをダウンロードして下さい。
今回は、こちらのパック(psp-9.10.rhel6.x86_64.en.tar.gz)を取得しました。

psp-9.10.rhel6.x86_64.en.tar.gzを解凍すると、カレントディレクトリにワサッっと大量のファイルが展開されてしまうので注意。
解凍後、必要なファイルを選んで直接インストールしました。

hpacucli

インストール

hpacucliコマンドを使う為、hpacucli-9.40-12.0.x86_64.rpmをインストールします。

# rpm -ivh ./hpacucli-9.40-12.0.x86_64.rpm

使い方

hpacucliコマンドを使って、現在のRAIDの状態を表示・確認することが出来ます。 (対話型でも可能)

// ディスクの確認
# hpacucli  ctrl all show config

Dynamic Smart Array B120i RAID in Slot 0 (Embedded)



Smart Array P420 in Slot 2                (sn: XXXXXXXXXXXXXXX)

   array A (SATA, Unused Space: 0  MB)


      logicaldrive 1 (1.8 TB, RAID 1+0, OK)

      physicaldrive 1I:0:1 (port 1I:box 0:bay 1, SATA, 1 TB, OK)
      physicaldrive 1I:0:2 (port 1I:box 0:bay 2, SATA, 1 TB, OK)
      physicaldrive 1I:0:3 (port 1I:box 0:bay 3, SATA, 1 TB, OK)
      physicaldrive 1I:0:4 (port 1I:box 0:bay 4, SATA, 1 TB, OK)

   SEP (Vendor ID PMCSXXXX, Model SRCXXXX) 380 (WWID: XXXXXXXXXXXXXXX)



// バッテリーの確認
# hpacucli controller all show status

Dynamic Smart Array B120i RAID in Slot 0 (Embedded)
   Controller Status: OK

Smart Array P420 in Slot 2
   Controller Status: OK
   Cache Status: OK
   Battery/Capacitor Status: OK


cciss_vol_status

インストール

cciss_vol_statusを使用するためには、kmod-hpahcisr-1.2.6-13.rhel6u1.x86_64.rpmをインストールする必要があります。
(こっち[2]もあったので入れておきました。kmod-hpahcisr-1.2.6-13.rhel6u2.x86_64.rpm)

# rpm -ivh kmod-hpahcisr-1.2.6-13.rhel6u1.x86_64.rpm

# rpm -ivh kmod-hpahcisr-1.2.6-13.rhel6u2.x86_64.rpm

使い方

# cciss_vol_status -V /dev/sg0
Controller: Smart Array P420
  Board ID: 0x9999999c
  Logical drives: 1
  Running firmware: 5.22
  ROM firmware: 5.22
/dev/sda: (Smart Array P420) RAID 1 Volume 0 status: OK.
  Physical drives: 4
         connector 1I box 0 bay 1          ATA     XXX XXXXXXXX-00L           XX-XXXXXXXXXXXX 01.01A01 OK
         connector 1I box 0 bay 2          ATA     XXX XXXXXXXX-00L           XX-XXXXXXXXXXXX 01.01A01 OK
         connector 1I box 0 bay 3          ATA     XXX XXXXXXXX-00L           XX-XXXXXXXXXXXX 01.01A01 OK
         connector 1I box 0 bay 4          ATA     XXX XXXXXXXX-00L           XX-XXXXXXXXXXXX 01.01A01 OK

こんな感じです。 cciss_vol_statusの方より、hpacucliの方が使い勝手良さそう。

SNMPエージェントもインストールして試してみたいですね!!(・ω・`)


関連する記事

mdadmを使ったソフトウェアRAID1+0の実装

2013年12月2日月曜日

mdadmを使ったソフトウェアRAID1+0の実装。

mdadmを使って、RAID1+0を実装する

今回、RAIDレベル1+0(RAID10)の実装に伴い、事前にHDDを4台追加してあります。[sdb, sdc, sdd, sde]
これらの追加されたHDDのパーティションの作成などは割愛しています。(`・ω・´)
構築は、VMware上にインストールされたUbuntu12.x系で行っています。

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    20971519    10484736   fd  Linux raid autodetect
/dev/sdc1            2048    20971519    10484736   fd  Linux raid autodetect
/dev/sdd1            2048    20971519    10484736   fd  Linux raid autodetect
/dev/sde1            2048    20971519    10484736   fd  Linux raid autodetect

RAIDレベル1+0でRAIDアレイの作成を行います。 (チャンクサイズなどは必要に応じて指定して下さい)

root@ubuntu:~# mdadm --create /dev/md0 -v --raid-devices=4 --level=raid10 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512K
mdadm: size set to 10476032K
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

次に、作成したRAIDアレイのデバイスが表示されているか、現在のRAIDの状態を確認して下さい。

root@ubuntu:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sde1[3] sdd1[2] sdc1[1] sdb1[0]
      20952064 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
      [=>...................]  resync =  5.7% (1200000/20952064) finish=1.3min spee

unused devices: <none>

root@ubuntu:~# mdadm --detail --scan
ARRAY /dev/md0 metadata=1.2 name=ubuntu:0 UUID=cd5e56a7:01b542d3:db3247f7:a58d628c
root@ubuntu:~# mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Dec  2 01:55:53 2013
     Raid Level : raid10
     Array Size : 20952064 (19.98 GiB 21.45 GB)
  Used Dev Size : 10476032 (9.99 GiB 10.73 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

    Update Time : Mon Dec  2 01:58:02 2013
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : ubuntu:0  (local to host ubuntu)
           UUID : cd5e56a7:01b542d3:db3247f7:a58d628c
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1

mdadm.confの編集

RAID設定ファイルの編集(デバイス情報の追加)
UUID値をmdadmの設定ファイル(mdadm.conf)に追記します。
青い文字部分が追記した設定です。

root@ubuntu:~# vi /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY /dev/md0 level=raid10 num-devices=4 UUID=cd5e56a7:01b542d3:db3247f7:a58d628c

# This file was auto-generated on Sun, 01 Dec 2013 22:09:40 -0800
# by mkconf $Id$

"/etc/mdadm/mdadm.conf" 書込み

root@ubuntu:~# cat /proc/partitions
major minor  #blocks  name

  11        0    2868704 sr0
   8        0   10485760 sda
   8        1    9436160 sda1
   8        2          1 sda2
   8        5    1046528 sda5
   8       16   10485760 sdb
   8       17   10484736 sdb1
   8       32   10485760 sdc
   8       33   10484736 sdc1
   8       64   10485760 sde
   8       65   10484736 sde1
   8       48   10485760 sdd
   8       49   10484736 sdd1
   9        0   20952064 md0

ファイルシステムの作成

ファイルシステムの作成を行います。(例ではext4で作成しています)

root@ubuntu:~# mkfs.ext4 /dev/md0
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
1310720 inodes, 5238016 blocks
261900 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done


マウントディレクトリの作成とマウントの実行

今回はマウント先のディレクトリを/mnt/raid10aとしました。
以下の例では、デバイスのUUID値をblkidで取得し、作成したディレクトリへのマウント情報を/etc/fstabに書き込んでいます。
(vi以下は、青い文字部分が追記した設定です。)

root@ubuntu:~# mkdir /mnt/raid10a
root@ubuntu:~# blkid /dev/md0
/dev/md0: UUID="c276a9d0-32bb-02fe-7776-c61e52b7298a" UUID_SUB="4331c2dd-3f62-f9e8-YPE="linux_raid_member"
root@ubuntu:~# vi /etc/fstab

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc /proc           proc    nodev,noexec,nosuid      0       0
# / was on /dev/sda1 during installation
UUID=09ebc0d6-a6ed-4fe6-a4be-78c8a0985708  /               ext4    errors=remount-ro        0       1
# swap was on /dev/sda5 during installation
UUID=f30c3f89-ba4b-4987-afbe-dcdeb4388414 none             swap    sw                       0       0
# /mnt/raid10a was on /dev/md0 during installartion
UUID=ead6f8d1-83ad-4bb9-9ccc-204f72746728 /mnt/raid10a     ext4    errors=remount-ro        0       0
# /media/floppy0 was on /dev/fd0 during installation
/dev/fd0 /media/floppy0   auto    rw,user,noauto,exec,utf8 0       0

"/etc/fstab" 書込み


root@ubuntu:~# mount -a

mount -aコマンドを実行し、作成したfstabファイルをもとにマウントを実行しています。
マウント時にエラーが発生した場合は、fstabの設定情報を再度確認して下さい。
(デバイスを削除してやり直す場合はこちら)



最終確認

最後にdfコマンドでディスクを確認して終了とします。(*´ω`*)お疲れ様でした。

root@ubuntu:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       8.8G  1.1G  7.3G  13% /
udev            493M   12K  493M   1% /dev
tmpfs           201M  352K  201M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            502M     0  502M   0% /run/shm
/dev/md0         20G   44M   19G   1% /mnt/raid10a

/dev/md0 20G 44M 19G 1% /mnt/raid10aが、今回作成したRAID10のデバイスです。



ネストされたデバイスの削除

RAID10のネストされたデバイスを順に停止・解除している例。

root@ubuntu:~# mdadm --misc --stop /dev/md2
mdadm: stopped /dev/md2
root@ubuntu:~# mdadm --misc --stop /dev/md0
mdadm: stopped /dev/md0
root@ubuntu:~# mdadm --misc --stop /dev/md1
mdadm: stopped /dev/md1
root@ubuntu:~# mdadm --misc --zero-superblock /dev/sdb1
root@ubuntu:~# mdadm --misc --zero-superblock /dev/sdc1
root@ubuntu:~# mdadm --misc --zero-superblock /dev/sdd1
root@ubuntu:~# mdadm --misc --zero-superblock /dev/sde1
root@ubuntu:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>

RAID10のネストされたデバイスを先に停止させようとしてエラーとなっている例。c(・ω・`c⌒っ わたしがやりました。

root@ubuntu:~# mdadm --misc --stop /dev/md0
mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?
root@ubuntu:~# mdadm --misc --stop /dev/md1
mdadm: Cannot get exclusive access to /dev/md1:Perhaps a running process, mounted filesystem or active volume group?