別館PCチラシの裏日記帳 第2章

世界一!長ーい記事のブログを目指していますw

ファイルサーバー用Atom PCの製作(OS編)①

sambaの前に・・WD10EARSの低速病発病防止のおまじないを(^^;
Linuxでのオフセット調整方法
さーて!早速ですが久しぶりにsambaをインストールする事にしましょう。
でもその前にチョット待ったァァ!!
WD10EARS(WD20EARXは必須条件)はLinuxではそのままで大丈夫なのかクグッたら・・メーカーではLinuxに於いては問題がないと明言してますが実は・・・・・パフォーマンスが落ちると言う事があちこちで見かけました。
所謂4kセクター(4096バイト)とか言われる新しめのハードディスク(今のところWDのみ確認)をパフォーマンスを落とさない為に、オフセットの調整(パーテーションアライメント)が必要みたいです。あーめんどくさ!何でこんなめんどくさいHDD出すかな(^^; ・・・・
何でそうなるのか?
ここに詳しく説明されてますので一読してから下記の作業を始めるようにします。
 
これからやろうとしている事はfdiskを使用して
セクタの開始位置を4kbyte(8セクタ)の正数倍から開始するように指定する。
と言う作業を行います。
こちらに、凄く分かりやすく説明が載っていますのでこちらも是非熟読された方が良いでしょう。
参考サイト
 
上記サイトの「1の方法」で簡潔に纏めましたが(^^;
1パーテーションの場合は最初のセクタのみ指定するだけなので2番目の方法のほうが簡単かも知れません。 
使用OS Ver Ubuntu10.04LST(日本語Rimix CD)のFdiskを使用してます。
いつの間にか日本語表示になってますね。却って分かりにくいような・・ 
 
ターミナルを起動してroot権限に切り替えます
※$→#にプロンプトが変わります。
$sudo su
[sudo] password for hirorinsv:<ユーザーパスワード>
# fdisk /dev/sdb (末尾はターゲットとするドライブの指定)
中略・・
コマンド (m でヘルプ): p <パーテーションの確認>
ディスク /dev/sdb: 1000.2 GB, 1000204886016 バイト
ヘッド 255, セクタ 63, シリンダ 121601
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000818ef
バイス ブート      始点        終点     ブロック   Id  システム
 
ここでは新品なので未だパーテーションは無し
次にパーテーションを切ります。(ここでは1パーテーションだけ切ってみます)
 
コマンド (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 でヘルプ): w (ここでDISCに書き出しをします)
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
 
次にパーテーション情報の書き出し結果を確認します( 上級者(Expert)コマンドで確認)
# fdisk /dev/sdb
中略・・
コマンド (m でヘルプ): x (xで上級者向けコマンドに移行します)
上級者コマンド (m でヘルプ): p (パテーションの確認)
ディスク /dev/sdb: ヘッド 255, セクタ 63, シリンダ 121601
Nr AF  Hd Sec  Cyl  Hd Sec  Cyl  開始      サイズ ID
 1 00   1   1    0 254  63 1023       63 1953520002 83
 2 00   0   0    0   0   0    0          0          0 00
 3 00   0   0    0   0   0    0          0          0 00
 4 00   0   0    0   0   0    0          0          0 00
ここのピンクの部分を8の倍数つまり64に変更してオフセットの調整をします。
 
上級者コマンド (m でヘルプ): b
パーティション番号 (1-4): 1
新規データ開始位置 (63-1953520064, 初期値 63):
64 (データ書き込みの開始位置8の倍数の64を入れます)
上級者コマンド (m でヘルプ): w 最後に変更内容をDISCに書き込みます※忘れずに! これ重要!↑
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
最後に変更内容を確認しておきましょう。
# fdisk /dev/sdb
コマンド (m でヘルプ):
x
上級者コマンド (m でヘルプ): p
ディスク /dev/sdb: ヘッド 255, セクタ 63, シリンダ 121601
Nr AF  Hd Sec  Cyl  Hd Sec  Cyl   開始      サイズ ID
 1 00   1   1    0 254  63 1023       64 1953520001 83
 2 00   0   0    0   0   0    0          0          0 00
 3 00   0   0    0   0   0    0          0          0 00
 4 00   0   0    0   0   0    0          0          0 00
上級者コマンド (m でヘルプ): ^C
開始位置が64に変わっていれば成功です!
後はGUI環境の標準のディスク管理ソフトで普通にフォーマットをして下さい。
※タイプするのは赤い部分のみ
一応Ubuntu標準のディスク管理ソフトでリードのみですがベンチを取ってみましたが・・
イメージ 1
5200rpmなので速いとはお世辞にも言えませんが常識的なパフォーマンスは出ているのではないでしょうか?
※同じシリーズでも500GBプラッタのEADSや他のHDDの場合は必要のない作業です(寧ろやらないで下さい!)
と言う事で、次はホントにsambaのインストールに入ります(^^;
続くのです・・・
※HDD別売りのNASキットが売られていますが大抵はsambaのファイル共有機能を使用しているそうです。
もしも、EARS等の4kセクタHDDを搭載する場合は同じように設定した方良いかもしれません。
Windows環境でもパーテーションアライメントを調整できるソフトがある様ですが、普通はSSDのデータ移動に使用されていますが、多分応用出来るのでは?? まぁジャンパを変えれば良い事なのですが・・
※HDDをGUIでフォーマットする際に黄色く警告が出る事がありますが、この時も同じ要領でオフセット調整を行う事でパフォーマンスの低下は防ぐ事が出来ます(最近のWD20EARXでは例え1パーテーションでもオフセットの調整は必要)
※旧型のWD20EARSは1パーテーションだけならオフセットを調整しなくても良い。