システム設定 · 2 min read · Feb 02, 2026

完全に暗号化されたRaid1 LVMシステムの設定 (Lenny) - ページ 7

2台目のドライブの追加

ステップ1: パーティションスキームのコピー

すべてがインストールされ、新しいサーバーが目の前にあるので、2台目のドライブを追加する時が来ました。これまで8GBのドライブを使用していました。電源を切った後、新しい16GBのドライブを追加しました。しかし、そのドライブは直接同期されていません。まず、いくつかのことを行う必要があります。

2台目のドライブのパーティションテーブルを変更する前に、まずこのコマンドを発行して配列の状態を確認します。

watch -n 6 cat /proc/mdstat

次のような出力が得られます:

Every 6.0s: cat /proc/mdstat                                                                                                            Sun Nov 30 19:15:15 2008
Personalities : [raid1]
md3 : active raid1 sda4[0]
      4208960 blocks [2/1] [U_]
md2 : active raid1 sda3[0]
      2931776 blocks [2/1] [U_]
md1 : active raid1 sda2[0]
      995904 blocks [2/1] [U_]
md0 : active raid1 sda1[0]
      248896 blocks [2/1] [U_]
unused devices: 

ご覧の通り、現在使用されているのは2つのアクティブなRAIDデバイスのうちの1つだけです。これは、1つのディスクが故障した場合でもすべてが正常に動作するように、もう1つを追加する必要があることを意味します。”ctrl-c”でモニタリングを終了します。

どのハードドライブがどれか(名前)を確認する必要があります。次のコマンドを発行します:

fdisk -l

次のような出力が得られます:

test:~# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d3f5d
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          31      248976   fd  Linux raid autodetect
/dev/sda2              32         155      996030   fd  Linux raid autodetect
/dev/sda3             156         520     2931862+  fd  Linux raid autodetect
/dev/sda4             521        1044     4209030   fd  Linux raid autodetect
Disk /dev/sdb: 17.1 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
Disk /dev/md0: 254 MB, 254869504 bytes
2 heads, 4 sectors/track, 62224 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000
Disk /dev/md0 doesn't contain a valid partition table
Disk /dev/md1: 1019 MB, 1019805696 bytes
2 heads, 4 sectors/track, 248976 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x93b342d4
Disk /dev/md1 doesn't contain a valid partition table
Disk /dev/md2: 3002 MB, 3002138624 bytes
2 heads, 4 sectors/track, 732944 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x08040000
Disk /dev/md2 doesn't contain a valid partition table
Disk /dev/md3: 4309 MB, 4309975040 bytes
2 heads, 4 sectors/track, 1052240 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x08040000
Disk /dev/md3 doesn't contain a valid partition table
Disk /dev/dm-0: 3001 MB, 3001085952 bytes
255 heads, 63 sectors/track, 364 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/dm-0 doesn't contain a valid partition table
Disk /dev/dm-1: 1019 MB, 1019805696 bytes
255 heads, 63 sectors/track, 123 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb604b75d
Disk /dev/dm-1 doesn't contain a valid partition table
Disk /dev/dm-2: 4308 MB, 4308922368 bytes
255 heads, 63 sectors/track, 523 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/dm-2 doesn't contain a valid partition table
Disk /dev/dm-3: 4307 MB, 4307550208 bytes
255 heads, 63 sectors/track, 523 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/dm-3 doesn't contain a valid partition table

/ dev/sdaが現在使用中のドライブで、/dev/sdbが今追加した新しいドライブであることがわかります。新しいドライブは大きいため(注意: 小さいドライブは使用しないでください!)、そこにある空間を部分的にしか使用しません。RAID1を実行することで、最小のドライブ/パーティション以上の空間を使用することはできませんが、最初のドライブが故障した場合は、より大きなものを取得してそこにスペースを拡張できます。次のコマンドを発行します:

sfdisk -d /dev/sda | sfdisk /dev/sdb

ステップ2: パーティションスキームの変更

