異なるベンダーのハードディスクで同じブロック数に設定してパーティションを区切る方法
Asianux Server 3 for x86(32bit)
Asianux Server 3 for x86-64(64bit)
MIRACLE LINUX V4.0 - Asianux Inside
MIRACLE LINUX V4.0 - Asianux Inside for x86-64
Software RAID1(ミラー)で構成している環境で、1台ハードディスクを交換しようとしたが、異なるベンダーのハードディスクのため、パーティションを区切る際に同じブロック数にならず、RAID構成を復旧させることができませんでした。元のディスクと同一のブロック数にパーティションを切ることができれば、復旧できそうなのですが、パーティションのブロック数を指定する方法はありませんでしょうか?
●元ハードディスク
Device Boot Start End Blocks Id System
/dev/sdak1 1 131 1052257 83 Linux
/dev/sdak2 132 262 1052257+ 83 Linux
●新ハードディスク
Device Boot Start End Blocks Id System
/dev/sdy1 1 131 1052226 83 Linux
異なるベンダーのハードディスクでは、1シリンダ内に配置できるブロック数が異なる場合がある
fdiskコマンドを使用する場合は、セクタ単位に指定することで、ブロック数を一致させることが
1. fdisk /dev/sdak
2. セクタ単位に変更(u)
コマンド (m でヘルプ): u
セクタ数 の表示/項目ユニットを変更します
3. パーティションを作成
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 セクタ (1-1953520064, default 1):
Using default value 1
終点 セクタ または +サイズ または +サイズM または
+サイズK (1-1953520064, default 1953520064): +2104514
※1セクタ512バイトの場合2104514セクタを使用すると1052257 blockになります
環境により適宜数値を変更する必要があります。
4. 確認(セクタで表示されます)
コマンド (m でヘルプ): p
255 heads, 63 sectors/track, 121601 cylinders, total 0 sectors
Units = セクタ数 of 1 * 512 = 512 bytes
デバイス Boot Start End Blocks Id System
sdak1 1 2104515 1052257+ 83 Linux
Partition 1 does not end on cylinder boundary.
5. 確認(シリンダ数(デフォルトの表示)で表示)
コマンド (m でヘルプ): u
シリンダ数 の表示/項目ユニットを変更します
コマンド (m でヘルプ): p
デバイス Boot Start End Blocks Id System
sdak1 1 132 1052257+ 83 Linux
Partition 1 does not end on cylinder boundary.
fdisk時に表示される"Partition 1 does not end on cylinder boundary."については、シリンダ終端 に合った設定では無いという意味になります。
1シリンダの途中でパーティションを切ることにより、シークが増え、パフォーマンスにペナルティが ある場合もありますので、ご注意ください。
本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、 全ての環境での動作を保証するものではありません。
本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が 生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。
2010年 11月19日 新規作成