Netrialtool

同じ案件で知り合いになった同僚に、ネットワーク機器のUT/PTで利用したい!との依頼で予め主要なサービスが起動して、各サービスがすべからく設定されているVirtualboxのイメージと、試験ツールを同梱したNetrialtoolなるものを作成し、Bitbucket Netrialに置きました。といっても、肝心のVirtualBoxのイメージは大きくて置けません。このVirtualboxイメージがないと機能しないツールです。VirtualBoxのNAT機能を使ってホスト側のIP設定さえすれば、すぐに試験環境が整うという設計です。ちなみに、レアジョブの情報システム学科に通う先生に英語マニュアルを採点してもらったら、かなり直されたあげく、「意味分からんソフト」、「単純そうだよね」とディスられました(汗

Serversman 2ヶ月無料メモ

Ubuntsu64ビットを選択しました。普段、Centosばっかりなので・・・
で、digが使えなかったのでapt-getでdnsutilsをインストールしようとしたら、エラー・・・
なので、参照先を変更した。

root@ubuntu-10:~# more /etc/apt/sources.list
deb http://ubuntutym.u-toyama.ac.jp/ubuntu maverick main restricted universe
deb http://ubuntutym.u-toyama.ac.jp/ubuntu maverick-updates main restricted univ
erse
deb http://ubuntutym.u-toyama.ac.jp/ubuntu maverick-security main restricted uni
verse

Superblockの情報を消さないといつまでも残る。なんで、削除。

[root@web01 /]# mdadm -E --scan >> /etc/mdadm.conf
[root@web01 /]# more /etc/mdadm.conf 
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=6f673235:35928bcd:d95a084b:6dcb83bc 
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=42516526:40ff0495:1c07163e:c1a5aa11
ARRAY /dev/md3 level=raid1 num-devices=2 UUID=c79fd8cb:bbd735e4:956153c6:5f743dd3
ARRAY /dev/md6 level=raid1 num-devices=2 UUID=ef6388c1:38db7095:5dc05120:60c67c1c
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=0767c26c:9ebc5be2:58ba2b0b:13c95a57
[root@web01 /]# fdisk -l /dev/sda

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          16      128488+  83  Linux
/dev/sda2              17         143     1020127+  82  Linux swap / Solaris
/dev/sda3             144         270     1020127+  83  Linux
/dev/sda4             271        1044     6217155    5  拡張領域
/dev/sda5             398        1044     5196996   83  Linux
/dev/sda6             271         397     1020096   83  Linux

領域テーブル項目がディスクの順序と一致しません
[root@web01 /]# mdadm --misc --zero-superblock /dev/sda6 /dev/sdb6
[root@web01 /]# mdadm -E --scan 
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=6f673235:35928bcd:d95a084b:6dcb83bc
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=42516526:40ff0495:1c07163e:c1a5aa11
ARRAY /dev/md6 level=raid1 num-devices=2 UUID=ef6388c1:38db7095:5dc05120:60c67c1c

mdのUUIDは

LinuxユーザのMLで以下の記述を発見した
sda1とsdb1のUUIDが同一になっている

shin @ ww3:~$  sudo blkid
[sudo] password for shin: 
/dev/sda1: UUID="d64ad8d5-2b97-45fe-00d7-ec1c1a1cb82c" TYPE="linux_raid_member" 
/dev/sdb1: UUID="d64ad8d5-2b97-45fe-00d7-ec1c1a1cb82c" TYPE="linux_raid_member" 
/dev/md0: UUID="71d83aef-9fa5-4ac7-9478-7be1eaaf2361" TYPE="ext4" 

ああ、、、Array UUIDの様です。
mdadm -Q --detail ででてくるUUIDと同じだ

shin @ ww3:~$ sudo mdadm -Q  --detail /dev/md0
/dev/md0:
        Version : 00.90
    :
    :
           UUID : d64ad8d5:2b9745fe:00d7ec1c:1a1cb82c
         Events : 0.40

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

で、手元の実機で確認したところ以下のような異なる出力となった

[root@web01 init.d]# blkid
/dev/sda5: LABEL="/" UUID="4ebad091-4a44-4536-97b2-ea0b71fb75af" TYPE="ext3" 
/dev/sda3: LABEL="/var" UUID="dd5a6e3c-842f-4429-bac7-2ba74f545446" TYPE="ext3" 
/dev/sda2: LABEL="SWAP-sda2" TYPE="swap" 
/dev/sda1: LABEL="/boot" UUID="baba5cee-3676-4d5f-bc95-e5977788f7ac" TYPE="ext3" 
/dev/sdb5: UUID="a45e389f-03fb-4f60-bd7e-48c4ca57a260" TYPE="ext2" 
/dev/sdb6: UUID="41f29db6-411e-421e-9d2c-b7ff587227cf" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sdb1: UUID="17ea8f5c-2296-441a-ad77-c4deab9550ae" TYPE="ext2" 
/dev/sdb2: TYPE="swap" 
/dev/sdb3: UUID="63c91a4f-a66e-400b-aad1-1333ffb3eb34" TYPE="ext2" 
/dev/sda6: UUID="41f29db6-411e-421e-9d2c-b7ff587227cf" SEC_TYPE="ext2" TYPE="ext3" 
/dev/md6: UUID="41f29db6-411e-421e-9d2c-b7ff587227cf" SEC_TYPE="ext2" TYPE="ext3" 
[root@web01 init.d]# more /proc/mdstat 
Personalities : [raid1] 
md6 : active raid1 sdb6[1] sda6[0]
      1020032 blocks [2/2] [UU]
      
unused devices: <none>
[root@web01 init.d]# mdadm --detail --scan 
ARRAY /dev/md6 level=raid1 num-devices=2 metadata=0.90 UUID=1488922e:b322f2c6:ca74375d:f07255fa

つまり、/dev/md6のUUIDが/dev/sdb6のものと同一となっている。
これは、例のシステムIDと関連があると思いシステムIDをfdにしてみた。

予想とおり、/dev/sda6と/dev/sdb6のUUIDが一致するように変化した

[root@web01 ~]# mdadm --detail --scan
ARRAY /dev/md6 level=raid1 num-devices=2 metadata=0.90 UUID=1488922e:b322f2c6:ca74375d:f07255fa
ARRAY /dev/md1 level=raid1 num-devices=2 metadata=0.90 UUID=6f673235:35928bcd:d95a084b:6dcb83bc
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=0.90 UUID=42516526:40ff0495:1c07163e:c1a5aa11
[root@web01 ~]# blkid
/dev/sda5: LABEL="/" UUID="4ebad091-4a44-4536-97b2-ea0b71fb75af" TYPE="ext3" 
/dev/sda3: LABEL="/var" UUID="dd5a6e3c-842f-4429-bac7-2ba74f545446" TYPE="ext3" 
/dev/sda2: LABEL="SWAP-sda2" TYPE="swap" 
/dev/sda1: LABEL="/boot" UUID="baba5cee-3676-4d5f-bc95-e5977788f7ac" TYPE="ext3" 
/dev/sdb5: UUID="a45e389f-03fb-4f60-bd7e-48c4ca57a260" TYPE="ext2" 
/dev/sdb6: UUID="41f29db6-411e-421e-9d2c-b7ff587227cf" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sdb1: UUID="17ea8f5c-2296-441a-ad77-c4deab9550ae" TYPE="ext2" 
/dev/sdb2: TYPE="swap" 
/dev/sdb3: UUID="63c91a4f-a66e-400b-aad1-1333ffb3eb34" TYPE="ext2" 
/dev/sda6: UUID="41f29db6-411e-421e-9d2c-b7ff587227cf" SEC_TYPE="ext2" TYPE="ext3" 
/dev/md6: UUID="41f29db6-411e-421e-9d2c-b7ff587227cf" SEC_TYPE="ext2" TYPE="ext3" 
/dev/md1: UUID="17ea8f5c-2296-441a-ad77-c4deab9550ae" TYPE="ext2" 
/dev/md2: TYPE="swap" 

md over multipathdを実現する方法

rhel5.5だと、/etc/rc.sysinitの中で以下のようなことをやっている
mdadm.confがあれば、自動的にraidバイスを認識する

if [ -f /etc/mdadm.conf ]; then
    /sbin/mdadm -A -s
fi

目的は、multipathd起動後にmd(Multiple Device driver aka Linux Software RAID)起動するだから、これだと嬉しくない。

ただ上記の条件(mdadm.conf)が存在しない、かつraidを構成するパーティションにシステムID「Linux Raild自動検出」が付与されていなければ、
mdの自動起動は抑制できるので、md over multipathdを実現するには/etc/init.d/multipathdが

# chkconfig: - 06 87

のことから、これ以降に起動してやれば良い。
※環境にもよるが、default RHEL5.5で 07が存在しないので、以下のようにしてあげればいいかもしれない。

# chkconfig: - 07 86

以下を追加してやれば良いかな

[root@web01 ~]# more /etc/init.d/mdadm 
#!/bin/bash
#
#	/etc/rc.d/init.d/mdadm
#
# raidautorun instead of rc.sysinit 
#
# chkconfig: - 07 87
# description:  Manage md devices
# processname: 

mdadmconfig=/opt/mdadm/mdadm.conf
#initdir=/etc/rc.d/init.d
#lockdir=/var/lock/subsys
#sysconfig=/etc/sysconfig
#syspath=/sys/block
#system=redhat
 
#if [ $system = redhat ]; then
#	# Source function library.
#	. $initdir/functions
#fi
 
#RETVAL=0

if [ -f $mdadmconfig ]; then
 /sbin/mdadm -As -c $mdadmconfig 
 else
 RETVAL=1
fi
 
exit $RETVAL

で、chkconfig --add mdadm して、再起動