倉庫用に HDD を 2 台追加し,ソフトウェア RAID1 で運用する.追加した 2 台は, /dev/sdb および /dev/sdc として認識されている.

RAID 用パーティション作成

# fdisk /dev/sdb

このディスクのシリンダ数は 182401 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): n
コマンドアクション
e   拡張
p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-182401, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-182401, default 182401):
Using default value 182401

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

続いて, /dev/sdc に対しても同様の作業を行う.

HDD の構成を確認

※ /dev/sda はシステム用ドライブ

# fdisk -l

Disk /dev/sda: 320.0 GB, 320071851520 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14       38913   312464250   8e  Linux LVM

Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1      182401  1465136001   fd  Linux raid 自動検出

Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdc1               1      182401  1465136001   fd  Linux raid 自動検出

RAID アレイ構築

assume-clean オプションをつけないと勝手に resync されてしまう.

# mdadm --create --assume-clean /dev/md0 --level=raid1 --raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm: array /dev/md0 started.

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdc1[1] sdb1[0]
      1465135936 blocks [2/2] [UU]

unused devices: 

# mdadm --detail /dev/md0
/dev/md0:
        Version : 0.90
  Creation Time : Sat Jan 16 23:16:14 2010
     Raid Level : raid1
     Array Size : 1465135936 (1397.26 GiB 1500.30 GB)
  Used Dev Size : 1465135936 (1397.26 GiB 1500.30 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Sat Jan 16 23:16:14 2010
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : ba4cb...
         Events : 0.1

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

RAID アレイにファイルシステム作成

フォーマット完了までに4時間ほど要した.

# mkfs -t ext3 /dev/md0
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
183156736 inodes, 366283984 blocks
18314199 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
11179 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

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

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

デバイス定義

# vi /etc/mdadm.conf
DEVICE /dev/sd[bc]1
ARRAY  /dev/md0 devices=/dev/sdb1,/dev/sdc1

マウント,自動マウントの設定

# mkdir /data
# mount -t ext3 /dev/md0 /data

# df -h
Filesystem          サイズ  使用  残り 使用% マウント位置
/dev/mapper/VolGroup01-LogVol00
                      284G  2.0G  267G   1% /
/dev/sda1              99M   19M   75M  20% /boot
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/md0              1.4T  198M  1.3T   1% /data

# vi /etc/fstab
/dev/md0                /data                   ext3    defaults        0 0

終わりに

システムを再起動し, /dev/md0 が /data にマウントされていることを確認する.