ソフトウエアRAIDでストレージを構築しマウントする方法 ディスクの高速化・冗長化

[参考記事] RAIDの種類
[参考記事] WindowsでソフトウエアRAIDを構築する方法

RAIDを新規で組むと、RAID構成しようとするストレージ内のデータはすべて消去されます。
データがある場合は、別のディスクにデータをバックアップします。

LINUXでソフトウエアRAIDを組むには、mdadmパッケージをインストールします。

CentOS・RHELでは

# yum -y install mdadm

Debian・Ubuntuでは

# apt -y install mdadm

fdiskで接続されているストレージの/dev/から始まるデバイス名を調べます。

# fdisk -l
……
…
……
ディスク /dev/sdd: 5.5 TiB, 6001175126016 バイト, 11721045168 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: D1029528-5C95-4070-8E2D-96CA4583A079

既存でマウントされて使用されているストレージはdfで調べることができます。

$ df
……
/dev/sda1            7814025724 1275915532  6538110192   17% /mnt/disk1

/dev/sdc、/dev/sddのようなものがディスクのデバイス名です。
これに数字の付いた/dev/sdc1、/dev/sdc2のようなものがディスク内のパーティションのデバイス名です。

fdiskやpartedでパーティションを作成します。
(fdiskコマンドは2TBまでしか扱うことができません。)

# parted /dev/sdd
GNU Parted 2.1
/dev/sdd を使用

GNU Parted へようこそ!コマンド一覧を見るには 'help' と入力してください。

2TBを超えるディスクは、GPTラベルを付けます。

(parted) mklabel gpt

すでにパーティションがあるかprintで確認します。
pでも同じです。

(parted) p
モデル: BUFFALO External HDD (scsi)
ディスク /dev/sdf: 6001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始   終了    サイズ  ファイルシステム  名前  フラグ
 1    524kB  6001GB  6001GB  ntfs

パーティションがある場合は、rmでパーティション番号を指定して削除します。

(parted) rm 1

mkpartでパーティションを作成します。

(parted) mkpart

パーティションの名前? []? primary ファイルシステムの種類? [ext2]? ext4 開始? 0% 終了? 100%

1行でまとめて実行することもできます。

(parted) mkpart primary ext4 0% 100%

printで作成されたパーティションIDを確認します。
pでも同じです。

(parted) p
モデル: BUFFALO External HDD (scsi)
ディスク /dev/sdf: 6001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 

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

この番号の部分がパーティションIDです。

パーティションIDに対して、raidフラグを付けます。

(parted) set 1 raid on

printでraidフラグが付いていることを確認します。

(parted) p
モデル: BUFFALO External HDD (scsi)
ディスク /dev/sdf: 6001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ: 

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

quitでpartedを終了します。
qでも同じです。

(parted) q

これをRAID構成するストレージすべてで行います。
すでに作成したいファイルシステムでパーティションが存在している場合は、raidフラグを付けるだけでよいです。

mdadm --createでRAIDアレイを作成します。

# mdadm --create /dev/md1 --level=0 --raid-devices=3 /dev/sdd1 /dev/sde1 /dev/sdf1
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

[参考記事] RAIDの種類

/dev/md1デバイス名
--level=0RAIDレベル
RAID1なら1
--raid-devices=3ディスク数
/dev/sdd1 /dev/sde1 /dev/sdf1構成するディスクのデバイス名

構成するディスクはまとめて記述することもできます。

# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sd[bc]1

RAID構成をすると1つのパーティションとして扱えるので、フォーマットします。

mkfs -t ext4 /dev/md1

マウントポジションを作成します。

# mkdir -p /mnt/raid

マウントします。

# mount /dev/md1 /mnt/raid

これでマウントポジション以下がRAIDディクス領域となります。

再起動後にもマウントされるようにするには、fstabに記述します。

# vi /etc/fstab
/dev/md1 /mnt/raid ext4 defaults 0 0

記述の確認をします。

# mount -a

RAIDの確認は次のようにします。

# cat /proc/mdstat
Personalities : [raid0] 
md1 : active raid0 sdf1[2] sde1[0] sdd1[1]
      17581169664 blocks super 1.2 512k chunks
      
unused devices: <none>

RAIDの詳細は次のようにすると確認できます。

# mdadm --detail /dev/md1

RAIDを停止するには

# mdadm --misc --stop /dev/md1

RAID情報を削除するには

# mdadm --misc --zero-superblock /dev/sdd1 /dev/sde1 /dev/sdf1

関連記事

スポンサーリンク

CakePHP4系の入手方法・インストール方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る