VirtualBox KVM の一般公開配布
(cyberus-technology.de)VirtualBox KVM の一般公開リリース
- Cyberus Technology は、VirtualBox の KVM バックエンドをオープンソースとして公開した。
- VirtualBox は、さまざまなゲスト OS をサポートし、複数のホスト OS 上で一貫したユーザーインターフェースを提供するマルチプラットフォームの仮想マシンモニター(VMM)である。
- KVM バックエンドを使用すると、VirtualBox は Linux KVM ハイパーバイザーを活用して仮想マシンを実行でき、これは標準の VirtualBox が使用するカスタムカーネルモジュールの代わりとなる。
オープンソース公開
- Cyberus Technology は、オープンソースへのコミットメントを守るため、GitHub で KVM バックエンドをオープンソースライセンスのもとで公開した。
- ユーザーは GitHub で VirtualBox と Cyberus Technology の KVM バックエンドをビルドし、改善された機能を直接活用できる。
- 2024 年のロードマップには、さらに多くの興味深い機能が含まれており、アップデートがリリースされるたびに技術的内容を扱う追加の記事を公開する予定である。
サポートを受ける
- VirtualBox と KVM を利用したい場合、またはカスタムの仮想化ソリューションが必要な場合、Cyberus Technology はガイダンスとエンジニアリングサービスを提供する用意がある。
- サポートを希望するユーザーは、サポートフォームまたは service@cyberus-technology.de へのメールで連絡できる。
GN⁺ の意見:
- VirtualBox の KVM バックエンドのオープンソース公開は、仮想化技術の発展と、より広い互換性を求めるユーザーおよび開発者コミュニティにとって重要な前進である。
- 今回の発表は、仮想マシンの性能向上、セキュリティ強化、ハードウェアおよびゲストのユースケースに対するサポート拡大を可能にする技術的進歩を意味する。
- オープンソースコミュニティに貢献しようとする Cyberus Technology の取り組みは、オープンソースソフトウェアの発展と革新の促進に寄与するとみられる。
1件のコメント
Hacker Newsのコメント
VirtualBoxを使う人は Extension Pack に注意すべき。Oracleは訴訟に非常に積極的だ
https://www.reddit.com/r/sysadmin/comments/147k6az/oracle_is...
https://www.reddit.com/r/sysadmin/comments/d1ttzp/oracle_is_...
https://www.theregister.com/2019/10/04/oracle_virtualbox_mer...
私たちの組織ではVirtualBoxを禁止した。Oracleを相手にするより、VMware Workstationやvirt-managerの方がはるかに安く済む
だからできるだけ早く全員がそれを使えないようにしなければならなかった。もちろんVBoxだけの話ではなく、データベースも同様なので、単に避けるのが一番だ
道端でバナナを渡しておいて、3か月後に戻ってきて1000ドルを要求することはできない
ついに来た。仮想マシンを動かすたびに、性能が良く扱いやすいのでVirtualBoxよりlibvirtを選ぶが、GUIの選択肢は本当にひどかった
libvirt向けの「最良」のGUIである virt-manager でさえ、バグが多く機能も不足している。HiDPI画面との相性が悪く、IPv6の設定方法もない、といった具合だ
libvirt/KVMより性能が劣っても使い勝手が良いという理由でVirtualBoxを選んだことが何度もあったが、もうその必要はなさそうだ
$ virsh net-dumpxml default6default673590ea2-eb15-4e67-b104-319721bdf302必要ならDHCPv6も使える
事実上、両者は正反対だ。私はGUIがよりシンプルなのでvirt-managerを使っているし、どうせVirtualBoxの設定も悪夢に近い
いずれにせよ、この機能は正しい方向への一歩だ。ディストリビューションが採用するのか、いつかアップストリームに統合されるのか気になる
当時はメインPCがWindows 10で、Windowsのコマンドライン環境はかなりお粗末だった
これは実質的にVirtualBoxをvirt-managerとvirshの代替にするということか?
私の知る限り、VirtualBoxはGPUのような PCIパススルー をサポートしていないが、そのような場合をどう扱うのか気になる
LinuxではQEMU/KVMに移行して以来VirtualBoxを振り返っていないが、WindowsではVirtualBoxを使っていて、そのたびにGUIの方がずっと良く親切だと感じる
追記すると、VirtualBoxはExtension Packを通じて実験的なPCIパススルーを提供している [0]。これをKVMバックエンドでも使えるのだろうか?
[0] https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm...
実用的な利点は、カーネルがアップグレードされるたびに、サードパーティ製ドライバーであるvboxカーネルモジュールを再コンパイルしなくてよいことだ。DKMSが管理者の介入なしに処理しようとはするが、常に不具合がないわけではない
一方でVirtualBoxアプリケーションはデスクトップとうまく統合されるよう設計されているので、ゲストへVNCで接続することは代替になりにくい
FreeBSD側でもbhyveハイパーバイザーに対して同様の取り組みがあればよいのだが
用語の問題も興味深いが、最近Linuxの直接レンダリングマネージャーであるDRMの話題ですでに扱われていた。これらの略語は「ICT全体」よりも狭い集団で使われており、キーボード・ビデオ・マウス機器も同様だった
Linux内部をそのレベルで扱う専門家は1%にも満たず、サーバールームの現場エンジニアも1%未満なので、こうした用語についての集団的認識がなく、再利用されたのだ
LVMはすでにストレージ分野で使われているし、LKVMも紛らわしい
downvoteしても、あなたのディストリビューションがより有能になるわけではない
LinuxでKVMとvirt-managerですでに得られるものに比べて、これが何をさらにもたらすのかよく分からない
VirtualBoxは全体としてユーザーフレンドリー。ゲスト統合、ドラッグ&ドロップ、クリップボード、USBパススルー、オーディオ対応もVBoxはとても良い
ほとんどの仮想マシンは暗号化してあるので、持ち歩いても安心できる。いろいろな秘密情報も別途暗号化してあるが、仮想マシン自体の暗号化のおかげで、空港で機器をなくしても、アクセスされるべきでないものが露出するのではと心配しなくてよい。
virt-managerとKVMでも可能な方法はあるが、気に入るものがなかった。ホストのファイルシステムレベルの暗号化に依存したくなかったし、移植性の問題もあり、以前にフルディスク暗号化で少し問題があったため、それに頼るのは気が進まなかった。
VirtualBoxも本質的にはフルディスク暗号化をしているようなものだが、ゲストには見えず、安定しているように見える。
移植性の面では https://www.vbox.me/ を使って仮想マシンとホストをフラッシュドライブにインストールし、追加インストールなしでどのWindowsホストでも自分の環境を実行できるはずだ。まだ実際には試していないが、大きな利点だった。
今では環境の大半がVagrantで自動構成されている: https://github.com/robsheldon/vagrantfiles なので、virt-managerの利点の一部も得られている。
Oracleに何か依存するのは本当に気に入らない
KVMはキーボード・ビデオ・モニター系デバイスの文脈でしか聞いたことがなく、仮想マシンという概念にはあまり合わない気がする。ここでは別の意味なのか?
https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
Xenはカーネルを拡張して仮想CPUをタイムスライスでサポートする。
KVMは各仮想コアをLinuxスケジューラを使うプロセスとして割り当てる。
ハードウェア仮想マシンのvCPUコアがプリエンプトされると、レジスタなどを再設定する必要があるvmexit呼び出しが発生し、コストが高い。
昔のAWSインスタンスはXenで動いていて、ゲスト間の公平性を合わせやすいという利点があった。
KVMには、赤黒木ベースでよく最適化されたLinuxスケジューラの恩恵を受けられる利点がある。
たとえば新しいCPUが出ると、KVMはアップストリームでサポートを得られるが、Xenは自前で対応する必要がある。
cgroupsのような技術が改善されるにつれ、タイムスライス満了のためにスレッドがプリエンプトされずに完了できる利点が、vmexitコストの回避につながった。
理論的には、本質的に最適化されたLinuxの中核機能を活用できる点がVirtualBoxにも利益をもたらすはずだ。
KVMを使う人の大半は、実装方式を隠してくれるlibvirtのような抽象化レイヤーを使う。
実際にプロセスを見ると、実装がKVMでもqemuが見えるはずだ
これは本当に気になる。侵入テスターとしてLinuxノートPCを使っていて、VirtualBox内のKali VMで多くの時間を過ごしている。
KVMバックエンドでどの程度の性能向上が期待できるのだろうか?
そこのVPNに接続する必要があるので、この活動を個人ネットワークから分離したほうがよさそうに思えた。
侵入テスト用VMではどんなネットワーク構成を使っているのか気になる。理想的には、VMはインターネット、したがってHTB VPNにはアクセスできるが、ローカルネットワーク内部にはアクセスできないようにしたい。
ただ、それを信頼できる形で実装する方法がよく分からない。そもそも考えすぎで実用的ではないのかもしれないので、専門家の見方が知りたい。
普通ならQEMUを使うだろうが、VirtualBoxにこれをより簡単にする機能があるなら、このケースではVirtualBoxを使ってもよい
ただし、一般化して言うのは難しい
過去に顧客の一部がVBoxを使っていたため、VirtualBox機能の一部をサポートするためにlibvirtへ貢献したことがある。
あのときこれがあれば便利だっただろうし、すべての顧客にKVM仮想マシンを使ってもらえただろう。
作業お疲れさま
かっこいいのは確かだが、自分がもう年を取ってひねくれただけかもしれないけれど、10年前ならすごかったと思う。今これを本当に気にする人はいるのだろうか?
最近ではLinuxの中でLinux GUIを仮想化するなら、virt-manager、VMware、VirtualBoxよりずっと良い方法も可能だ。
crosvmを使えば共有メモリバッファでWaylandを共有し、ゲストでOpenGLとVulkanのアクセラレーションも得られる。
こうすると、ゲストアプリケーションがホストのWaylandコンポジタを通してシームレスに表示される
ただしVBoxの主なユースケースは大半がWindowsだ