返答 (5)
高徹 Windows機で動かす仮想化ソフトウェア(デスクトップ用途) - 高橋 徹 さんが11年以上前に追加
現時点でWindowsマシン上で仮想ゲスト(デスクトップ使用)を動かす仮想化ソフトウェアとしては、
- Hyper-V(Microsoft社)
- VMware Player/Player Plus/Workstation(VMware社)
- VirtualBox(Oracle社)
の3つが代表製品です。
Hyper-Vは、Windows 8(Pro版以上)で標準搭載される仮想化ソフトウェアです。
VMwareは、Playerが非商用の個人利用は無償、商用利用はPlayer PlusかWorkstationが必要です。
VirtualBoxはGPL2ライセンス(無償)です。ただしExtention Packは個人・教育・評価目的のみ無償。
HyperV > VirtualBox > VMware Playerという結果が多いです。あれ、昔は特にグラフィックス性能でVMware Player >> VirtualBoxと思っていましたが、いまはグラフィックス性能(Direct2D, OpenGL)はVirtualBoxが高いですね。
高徹 Windows10 Version 2004のWSL2 - 高橋 徹 さんが5年以上前に追加
Windows10 Version 2004(May 2020 Update)の新機能WSL2ではLinuxカーネルをHyper-Vベースの仮想化機能で動かすようになった。
Windows10 Homeエディションでも利用可能、ということで動かし方を調べてみた。
- Windows の機能の有効化または無効化で次の2つを有効化する
☑ Linux 用 Windows サブシステム
☑ 仮想マシン プラットフォーム
WSL(WSL 1)を動かすなら、1つ目の「Linux 用 Windows サブシステム」だけ有効化すればよい。
WSL 2 を動かすなら、1つ目に加えて2つ目の「仮想マシン プラットフォーム」の有効化が必要。
WSL 2 でLinuxディストリビューションを動かすことと、Hyper-V上にLinuxディストリビューションを動かすこととの顕著な違いは、WSL 2で用意されたLinuxカーネルを使うか、Linuxディストリビューションが提供するLinuxカーネルを使うか、と思われる。
複数のディストリビューションをWSL 2で同時に動かせるかどうかは今後の調査。
高徹 ライブマイグレーション - 高橋 徹 さんが4年以上前に追加
ある物理サーバ上で稼働する仮想サーバを、別の物理サーバ上に無停止で移動させる技術。
アプリケーションを中断することなく、ハードウェアの保守(点検、交換等)や交換が可能。
高徹 Windowsコンテナーの技術情報 - 高橋 徹 さんが4年以上前に追加
- What a Windows Container looks like? - CloudNative Days Tokyo 2020.09.08
https://speakerdeck.com/cyberblack28/what-a-windows-container-looks-like
高徹 Dockerとは、WindowsとmacOSで利用するには - 高橋 徹 さんが24日前に追加
Dockerは、OSカーネルを共有するコンテナ型仮想化方式の実装の一つです。OSカーネルとしてLinuxカーネルを共有し、Linuxアプリケーションのためのコンテナ環境を提供します。そのため、Linux OSが稼働するホストマシン上でLinux OSのカーネルを利用します。
ただし、ホストマシンがWindows OSやmacOSの場合、Linuxカーネルが存在しないので別途Linux OSを仮想化して動かすことでそのカーネルを利用します。そのため、コンテナのメリットである軽量化、高速性が生かせないデメリットがあります。
2022年までは、Docker Desktopを使用してWindows OSやmacOS上でDockerを動かすことが定番でした。
Docker Desktop for Windowsでは、Linuxカーネルを動かすのにHyper-VまたはWSL2のどちらか選択して使用します。
Docker Desktop for Macでは、Linuxカーネルを動かすのにかつてはQEMUを使っていましたが、現在は Docker VMMまたはApple Virtualization Frameworkのどちらかを使用します。
しかし、Docker Desktopが有償化1されたことに伴い、他の手段を利用する方法がいくつか登場しています。
Windows OSの場合は、Hypver-Vで仮想ゲストにLinux OSを動かしてそのカーネルを共有するdocker環境を利用するか、WSL2で動作するLinux OSのカーネルを共有するdocker環境を利用します。要するにWindows上で仮想マシンを用意しLinux OSを動かし、その上でdocker環境を使用します。
macOSの場合は、Lima(Linux on Mac)とそれをラップするColima(Docker/Kubernetesの利用に最適化したコマンドラインベースのコントローラ)や他の類似実装を利用します。Limaは、Apple Virtualization Frameworkを使ってLinuxを動かします。こちらも、macOS上に仮装マシンを用意してLinux OSを動かし、その上でdocker環境を使用することになります。
ネット記事等のメモ
脚注
1 商用(Business)で使う場合、従業員数250人未満でかつ年商1000万ドル未満であれば無償、それ以外は有償。個人使用、教育用、非商用のオープンソースプロジェクトでの利用は無償。