オフラインファイルで特定のファイルの同期ができない

Windowsにはオフラインファイルという機能があります。この機能を用いることで、ネットワーク上で共有されているファイルをローカルにキャッシュして、オフラインでも使うようにすることができます。

再びネットワークに繋がった時に、オフラインで変更したファイルは同期することができますが、一部のファイルは同期できません。これはグループポリシーで設定されているようで、slm mdb ldb mdw mde pst db? といった拡張子のファイルが対象のようです。

よって、グループポリシーエディタで変更できます。グループポリシーエディタは以下のようにして開きます。※gpeditコマンドでも起動できます

  1. [ファイル名を指定して実行]を開く
  2. 「mmc」と入力し[OK]ボタンをクリック
  3. コンソール画面で[コンソール][ファイル]→[スナップインの追加と削除]を選択
  4. [スナップインの追加と削除]の[スタンドアロン]で[追加]ボタンをクリック
  5. [グループポリシー]を選択し、[追加]ボタンをクリック
  6. [グループポリシーオブジェクトの選択]で、[完了]ボタンをクリック
  7. 追加を完了したら[スタンドアロンスナップインの追加]ダイアログで[閉じる]ボタンをクリック
  8. スナップインの追加と削除]ダイアログで[OK]ボタンをクリック

左のペインで管理用テープレートのネットワークのオフラインから、「キャッシュしないファイルを指定する」を有効にし、例えばmd5だけ除外したい場合は、拡張子に”*.db?;*.ldb;*.mde;*.mdw;*.pst;*.slm”を指定します。

そして、一度ログインし直すと全てのファイルが同期できるようになります。

参考 : http://www.atmarkit.co.jp/fwin2k/win2ktips/578offlf/offlf_02.html


OpenSSL, OpenSSH脆弱性@Debian

Debian etch以降のOpenSSL, OpenSSHで大きな脆弱性が発見されたようです。

apt-get update; apt-get upgradeしただけではだめなようで、鍵の再作成が必要ですので注意が必要そうです。


ps3のバックアップ

PS3の中に音楽ファイルが数千曲入っていて、通常のPS3の機能でバックアップをすると1時間半ぐらいで終わったのに、USBに繋げたハードディスクへ音楽だけコピーすると異様に遅いです。1フォルダに大量のファイルがある場合、PS3のFAT32を扱うアルゴリズムが悪いのでしょうか、25GBぐらいのmp3をハードディスクへコピーするのに6,7時間ぐらいかかりました。

ちなみにWindowsに繋げて同じフォルダに何かファイルコピーしたらすぐ終わります。


ext3のジャーナル(lost+found)再作成

Linuxのext3ファイルシステムにあるlost+foundはファイルシステムのジャーナルです。これのおかげでfsckがすぐに終わります。これを間違って消した場合やおかしくなった場合は以下のようにして再作成ができます。

まずはファイルシステムをチェック

# umount /dev/sdc1
# e2fsck -fn /dev/sdc1

ext2にいったん戻して、ext3に変換。

# tune2fs -O^has_journal /dev/sdc1
# tune2fs -j /dev/sdc1


nForceのマザーM2NPV-VMでのRAID (NVRAID) の使用

数年前に買ったASUSのnForceのマザーボード M2NPV-VMで使っていたIDEのハードディスクが壊れたので、SATAの500GBハードディスク(Hitachi HDP725050LA360)を2台購入してきました。インテルのチップセットと相性が悪いらしいですが、nForceのチップセットなので気にせず購入。←※ちなみに最新のドライバでは修正されているらしいです。

Windows XPにはソフトウェアRAID機能がありますが、ミラーリング(Raid 1)機能がないので仕方なく今まではWindows上にVMWAREを入れて、ゲストOSに物理的に異なる2台のハードディスクを割り当てて、その上でLinuxを動かしてソフトウェアRAIDを組んでファイルサーバにしてデータの保護を行っていました。しかしSATAのハードディスクの場合、マザーボードにハードウェアRAID機能がついているので、この機能を使うことにしました。よってSATAは同じ物を2台用意しました。

仕事柄サーバのハードディスクRAIDはよく使用するのですが、PCのマザーについているRAID機能はまったく使ったことなかったので、どれほど使えるものなのかわかりませんでしたので、まずは情報収集。

最初はマザーボードのマニュアルを読む。NVIDIA GeForce 6150 GPUとNVIDIA nForce 430 MCP chipsetsが搭載されていて、RAID 0, RAID 1, RAID 0+1, RAID 5, JBODに対応している。よしよし。問題なし。

さらに読み進める。RAIDの構築はサポートCDのRAIDマニュアルを参考にしろと。

ここで問題発生・・・・ サポートCDは持っているのですが、付属していたCDが壊れてて、購入当時読み取れず、店に文句いうのも面倒なのでネットからドライバ類をダウンロードしてセットアップした記憶が。今読んでいるマニュアルも実はネットからダウンロードしたPDFなのです。

ASUSのサイトからRAIDマニュアルをダウンロードしようと思ったけど・・・・・ないCry

困ったのでGoogle先生を頼りに調べたことや実際に実験してみたことを以下にメモ。

まず、今回の前提ですが、Windows XPが他のハードディスクにすでにインストールされているとし、このWindowsにRAIDのハードディスクを新たに追加することとします。RAIDのハードディスクにWindows XPをインストールする場合はインストーラがディスクを認識できないので、フロッピーにドライバを入れてインストール時に認識させるj等の別途手順が必要になります。

