%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%9B%E3%81%9A%E3%81%AB%E3%80%8164%20%E3%83%93%E3%83%83%E3%83%88%20%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%81%A7%2064%20%E3%83%93%E3%83%83%E3%83%88%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
64 ビット ホスト マシン (任意の OS で実行可能) で実行したい 64 ビット仮想マシン (CentOS) がありますが、そのホスト マシンはハードウェア仮想化をサポートしていません。ご存知のように、ハードウェア仮想化は、64 ビット仮想マシンを実行するために必要なものです。
VirtualBox と VMware Player を試しましたが、どちらもハードウェア仮想化プロセッサ以外ではこの問題が発生しています。OpenVZ、XEN、KVM などの別の仮想化システムが役立つのではないかと思いました。どう思われますか?
Stackoverflow で Qemu を使用するようにアドバイスされました。OpenVZ や XEN、KVM は動作しないのでしょうか? これらのソフトウェアのいずれかがこの問題を解決できるかどうか試してみたかったのです。
ありがとう!
答え1
おそらくそうではないでしょう。少なくとも、簡単で十分にサポートされている方法はありません。
見るhttp://en.wikipedia.org/wiki/X86_virtualization#ソフトウェアベースの仮想化それは言う
x86-64 (AMD64) の初期バージョンでは、ロング モードでのセグメンテーション サポートが不足していたため、ソフトウェアのみの完全仮想化は不可能でした。そのため、ハイパーバイザーのメモリの保護、特にゲスト カーネル アドレス空間で実行されるトラップ ハンドラーの保護が不可能でした。[12][13]:11 および 20 リビジョン D 以降の 64 ビット AMD プロセッサ (経験則として、90 nm 以下で製造されたもの) では、ロング モードでのセグメンテーションの基本サポートが追加され、バイナリ変換によって 64 ビット ホストで 64 ビット ゲストを実行できるようになりました。Intel は x86-64 実装 (Intel 64) にセグメンテーション サポートを追加しなかったため、Intel CPU では 64 ビット ソフトウェアのみの仮想化は不可能でした。
答え2
答え3
LXC または OpenVZ をご覧ください。
VT 命令を備えたプロセッサを必要とせず、コンテナ ベースの仮想化を提供します。この仮想化ではオーバーヘッドはほとんど発生しません。
LXC は OpenVZ と非常によく似ており、VM は 2 つのテクノロジと互換性があります。LXC は比較的最近のプロジェクトです。