ミラーリング


ミラーリングを試す。 2004/07/08 の手順そのまま

モジュールの作成

RAIDのドライバを作成する。

コンフィギュレーションの変更

make menuconfig を実行し、RAIDドライバをモジュール化する。
bash-2.04$ make config
rm -f include/asm
( cd include ; ln -sf asm-ppc asm)
/bin/sh scripts/Configure arch/ppc/config.in
#
# Using defaults found in .config
#
*
* Code maturity level options
*
   :
   :
   :
*
* Multi-device support (RAID and LVM)
*
Multiple devices driver support (RAID and LVM) (CONFIG_MD) [N/y/?] y
 RAID support (CONFIG_BLK_DEV_MD) [N/y/m/?] m
  Linear (append) mode (CONFIG_MD_LINEAR) [N/m/?] n
  RAID-0 (striping) mode (CONFIG_MD_RAID0) [N/m/?] n
  RAID-1 (mirroring) mode (CONFIG_MD_RAID1) [N/m/?] m
  RAID-4/RAID-5 mode (CONFIG_MD_RAID5) [N/m/?] m
  Multipath I/O support (CONFIG_MD_MULTIPATH) [N/m/?] n
 Logical volume manager (LVM) support (CONFIG_BLK_DEV_LVM) [N/y/m/?] n
   :
   :


*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you may run 'make bzImage', 'make bzdisk', or 'make install'.

bash-2.04$

モジュールのコンパイル

bash-2.04$ make dep
make -C arch/ppc/boot fastdep
make[1]: Entering directory `/mnt/yamasita/yasunari/kernel/linux-2.4.17_mvl21-sandpoint/arch/ppc/boot'
   :
   :
bash-2.04$ make modules
scripts/split-include include/linux/autoconf.h include/config
   :
   :

モジュールのインストール

bash-2.04$ su root
Password:
[root@hackkit linux-2.4.17_mvl21-sandpoint]# make modules_install

RAIDツールのインストール

RAIDツールをインストールする
[root@hackkit /root]# apt-get update
ヒット http://updates.vinelinux.org 2.6/ppc/base/pkglist.updates
	:
	:
W: http://www.t.ring.gr.jp/pub/linux/Vine/apt/ は認証を省略します。
[root@hackkit /root]# apt-get install raidtools
パッケージリストを読みこんでいます... 完了
依存情報ツリーを作成しています... 完了
以下のパッケージが新たにインストールされます:
  raidtools
0 個のアップグレードパッケージ, 1 個の新規パッケージ, 0 個の削除/リプレースパッケージ, 1 個の保留パッケージがあります。
取得パッケージ: 230kB のアーカイブを取得します。インストール後は 495kB が使用されます。
取得:1 http://www.t.ring.gr.jp 2.6/ppc/plus raidtools 1.00.2-1.3vl3 [230kB]
取得完了: 230kB を 1s (145kB/秒)
RPM コマンドを実行しています (-U)...
raidtools                   ##################################################
[root@hackkit /root]#

モジュールのロード

[root@hackkit /root]# insmod md
Using /lib/modules/2.4.17_mvl21/kernel/drivers/md/md.o
[root@hackkit /root]# insmod raid1
Using /lib/modules/2.4.17_mvl21/kernel/drivers/md/raid1.o
[root@hackkit /root]#

/etc/raidtab の作成

フロントパネルのポートに接続した 1台目のハードディスク /dev/sda1 と リアパネルのポートに接続した 1台目のハードディスク /dev/sdc1 と をミラーリングする
[root@hackkit /root]# cat /etc/raidtab
raiddev /dev/md0
        raid-level      1
        nr-raid-disks   2
        nr-spare-disks  0
        chunk-size      4
        persistent-superblock   1
        device          /dev/sda1
        raid-disk       0
        device          /dev/sdc1
        raid-disk       1
[root@hackkit /root]#

mkraid の実行

ミラードライブ /dev/md0 を構築する
[root@hackkit /root]# mkraid -R /dev/md0
DESTROYING the contents of /dev/md0 in 5 seconds, Ctrl-C if unsure!
handling MD device /dev/md0
analyzing super-block
disk 0: /dev/sda1, 292969341kB, raid superblock at 292969216kB
disk 1: /dev/sdc1, 292969341kB, raid superblock at 292969216kB
[root@hackkit /root]#

同期状態の監視

cat /proc/mdstat を実行しする。
[root@hackkit /root]# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 sdc1[1] sda1[0]
      292969216 blocks [2/2] [UU]
      [>....................]  resync =  0.0% (222084/292969216) finish=1553.4min speed=3139K/sec
unused devices: 
[root@hackkit /root]#
1553.4 分 ÷ 60 分 ≒26時間!
でかいディスクで実験するもんじゃない


テラ(2)
ハックの記録
LinkStation/玄箱 をハックしよう

ミラーリング(2)

Copyright (C) 2005 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市