壊れた仮想ディスクを扱う

立ち上げっぱなしのWindowsマシンが、気が付くとBSoDで落ちてしまいました。原因は追加したHDDにあるようで、Linuxで観測してみると不定期にSATAのエラーを吐きます。 再起動したら、HDD自体が認識されず困ったので、testdiskでパーティションテーブルの復元を試みました。幸いなことに、これでNTFSパーティションの復旧はできました。このtestdiskはSystemRescueCD辺りも含まれているので、普段から起動ディスクとして用意しておくと安心です。 しかしこれだけでは不完全で、NTFSパーティション自体がdirtyになっていたので、回復コンソールからchkdsk /fを実施することでファイルシステムレベルの修正できました。 しかし不幸はこれだけでは終わりませんでした。対象HDD内においていた仮想マシンが起動しなくなり、grubのプロンプトに落ちるという状況になりました。Debianのインストーラーrescueモードで見ると、そもそもext2/3としてのsignatureまで壊れてしまっているようでした。 使っていた仮想マシンのディスク形式はVMware Playerからimportしてきたvmdk形式だったので、いったんqemu-imgでraw形式に変換し、kpartxでパーティションを認識、fsckを実施しました。 大量のエラーが発生し、lost+foundにかなりのデータがおいやられたものの、なんとかfsckは完走しました。/homeごとなくなってしまいましたが… 幸い、以前変換したときの元のイメージも残っていたので、現在はそちらをraw形式に変換してデータの復元を試みています。重要なデータはlost+foundの方を参照することにします。

VMware PlayerからVirtualBoxへの移行

最近のスラッシュドットの記事から、VMware Playerのライセンスにおける「非商用の解釈がかわった」という記事(ライセンス解釈が変わったようです。)を目にし、この機会にVirtualBoxへの移行を実施しました。 移行対象は違いますが、既にやってみた人の記事(VMware Fusion 5からVirtualBox 4.3への移行)があったので、作業自体はそれほど難しくはありませんでした。ただ、この記事にもあるようにストレージをSCSIからIDEに変更する、という作業はVMware Playerでも同様に必要でした。 自分の場合、もう一点「ホストオンリーネットワークもそのまま移行したい」という希望があったので、そのために若干の作業が発生しました。参考にしたのは「VirtualBoxのネットワーク設定とCentOS6.5のインストール」です。こちらの記事はMacOSXのようですが、Windowsでも行うことはあまり変わりません。 VirtualBox マネージャーからメニューの「ファイル」「環境設定」を選択し、ダイアログを開きます。さらに「ネットワーク」「ホストオンリーネットワーク」を選択し、ネットワークを追加します。ネットワークレンジやネットマスクを、これまでVMware Playerで使っていたものと同じになるよう設定します。 ここで一点注意があります。VMware Playerが入ったままだと、VMwareの仮想ネットワークインターフェースが設定として保持されたままになるので、vmnetcfg.exeで設定を変更するか、VMware Playerをアンインストールする必要があります。そうしないと、同一のネットワーク設定が存在しているとWindows側に認識され、リンクローカルなネットワークが強制的に割り当てられてしまいます。 あとはOVF化した仮想マシンをVirtualBoxからインポートし、ネットワーク設定を先ほど作成したホストオンリーネットワークに指定して、実際に通信ができれば完了です。 NATネットワークの移行も、ほぼ同様の手順で実行し、Window側のネットワーク共有を使えばできると思います。

第八回 カーネル/VM探検隊に参加してきた

2013年4月13日、都内で第八回 カーネル/VM探検隊が開催されたので、参加してきました。詳細はGoogle Siteの方を見てもらえば、発表内容や資料が見られます。 個人的に気になったところを書いていこうと思います。 @hiraku_wfs ftraceの解説と最近の動向 ftraceそのもの以上に、debugfsの使い方が興味深いものでした。debugfs(8)ではなく、Greg Kroah-Hartmanが実装した、kernelとuserspaceを橋渡しするためのインターフェースです。mkdirすることでトレース状態のスナップショットをとることが可能、という使われ方をしていました。 ライトニングトーク @boronology CD/DVDのエラー計測 「市販のプレスされたメディアでも結構エラーは出るもの」「むしろ一部の書き込みメディアの方がエラーレートが低いことがある」などなどいろいろと面白い話でした。qpxtoolはDebianパッケージもあるので、試してみたいところです。 @Talos208 フォントとカーネル Vmのあやしい関係 フォントレンダラーのバグをつくことで、OSを落とすことすら可能なフォントデータが作れる、という話でした。過去にFreeTypeでも脆弱性の報告がありましたから、まあそういうこともあるよね、という感じです。今でもlibpngあたりはよく脆弱性が報告されていますから、気を付けたいところです。 @yogata 超簡単!TELNETの話 TELNETの標準プロトコルでも暗号化をサポートしていますよ、という話がメインでした。実際に対応している実装としては、FreeBSDのtelnetがあるようです。Debianのnetkitベースなtelnetにそういう処理はなさそうでした。 驚愕だったのは、source routingをサポートしているというところです。sshの多段接続よりも驚きです。 残念ながら懇親会に参加することはできなかったので、懇親会内でのライトニングトークは聞けませんでしたが、あいかわらず濃いイベントでした。

VirtualBoxと実マシンとでディスクI/Oの違いを確認

Windows上のVirtualBoxのLinuxが起動だけやたら遅いのはどうもBIOS経由のdisk I/Oが遅いんじゃなかろうか、と思って起動後の状態でベンチマークをとってみました。使ったのは、dbenchです。dbench 5で5並列でのアクセスをさせてみています。対象はraw diskを使ったVirtualBox環境とリアルブート環境です。 結果:VirtualBox Operation Count AvgLat MaxLat —————————————- NTCreateX 240151 0.576 482.564 Close 176257 0.051 28.976 Rename 10162 1.454 295.741 Unlink 48614 4.451 3611.593 Qpathinfo 217765 0.222 413.916 Qfileinfo 37911 0.055 32.303 Qfsinfo 39954 2.234 60.401 Sfileinfo 19542 0.550 388.175 Find 84199 0.672 1678.476 WriteX 118530 3.479 3651.417 ReadX 376109 0.185 1692.655 LockX… Continue reading VirtualBoxと実マシンとでディスクI/Oの違いを確認

Published
Categorized as 仮想化

VMware PlayerでInter Ethernet Express 1000

VMware Playerの仮想NICはどうやらguest OSの設定に依存するらしい。NetBSDを入れようとすると選択肢がないため、Other OSを選ぶことになってしまう。すると、pcnを使うことになる。 しかし、なんだかpcnは動きが遅いっぽいので、他のNICに変えてみた。具体的にはvmxファイルを直接エディタで開いて、以下の設定を追加した。 ethernet0.virtualDev = “e1000” これでwm0が認識され、うまく動いているように見える。 参考: http://asagiri.dyndns.biz/wiki/index.php?Installmemo%2Fvmware