CentOS HDD増設+RAID1
サーバーに1TBのHDDを2台増設し、RAID1を構築、ストレージとして利用する。
CentOSでソフトウェアRAIDの構築を参考に作業。
HDDの認識を確認する
[root@microserver ~]# fdisk -l ディスク /dev/sda: 500.1 GB, 500107862016 バイト ヘッド 255, セクタ 63, シリンダ 60801 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000a159b デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 1 60802 488385536 8e Linux LVM ディスク /dev/sdb: 1000.2 GB, 1000204886016 バイト ヘッド 255, セクタ 63, シリンダ 121601 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト I/O size (minimum/optimal): 4096 bytes / 4096 bytes ディスク識別子: 0x00000000 ディスク /dev/sdc: 1000.2 GB, 1000204886016 バイト ヘッド 255, セクタ 63, シリンダ 121601 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト I/O size (minimum/optimal): 4096 bytes / 4096 bytes ディスク識別子: 0x00000000 ディスク /dev/sdd: 163.9 GB, 163928604672 バイト ヘッド 255, セクタ 63, シリンダ 19929 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x245aa53b デバイス ブート 始点 終点 ブロック Id システム /dev/sdd1 * 1 64 512000 83 Linux パーティション 1 は、シリンダ境界で終わっていません。 /dev/sdd2 64 19930 159572992 8e Linux LVM
一応シリアルナンバーを控えていたがそこまで確認するまでもなく、容量で一目瞭然。
hdparmでシリアルナンバーを表示できるらしい。
対象のHDDがどのディスクとして認識されているのか確認する。
今回は
- sdb
- sdc
の2台。
HDDへテーブル情報の書き込み
[root@microserver ~]# fdisk /dev/sdb デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません 新たに DOS ディスクラベルをディスク識別子 0x674ef44e で作成します。 あなたが書き込みを決定するまで、変更はメモリ内だけに残します。 その後はもちろん以前の内容は修復不可能になります。 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって 正常になります The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを 強く推奨します。 and change display units to sectors (command 'u'). コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本パーティション (1-4) p パーティション番号 (1-4): 1 最初 シリンダ (1-121601, 初期値 1): 初期値 1 を使います Last シリンダ, +シリンダ数 or +size{K,M,G} (1-121601, 初期値 121601): 初期値 121601 を使います コマンド (m でヘルプ): t 選択した領域 1 16進数コード (L コマンドでコードリスト表示): fd 領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 ディスクを同期しています。
2つ目も同じ。
[root@microserver ~]# fdisk /dev/sdc デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません 新たに DOS ディスクラベルをディスク識別子 0x8aa1c07e で作成します。 あなたが書き込みを決定するまで、変更はメモリ内だけに残します。 その後はもちろん以前の内容は修復不可能になります。 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって 正常になります The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを 強く推奨します。 and change display units to sectors (command 'u'). コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本パーティション (1-4) p パーティション番号 (1-4): 1 最初 シリンダ (1-121601, 初期値 1): 初期値 1 を使います Last シリンダ, +シリンダ数 or +size{K,M,G} (1-121601, 初期値 121601): 初期値 121601 を使います コマンド (m でヘルプ): t 選択した領域 1 16進数コード (L コマンドでコードリスト表示): fd 領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 ディスクを同期しています。
ディスク情報確認
[root@microserver ~]# fdisk -l ディスク /dev/sda: 500.1 GB, 500107862016 バイト ヘッド 255, セクタ 63, シリンダ 60801 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000a159b デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 1 60802 488385536 8e Linux LVM ディスク /dev/sdb: 1000.2 GB, 1000204886016 バイト ヘッド 255, セクタ 63, シリンダ 121601 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト I/O size (minimum/optimal): 4096 bytes / 4096 bytes ディスク識別子: 0x674ef44e デバイス ブート 始点 終点 ブロック Id システム /dev/sdb1 1 121601 976760001 fd Linux raid 自動検出 Partition 1 does not start on physical sector boundary. ディスク /dev/sdc: 1000.2 GB, 1000204886016 バイト ヘッド 255, セクタ 63, シリンダ 121601 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト I/O size (minimum/optimal): 4096 bytes / 4096 bytes ディスク識別子: 0x8aa1c07e デバイス ブート 始点 終点 ブロック Id システム /dev/sdc1 1 121601 976760001 fd Linux raid 自動検出 Partition 1 does not start on physical sector boundary.
RAIDアレイ作成
[root@microserver ~]# mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sd[bc]1 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 --metadata=0.90 Continue creating array? y mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
RAIDアレイ作成状況を確認する
[root@microserver ~]# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sdc1[1] sdb1[0] 976628736 blocks super 1.2 [2/2] [UU] [=>...................] resync = 7.3% (72244992/976628736) finish=107.5min speed=140164K/sec unused devices:
それなりに時間がかかるようなので、しばらく待つ。
適宜進捗を確認して、終了したら次の作業に移る。
設定ファイルに追記する
[root@microserver ~]# mdadm --detail --scan >> /etc/mdadm.conf
フォーマットする
[root@microserver ~]# mkfs -t ext3 /dev/md0
マウント設定を記述する
[root@microserver ~]# vi /etc/fstab
#RAID1 /dev/md0 [マウント先フォルダのパス] ext3 0 2
末尾2つの数字は「ダンプフラグ」と「読み込み優先度」。
今回の目的はストレージ(データ置き場)なので、ダンプは不要(0)。
システムドライブではないので優先度を主要デバイス(2)に設定。
データしか置かない場合はそれ以外のデバイス(3)。
設定がめんどくさいので、既に作成済みのsamba共有フォルダの中に新しくフォルダを作成し、とりあえずのマウント先とした。
容量の表示が、作成済みのsamba共有フォルダがあるHDDの容量になっている。
のちのち問題になりそうなので、きちんと設定したい。