fc2ブログ

RAIDのHDD上のXPをSSDに移植する

 随分前に(2010年9月)、けんけんRXさんの掲示板「けんけんRXのじゃんく放浪記」に書かせてもらったHDD 4台のRAID 0にあるXPをSSD 2台のRAID 0に移植した経緯をその後文書ファイルに纏めていたのですが、それを改めてここに掲載することにしました。
 Windows XPを使っている人も、多くは既にSSDを使っているでしょうが、まだこれからという人もいるでしょうから、そういう人の参考になれば、と思います。

一、
 VISTAやWindows 7はドライブのパーティションの開始位置をデフォルトで2048セクタ(2048sectors=1024KB=1MB)とするように設定されており、SSDにとって最適なオフセットは64KBの倍数であるというから、VISTAやWin 7でSSDを使うことに問題はない。
 ところが、Win XPではその開始位置が63セクタとなっている。これは、HDDでは問題にならないが、SSDではその転送率に影響があり、殊に小さいサイズのファイルの書き込みに影響があるという。IntelのSSDは、あまり影響を受けないようだが、OCZのSSDや私の使うRealSSD C300では特に4KBの書き込みが遅くなるようである。アルゴリズムやコントローラの設計によるらしい。

 そこで、XPでSSDを最適な状態で使用するためには、パーティションのアラインメントが必要になるが、OSの入っているパーティションでこれを行うのは少し面倒であり、これがRAIDとなると、さらにややこしいことになる。

 幾度か失敗し、あれやこれやと試している内にBIOSまでおかしくなったが、ようやく何とかXPをアラインメント済のRAID 0のSSDに移転することができた。