次のコマンドを発行して、そこにある「データ」パーティションを調整します。他の3つのパーティション(/boot、swap、/)は、セットアップ中に十分な大きさに作成されているはずです:

cfdisk /dev/sdb

矢印キーを使って移動します。パーティション4(sdb4)を選択し、削除します。

次に、空きスペースに新しいパーティションを作成します。プライマリにして、すべてのスペースを使用させます。

新しい「sdb4」が作成され、そのタイプは「Linux」ですが「Linux raid autodetect」ではありません。「タイプ」を選択し(まだsdb4を選択したまま)、ファイルシステムタイプとしてFDを入力します。これで最初の画面に戻り、パーティションタイプが「Linux raid autodetect」に変更されました。

次に「書き込み」オプションを選択し、「はい」で確認します。その後、cfdiskツールを終了できます。

ステップ3: スーパーブロックのゼロ化

新しいドライブの各パーティションのスーパーブロックをゼロにすることを確認するために:

mdadm --zero-superblock /dev/sdb1  
mdadm --zero-superblock /dev/sdb2  
mdadm --zero-superblock /dev/sdb3  
mdadm --zero-superblock /dev/sdb4

多くのエラーが表示されます - これは新しいドライブが以前に使用されていない場合は良いことです。

ステップ4: 新しいパーティションをRAID配列に追加

次のコマンドを実行します:

mdadm --add /dev/md0 /dev/sdb1  
mdadm --add /dev/md1 /dev/sdb2  
mdadm --add /dev/md2 /dev/sdb3  
mdadm --add /dev/md3 /dev/sdb4

これにより、新しいパーティションが対応する配列に追加され、同期が開始されます。進行状況は次のコマンドで確認できます:

watch -n 6 cat /proc/mdstat

ステップ5: 新しいハードドライブにgrubを追加

grubは一度だけインストールされ、上記のコマンドでミラーリングされないため、手動でgrubを追加する必要があります。次のコマンドを実行します:

grub

次に、grubプロンプトで次のコマンドを実行します:

root (hd1,0)  
setup (hd1)

最初のコマンドは、grubが/dev/sdb1を/bootパーティションとして使用することを意味します。2番目のコマンドは、grubが/dev/sdbのブートセクターに自分自身をインストールすることを意味します。grubはハードドライブとパーティションを「0」から数え始めます。したがって、sdaはhd0であり、sdbはhd1です。

“quit”を入力してgrubを終了すると、暗号化されたraid1セットアップがlvmで完了します。各パーティションは単独で実行できます。

LVMの拡張

小さいハードディスクが故障し、より大きな新しいものを追加した場合、サイズを最大に拡張したいと思うでしょう。XFSでこれを行う方法を簡単に説明します。まず、次のコマンドを実行します:

mdadm --grow /dev/md3 --size=max

覚えておいてください: /dev/md3は私たちの/dataパーティションです。このコマンドにより、RAID配列は最大に拡張されます。小さいハードドライブが故障する前は、大きなものの最大に設定されていませんでした。その後、システムを再起動します(再起動せずに行う方法もありますが、これがはるかに簡単です)。

再起動したら、次のコマンドを実行します:

pvresize /dev/mapper/md3_crypt

その後、サイズをどれだけ拡張できるかを確認する必要があります。次のコマンドを実行します:

vgdisplay -A

これにより、LVMに関するいくつかの情報が出力されます。次の行を探してください:

Free PE / Size  xxxxxxx / yyyy GB

「xxxxxxx」の値が重要です。次のコマンドを実行し、「xxxxxxx」を実際の値に置き換えます。また、正しい論理ボリューム名を使用していることを確認してください。私が作成したのは「DATA-DATA_MD3」です。

lvextend -l +xxxxxxx /dev/mapper/DATA-DATA_MD3

論理ボリューム名が不明な場合は、次のコマンドを実行してすべてのマッパーをリストします:

ls /dev/mapper

それを実行したら、最終ステップは実際のファイルシステムを拡張することです。XFSはこれを非常に簡単にします:

xfs_growfs /data
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。