web-dev-qa-db-ja.com

VirtualBox USB3.0ストレージ設定

Linuxカーネルで安全に動作するためにVMを使用している大学のコースを受講しているので、そうなると言われていますVMをフラッシュドライブに保存しておくと便利です(キャンパスで作業したい場合)。

USB 3.0フラッシュドライブ(Corsair Voyager GT 32gb)を購入しましたが、特に更新(「Sudo yum update」の使用には3〜6時間かかりました)など、いくつかの点で非常にゆっくりと動作しています。これは、UEFIで仮想化を有効にすることを確認した後のことであり、これにより処理が大幅に高速化されました。 SSDで最初のプロジェクトを完了できるようにVMのクローンを作成し(より高速になることを期待して)、クローンがに設定されていることを確認しましたそれがSSDであることを認識しますが、コントローラーの別の設定に気づきました:ホストI/Oキャッシュを使用と呼ばれるSATAセクション。

SSDのVM)のクローンまたはフラッシュドライブのVMのいずれかでこの設定を有効にする必要がありますか?パフォーマンスに違いが生じたり、速度が向上したりしますか?

5
user199614

あなたのVirtualBox.vdi fileは、ホストオペレーティングシステム(ここではWindowsを想定しています)に関する限り、「単なるファイル」です。これまでにオペレーティングシステムについてどれだけ学んだかはわかりませんが、仮想メモリの概念と、ディスク上のファイルがメモリにページングされる方法に精通している場合、これは基本的に次のように述べています。

  • ホストI/Oキャッシュを無効にした場合、ゲストがページの読み取り/書き込みを行うときに、ゲストのページフォールトが発生した場合(ゲストのメモリにページがありません) 、ページフォールトは常にホストにページフォールトを発生させ、ホストは物理的な読み取りまたは書き込みでストレージメディアにヒットします。
  • ホストI/Oキャッシュを有効にすると、ホストはVDIファイルのページをキャッシュします。次に、ハイパーバイザーがホストオペレーティングシステムからこれらのページを要求すると、読み取り/書き込み時にページがすでにRAM)にある場合、それらは常にではない可能性がありますページフォールトです。

キャッシュ戦略がライトバック/ライトスルーであるかどうか、ゲストファイルシステムとホストファイルシステムが書き込み結合、遅延割り当て、ジャーナル/メタデータ遅延割り当てなどを行うかどうかに依存するため、書き込みは少し複雑です。

簡単に言うと、ホストI/Oキャッシュを使用すると、ホストファイルシステムの設計とそのキャッシュ戦略によっては、パフォーマンスが向上し、データの安全性が損なわれる可能性があります。パフォーマンスの向上は、ホスト上の「空き」RAMの量(データ常駐のページに使用されていないRAM)の量)に直接関係しています。アプリケーションの仮想アドレス空間、またはカーネルのアドレス空間で)。MoreRAM =パフォーマンスが向上します。これは、ホストI/Oキャッシュがない場合、RAMページの障害を回避するために使用できる量はRAM割り当てられたゲストに-ゲストのファイルシステム/仮想メモリマネージャーが同じくらい行うページ障害を可能な限り回避しますが、ゲストには常にゲストのメモリホストのメモリの合計よりも少ないメモリが割り当てられます。ホストI/Oキャッシュを有効にすると、次のようになります。ホストメモリの残りの部分も。

USBデバイスが高性能でデータの安全性が低いように構成されている場合(デバイスマネージャーのオプション)、システムトレイを使用してドライブを削除するようにWindowsに適切に指示せずにドライブを「ヤンク」しないように注意してください。 。 「クイック削除」用に構成されている場合、パフォーマンスは大幅に低下しますが、データをほとんど失うことなく、いつでも安全に削除できます。ただし、常にフラッシュドライブを取り外す前に、VMをシャットダウンしてください。

もう1つのこと:おそらくご存知のように、フラッシュドライブはSSDよりもはるかに低速です。その理由は、SSDは基本的に「多数のフラッシュドライブを組み合わせた」(パフォーマンスを向上させるため)のに対し、単一セルで安価に設計されているためです。あなたはあなたが支払うものを手に入れます。フラッシュドライブのパフォーマンスは、使用するコネクタに関係なく、ハードドライブやSSDのパフォーマンスと比較して常に許容できないほど遅くなります。

2
allquixotic