仮想化
LXCとは?
LXC is Linux-native containerisation that isolates processes with namespaces and cgroups while sharing the host kernel. LXC is excellent inside a trust boundary you already own and weak as a multi-tenant boundary, because a kernel escape affects every container on the host.
LXCが重要な理由
LXCは、既に所有している信頼境界内では優れており、マルチテナント境界としては脆弱です。なぜなら、カーネルエスケープはホスト上のすべてのコンテナに影響するからです。
実践でのLXC
LXCでは、ホストカーネルを共有する軽量コンテナを利用できます。lxcコマンド群またはAPIで管理し、CPUとメモリのプレッシャーをcgroup統計で監視します。チューニングは主にネームスペースとcgroupの制限、つまりプロセスのピン留めやメモリ上限の設定です。失敗した場合のコストは露呈です。カーネルエスケープが発生するとホスト上のすべてのコンテナが危険にさらされるため、ホストを単一の信頼ドメインとして扱い、フェイルオーバーはコンテナ単位ではなくホスト単位で計画する必要があります。
LXCについて人々が誤解していること
LXCをKVMと同等のセキュリティ境界として扱う人がいます。それは誤りです。コンテナはカーネルを共有するため、そのカーネルの欠陥があれば、任意のコンテナから脱出できる可能性があります。正しくは、LXCは所有する信頼境界内での分離に使うものであり、テナントが敵対的になり得るマルチテナントホスティング用の境界ではありません。
LXC — よくある質問
LXCはDockerと同じですか?
いいえ。DockerはLXCのようなコンテナの基本要素を基に構築されていますが、イメージ管理、レイヤリング、オーケストレーションを追加しています。LXCはより軽量なVMに似ており、その中で完全なディストリビューションを実行し、systemdやinitで直接管理します。Dockerはアプリのパッケージングを目的とし、LXCはシステムの仮想化を目的としています。
LXCでカスタムカーネルを実行できますか?
ホストによります。OnionVPSのような一部のプロバイダーは完全なrootアクセスを提供し、カスタムカーネルを許可しますが、LXCではホストカーネルを共有するため、カスタムカーネルはコンテナ自体のためのものではありません。その場合はKVMを使うことになります。LXCはホストが提供するカーネルのバージョンと設定に依存します。
LXCが登場する箇所
- 什么是KVM虚拟化? KVM(基于内核的虚拟机)是内置于Linux内核的完整硬件虚拟化,利用处理器扩展使每个客户机运行自己的内核并具有硬件强制的隔离。与OpenVZ或LXC(共享主机内核)不同,KVM客户机可以加载内核模块、运行任何操作系统并使用真实交换空间。…
- VPSでDockerを実行できますか? KVM VPSなら、制限なくはい — 公式リポジトリからDocker Engineをインストールすれば、buildx、Compose、Docker-in-Dockerも含めてすべて動作します。OpenVZやLXCベースの仮想サーバーでは、共有カーネルの仮想化がcgroupsやnamespacesを公開しないた…
- KVM与OpenVZ:为什么虚拟化类型很重要 KVM是完全硬件虚拟化:你的实例运行自己的内核,无法看到宿主机。OpenVZ和LXC是共享宿主机内核的容器技术,这意味着不支持自定义内核模块,旧宿主机上不支持WireGuard,Docker不可靠,并且内存记账允许提供商超卖。如果VPS异常便宜,通常是OpenVZ。…
- KVM対LXC:分離と密度 LXCコンテナはホストカーネルを共有し、ほぼオーバーヘッドなしでミリ秒単位で起動します。KVM仮想マシンは独自のカーネルを起動し、2〜5%のオーバーヘッドと真のセキュリティ境界を持ちます。マルチテナントホスティングではこの違いが決定的です。LXCホストのカーネル脆弱性は、その上のすべてのテナントに影響する脆弱…
- 実際に使える最も安いVPSは何ですか? 月額約4ドルで、本物のKVM仮想化上で1 vCPU、1 GB RAM、20 GB NVMeを購入できます。これは、WireGuard VPN、DNSリゾルバー、Torリレー、小さなボット、静的サイトに十分な容量です。この価格以下では、仮想マシンではなく過剰販売されたコンテナを購入している可能性が高いです。…
- OnionVPSは他のVPSプロバイダーと何が違うのですか? 4つのこと:あらゆる種類の本人確認がないこと、カードや銀行が関与しない暗号通貨のみの支払い、真のオフショア管轄区域を含む116か国138のロケーション、そして接続ログを生成しないアーキテクチャ。これにKVMのみの仮想化、含まれるDDoS保護、すべての階層でのポート25のオープンを組み合わせています。…
仮想化の詳細
- KVM
- KVMはLinuxカーネルに組み込まれたフルハードウェア仮想化であり、各ゲストに独自のカーネルと、他のテナントからのハードウェア強制分離を提供します。
- OpenVZ
- OpenVZはコンテナベースの仮想化であり、すべてのインスタンスがホストカーネルを共有するため、ゲストはカーネルモジュールをロードしたり、異なるオペレーティングシステムを実行したりできません。
- ハイパーバイザー
- ハイパーバイザーとは、仮想マシンを作成・実行し、物理CPU、メモリ、I/Oを割り当てるソフトウェアレイヤーです。
- 嵌套虚拟化
- ネスト仮想化により、仮想マシン自体が仮想マシンを実行できるようになり、プロセッサの仮想化拡張機能がゲストに公開されます。
- vCPU
- vCPUは、ゲストに提示される仮想プロセッサであり、物理コアまたはスレッド上のスケジューリング時間によって支えられています。
- cloud-init
- cloud-initは、プラットフォームが提供するメタデータを使用して、仮想マシンを初回起動時に構成するための標準的なメカニズムです。