二、
1、まず、必要なものは、パーティション・アラインメントを行うアプリケーションである。
 Microsoftにdiskpartとdiskparがあるが(紛らわしいが、違いは末尾の「t」の有無)、XPに備わっている
 diskpartは、create pratition primary alignのコマンドが使えなかったので、オフセットを設定するには
 diskparを使った。diskpar.exeは[https://kb.wisc.edu/images/group14/4556/diskpar.exe]からダウン
 ロードして
(※注意:2012年11月1日現在は[http://download.corrupteddatarecovery.com/download-file/diskpar.exe]の該当するDownloadLinkからダウンロードできるようですが、必ずアンチウィルスソフトによる
 スキャンを実行し、その使用は自己の責任において行なってください。)、コマンド・プロンプトで使い易いように
 各ユーザのディレクトリ(C:\Documents and Settings\〈ユーザ名〉)に入れておく。

 【追記】:Windows 7のDiskPartはバージョンアップされ、オフセットを正確に設定することができるようになっ
     ている。これについは、「Windows 7のDiskPart」を御覧下さい。

2、次に、バックアップ・ソフトが問題である。
  私の使っていたParagon社系のHard Disk Manager(HDM)8.5やTrue Image 2009以前のものは復元
 時に、パーティションを削除し、オフセットを元の63セクタに戻してしまう。しかし、試みに購入した
 True Image home 2010は、変更したオフセットを維持してくれることが分かった。また、ディスクのバック
 アップを復元する場合、ディスク全体を復元すれば、オフセットはそのまま再現される。
  尚、Build 6053からBuild 7046に更新されている。【追記:2011年10月現在は、7160に】
  AcronisのサイトよりBuild 7046のブータブルCD用のファイルをダウンロードして、CDに焼いておく。

※但し、Acronisの公式サイトには、以下のように記されている(2012年10月18日更新)[2699: Solid State Drive Support in Acronis Products]。
 
 「Acronisの製品はSSDをサポートしますが、一定の制約を伴います。
  解説
  次のAcronisの製品はSSDを完全にサポートしています。
   ○ Acronis Backup & Recovery 11.5
   ○ Acronis Backup & Recovery 11
   ○ Acronis True Image Home 2011
   ○ Acronis True Image Home 2012
   ○ True Image 2013 by Acronis
   ○ Acronis Disk Director 11 Home

  これら以外のAcronisの製品はすべて、SSDをサポートしますが、一定の制約を伴っています。
   ○ SSDであっても通常のHDDと全く同様の操作を行うことが可能です。
   ○ SSDに最適なパーティション・オフセットを維持するために必要な特別なパーティション・アラインメン
    ト機能はありません。言い換えれば、バックアップ・イメージをSSDに復元する場合、SSDに推奨される
    64KB(又は64KBの倍数)のオフセットになることはなく、たとえオフセットがバックアップ・イメージを
    作成した時点では適切なものであったとしても、デフォルトの63セクタのオフセットとなるということで
    す。これは、復元後、SSDのある機種においてはパフォーマンスの低下をもたらす結果となることがあり
    ます。」

  さらに、詳細情報として、
 「64KBの倍数(最も一般的には、1024KBまたは2048セクタ)がSSDに推奨されているオフセットです。
  完全サポートの詳細:
   ○ ディスクイメージをSSDに復元するかあるいはそのクローンをSSDに作成した場合には、オフセットは、
    自動的にデフォルトの1024KB(2048セクタ)にセットされます。
   ○ パーティションのバックアップをターゲットにしたSSDの空のパーティションに復元した場合には、ター
    ゲットのSSDはその復元前のオフセットを維持します。」と、説明している。

   しかし、AcronisのForumでは、True Image Home 2011でもSSDのオフセットが維持されなかったとか、
  True Image Home 2010であってもオフセットが維持されたという報告もあり、PC環境や使用状況によって異
  なる結果が生じるようです。
   ([3823: alignment on a SSD]、[19651: Acronis still cannot do SSD alignment?!?!])

 【追記】:True Image Home 2012はこの点問題ないようです。
     2012年版については、こちら「Acronis True Image Homeを2010から2012へ」をどうぞ。

3、私のPC環境は、
 CPU : Intel Core 2 Duo E8600
 M/B : GIGABYTE GA-EP45-UD3R
 HDD : Seagate ST3500418AS 500GB×4、RAID 0(ICH10R, Matrix Storage Manager)
     : Western Disital WD20EARS 2TB
  このRAIDを2つのボリューム分け、先頭のボリューム(120GB)にWindows XP Professional SP3のOS及び
 アプリケーションを入れ(ドライブ「C:」)、残りのボリュームをデータ用にしていた(ドライブ「D:」)。
  SSDは、Crucial RealSSD C300 64GBを2台購入。

三、
 私が行ったXPを移植する手順。
1、まず、現RAID内のドライブ(C:)及びドライブ(D:)のパーティションをTrue Imageで他のHDDにバックアップする。
  この時は、パーティションのみでもよい。万が一に備えてドライブ(D:)内のデータは、通常のファイル・バック
  アップ・ソフトでバックアップしておく方がよいかもしれない。
2、再起動後、POSTでRAID BIOSに入り、HDDのRAIDを解除してNon-RAIDにし、一旦シャットダウンする。SSD
  2台を SATAコネクタの先頭の0、1に接続。旧RAIDのHDD 4台をSATAコネクタ2、3、4、5に接続し替える。
3、再起動。RAID BIOSへ。SSDをRAID 0、Stripe Sizeを128KBで構成(SSDはStripe Sizeの影響を
  あまり受けないらしい。4KBまたは16KBが僅かだが高速とのデータも見られる)。
  さらに、HDD 4台でRAID 0を、Stripe Size 128KBで構成。
4、再起動。BIOSに入り、Advanced BIOS FeaturesのHard Disk Boot Priority(他のマザーボードの場合、
  適宜読み替えてください)で、Storage内のBoot順をSSD(RAID)、HDD(RAID)、HDD(バックアップ用)の順に
  する。
5、再起動。Bootable CDからTrue Image起動。HDD(RAID)に一旦OSを復元。
6、再起動。XPを立ち上げ、ディスク管理でSSDのディスク番号を確認。
  diskparでSSDのRAIDにパーティションを作成する。
 【diskparの操作手順】
 ① コマンドプ・ロンプトで「diskpar -i X」(Xの所にディスク管理上のディスク番号、例えば「1」を)と入力後、
   Enterを押下してディスク情報を確認。
 ② 「diskpar -s X」 → Enter → 確認して「y」を2度入力 → offset値をセクタ単位で入力「2048」
   (SSDによっては最適値は異なるらしいが、私はVISTAやWin7のoffset値を使用) → Enter → 容量を
   入力 → Enter。
 ③ ディスク管理でクイックフォーマット後、HiddenSectors=2048を再度確認。
   尚、アロケーション・ユニット(クラスタ)・サイズは、規定値の4KB(8セクタ)とする。

 ※ ここで、旧RAIDのHDD 4台を使わないのであれば、一旦シャットダウンして、それらを取り外せばよいが、
  私はそれらを改めてRAID 0としてデータ用に使用するため、以下のような手順を踏んだ。

7、再起動。パーティション操作の行えるソフトのブータブルCD(私はHDM8.5のCDを使った)で起動。
  HDD(RAID)の仮XPのパーティションを削除。このようなブータブルCDがなければ、これら4台のHDDは一旦取り
  外して、手順9の後でRAIDを組み直して、手順10に移ることになろう。
8、再起動。True ImageのCDに替えて起動。改めて、XPをSSDのパーティションに復元。復元中、「パーティション
  の削除」と表示されるが(最初はやはりダメかと思ったが)、offsetは維持される。
9、再起動。SSDのXPで起動。diskparでSSDのoffset(HiddenSectors)「2048」を確認。
  ここで、一応アラインメントを施したSSD(RAID 0)へのXPの移転は、完了である。

10、序でに、データ用のHDD(RAID 0)にもアラインメントを行ってみた。
  改めて、diskparでHDD(RAID)にoffset 2048 sectorsでパーティションを作成。クイックフォーマット。
  ドライブレターは「D」に。
11、再起動。offsetを確認。True Imageでデータ用の(D:)をHDD(RAID)にパーティションとして復元。データ
  そのものをファイルのバックアップから復元してもよいが、True Image等を用いる方が、高速で復元できる。

 実際には、私は、HDD 4台のRAID 0を2つのボリュームに分けて、diskparでそれぞれoffset 2048 sectorsのパーティションを作成し、「D」と「E」のドライブレターを振った。もっとも、HDDではアラインメントを施す意味はないようだが。

四、
 さて、63セクタと2048セクタとの違いはどれほどであろうか。CrystalDiskMarkの値を挙げておく。

  C300 Offset63sectors  C300 Offset2048sectors
 左がオフセット63セクタ、右がオフセット2048セクタである(SATA 3Gb/s接続)。
 御覧の通り、2048セクタの4KBの書き込み率は、63セクタの5倍以上になった。

 SSDの機種によって効果は異なるようだが、パーティション・アラインメントを行ってみる価値はあるようです。

五、
 尚、以上のような七面倒くさい手順を経ることなく、Paragon Alignment Toolというアプリケーションを試した方もいます(その方の書き込みも冒頭に挙げた掲示板にあります)。これは、「RAIDには対応しておりません」との断わり書きのあるものだが、時間はかかるもののRAID構成のSSDのアラインメントに成功したとのことです。

 いずれの方法を参考するにせよ、あくまで公式にはサポートされていない、ということにご注意あれ。

tag : RealSSDC300RAIDXPpartitionalignmentoffsetsectorTrue

コメントの投稿

管理者にだけ表示を許可する

プロフィール

そんぷうし ふうえん

Author:そんぷうし ふうえん

忙中閑は、こっそりと見出す。
カミさんと子どもたちが寝静まるのを待って、夜な夜なPCの前に端座し、その不可思議なる箱の内奥にそっと手を入れては、悦に入る日々なのであります。
時としてその手はPC以外の内奥にも。


※ リンク貼付及び引用は自由ですが、引用する場合は該当ページのURL及びタイトルを明記して下さい。

Automatic Translation
If you click a language below on any page, the translator is supposed to display the latest page at first. So you need to jump back to the previous page you were about to read.
Please note that there are some translations that are non-grammatical and do not accurately reflect the meaning of the originals because of machine translation.
 【Translated by Google Translate】
全記事一覧表示

   全ての記事のタイトルを表示する

最新記事
カテゴリ別アーカイブ
最新コメント
月別アーカイブ
検索フォーム
リンク
最新トラックバック
RSSリンクの表示
累計閲覧回数
  
QRコード
QR