まずは買ったハードディスクをマザーボードに繋げます。マザーボードにはSATA1, 2, 3, 4 の4つのコネクタがあります。コネクタ1はすでに使っていたので、2,3でRAIDを構築しようとしましたが、後々わかったことで、2,3を使うとWindows上で2がセカンダリ、3がプライマリと表示され紛らわしくなるので、ここでは3,4を使用します。ちなみに、1,2がプライマリとセカンダリの関係、3,4がプライマリとセカンダリの関係になります。(IDE と同じなのか?)

ハードディスクを繋いだらBIOSの設定です。起動時にDELキーを押してBIOSを立ち上げます。そしてAdvanced → Onborad Device Configuration → NVRAID Configuration を選択し、RAID Enable を Enabledにし、以下のようにSATA3と4をEnabledにします。

bios_raid

そしてBIOS設定をセーブし再起動します。

再起動するとBIOSの画面で

Press F10 to enter RAID setup utility . . .

と表示されるのF10キーを押して、RAIDの設定画面(MediaShield Utility)に入ります。なにも設定していないと以下の画面が表示されます。

array_before

まずはRAID Modeで今回使用するMirroringを↑↓キーで選択しておきます。(デフォルトはMirroringなので変更しなくてよいです)

そして→キーを押して左側に表示されている二つのハードディスクを右に移動します。

array_after

そしてF7キーを押して終了すると、下記のように作成したRAID一覧が表示されます。StatusがHelthyならば正常です。これで正しければCtrl-xを押して終了します。

array_list

設定を終了すると普通にWindowsを起動します。初めてBIOSでRAIDをEnabledにした場合、Widows起動後に新しい ハードウェアを認識しますので、RAIDドライバをインストールします。今回はAUSUのサイトで公開されているRAIDMakeDisk_XP.zipのドライバを使用しました。ドライバインストール後は確か再起動を求められたと思います。

再起動完了後、Windows上でRAIDを操作ツールというのがないことに気づき、調べたところMediaShieldというツールがあるらしいのですが、サポートCDが使えないのでネットを探したところ、サイトからダウンロードできました。サイトの左にある“Get the latest drivers for your NVIDIA nForce MCP”より

Product Type    : nForce

Product Series  : nForce 4 Series

Product         : GeForce 6150/nForce 430

Download Type   : Driver

Operating System: Windows XP

Language        : Japanese

を選択しserchをクリックすると、ダウンロードページに移動しますので、ダウンロード、インストール、再起動します。インストールすると、現在導入されているドライバが置き換えられますので注意です。

これでMediaShieldが使用できるようになりましたので立ち上げますと、以下のような画面が表示されます。2台のハードディスクが正常に動作しているのがわかります。

media_shield

あとはコントロールパネルのコンピュータの管理のディスク管理からパーティションを作ることで、普通に使うことができます。普通のハードディスクと同じ方法ですので、割愛します。
これで使うことができるようになりましたが、ディスク故障時にどのようになるかわからないので、意図的にRAID破壊してみました。

まずはポート4のSATAケーブルを抜いてみます。すると以下のようにWindow上でメッセージが表示されますが、ミラーリングなのでSATA3に繋がっているディスクだけで正常に読み書きすることができます。

broken_popup

この時、MediaShieldにはステータスに劣化と表示され、ディスクが一つになります。
※ディスクを物理的に壊すことはできないので、物理的に壊れた時はディスクは二つ見え、表示も変わると思います。

broken

ちなみにSATAケーブルを抜いたディスクを他のPCに繋いでみましたが、問題なく読み取ることができましので、データがきちんとミラーリングされていることも確認しました。

抜いたディスクをすぐにSATA4のポートに繋ぐと、以下のようなメッセージが表示され、何事もなかったように正常動作に戻りました。これは抜いた後に残ったディスクに何もアクセスしていない上、抜いたディスクにも何もアクセスしていないからだと思います。

add_disk_popup

よって、再びSATA4のディスクを抜いて、次はWindows上でディスクにアクセスすると以下のようなメッセージが表示されました。

search_popup

抜いたディスクも他のPCに繋いでフォーマットし、再びSATA4のポートに繋ぐと、ミラーリングのポートなのに別のディスクとして認識され、サーバのように自動でRAIDの再構築は始まりません。このときMediaShieldは以下のような状態です。

add_new_disk

再構築にはMediaShieldを操作して、再構築を手動で行う必要があるようです。よって、Windowsが必須になります。
RAIDの再構築(リビルド)は、セカンダリマスターのディスクを右クリックして、配列の削除を選択します。
※今回抜き差ししたのがSATAのポート4のディスクなので、セカンダリマスターを削除します。SATA3を抜き差しした場合削除するのはプライマリマスターです。間違った方のディスクを削除してしまうと、データが復旧できなくなるので要注意です。SATA1と3, SATA2と4でRAIDを組むと、どちらの表示もおそらくプライマリマスター、またはセカンダリマスターになってしまい区別がつかなくなる可能性がありますので、上でも書いたとおり、SATA1と2, または3,4でRAIDを組むのがよいと思います。

del_array

すると下記のように、 削除したディスクが空きディスクとして認識されます。

before_rebuild

さらにこの空きディスクを使って自動で再構築が始まりました。rebuild

再構築は500GBのハードディスクで4時間程度かかりました。なお再構築中は以下のようなメッセージがたまに表示されます。

rebuild_popup

ちなみにリビルド中にたまたま強い地震が発生したので PCの電源を一度落としましたが、Windows再起動後は正常に続きからリビルドが動き出しました。

== 2010/1/31 追記 ==

Windows XPの場合、システムドライブにRAIDを使うとWindowsインストール時にドライバーを求められますが、Windows 7では特に何もしなくてもディスクは使用できました。