CentOS 7 でソフトウェア RAID を構築

ハードディスクドライブ 2台で RAID レベル1 (ミラーリング) を作りたいと思います。

2TB 以下のドライブ x2 の場合 (fdisk を使用)

/dev/sdc と /dev/sdd を使います。

1. まず、 RAID 用のパーティションを作成します。

# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

コマンド (m でヘルプ): p

Disk /dev/sdc: 2000.4 GB, 2000398934016 bytes, 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x0003f439

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
パーティション番号 (1-4, default 1): 1
最初 sector (2048-3907029167, 初期値 2048): 
初期値 2048 を使います
Last sector, +sectors or +size{K,M,G} (2048-3907029167, 初期値 3907029167): 
初期値 3907029167 を使います
Partition 1 of type Linux and of size 1.8 TiB is set

コマンド (m でヘルプ): t
Selected partition 1
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'

コマンド (m でヘルプ): w

ioctl() を呼び出してパーティションテーブルを再読込みします。

/dev/sdd も同様に行います。

2. mdadm を使用して RAID を作ります。

# mdadm --create /dev/md0 --level=1 --raid-device=2 /dev/sd[cd]1
mdadm: /dev/sdc1 appears to contain an ext2fs file system
       size=512000K  mtime=Fri Jan 15 22:17:17 2016
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
mdadm: /dev/sdd1 appears to contain an ext2fs file system
       size=512000K  mtime=Fri Oct  2 19:21:39 2015
Continue creating array? y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.


# mdadm --detail /dev/md0
        Version : 1.2
  Creation Time : Mon Jan 18 14:18:39 2016
     Raid Level : raid1
     Array Size : 1953382464 (1862.89 GiB 2000.26 GB)
  Used Dev Size : 1953382464 (1862.89 GiB 2000.26 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Jan 18 14:44:54 2016
          State : active, resyncing 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

  Resync Status : 11% complete

           Name : alice:0  (local to host alice)
           UUID : 7b3248e3:eff87ac5:755e1c5b:c7f71fd3
         Events : 320

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1


3. mdadm.conf を作成

mdadm --detail --scan の表示の ARRAY の行を /etc/mdadm.conf へ追加します。

# mdadm --detail --scan >> /etc/mdadm.conf

3TB x2 の場合 (parted を使用)

2TB を超える場合は fdisk ではなく parted を使用します。

# parted /dev/sdb
GNU Parted 3.1
/dev/sde を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) mkpart primary xfs 2048s -1s
警告: 1049kB から 3001GB (2048 から 5860533167 セクタ)までのパーティションを指定されました。
可能な中で最も近いものは 1049kB から 3001GB (2048 から 5860533134 セクタ)になります。
はい(Y)/Yes/いいえ(N)/No? y                                               
(parted) set 1 raid on
(parted) print                                                            
モデル: ATA Hitachi HDS72303 (scsi)
ディスク /dev/sdb: 3001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  3001GB  3001GB  ext4              primary  raid

(parted) exit

その他の処理は 2TB 以下の場合と同じです。



バイナリーファイルを C 言語の配列で出力

CentOS 6.5 でシリアルポートに接続する方法