正規
LXC は、システム コンテナと OCI コンテナの両方を実行するためのランタイムです。 LXC には、liblxc ライブラリ、ユーティリティのセット (lxc-create、lxc-start、lxc-stop、lxc-ls など)、コンテナを構築するためのテンプレート、およびさまざまなプログラミング言語のバインディングのセットが含まれています。 分離は、標準の Linux カーネル メカニズムを使用して実行されます。 プロセス、ipc ネットワーク スタック、uts、ユーザー ID、マウント ポイントを分離するには、名前空間メカニズムが使用されます。 cgroup はリソースを制限するために使用されます。 権限を下げてアクセスを制限するには、Apparmor や SELinux プロファイル、Seccomp ポリシー、Chroots (pivot_root) および機能などのカーネル機能が使用されます。 コードLXC
LXD は、XNUMX つ以上のサーバー上のコンテナーと仮想マシンを集中管理するために使用される、LXC、CRIU、および QEMU のアドオンです。 LXC が個々のコンテナーのレベルで操作するための低レベルのツールキットである場合、LXD は、REST API を介してネットワーク経由でリクエストを受け入れるバックグラウンド プロセスとして実装され、複数のサーバーのクラスターにデプロイされるスケーラブルな構成を作成できます。
さまざまなストレージ バックエンド (ディレクトリ ツリー、ZFS、Btrfs、LVM)、状態スライスを含むスナップショット、あるマシンから別のマシンへの実行中のコンテナのライブ マイグレーション、イメージ ストレージを整理するためのツールがサポートされています。 コードLXD
鍵
- ドライバーは cgroup で動作するように完全に書き直されました。 統合された cgroup 階層 (cgroup2) のサポートが追加されました。 フリーザー コントローラー機能を追加しました。これを使用すると、cgroup での作業を停止し、一部のリソース (CPU、I/O、および場合によってはメモリ) を一時的に解放して、他のタスクを実行できます。
- システムコールをインターセプトするためのインフラストラクチャを実装しました。
- PID 再利用の状況を処理するように設計された「pidfd」カーネル サブシステムのサポートが追加されました (pidfd は特定のプロセスに関連付けられており変更されませんが、PID は、その PID に関連付けられた現在のプロセスが終了した後に別のプロセスに関連付けることができます)。 ;
- ネットワーク デバイスの作成と削除、およびネットワーク サブシステムの名前空間間の移動が改善されました。
- ワイヤレス ネットワーク デバイス (nl80211) をコンテナに移動する機能が実装されました。
鍵
- コンテナだけでなく仮想マシンの起動のサポートが追加されました。
- LXD サーバーをセグメント化するために、コンテナーと仮想マシンのグループの管理を簡素化するプロジェクトのコンセプトが提案されています。 各プロジェクトには、コンテナー、仮想マシン、イメージ、プロファイル、ストレージ パーティションの独自のセットを含めることができます。 プロジェクトに関連して、独自の制限を設定したり、設定を変更したりできます。
- コンテナのシステムコールをインターセプトするためのサポートが追加されました。
- 環境のバックアップ コピーの作成とそこからの復元を実装しました。
- 環境およびストレージ パーティションのスナップショットの自動作成には、スナップショットの有効期間を設定する機能が提供されます。
- ネットワークステータスを監視するための API (lxc ネットワーク情報) を追加しました。
- 追加されたサポート
シフト 、マウント ポイントをユーザー名前空間にマッピングするための仮想 FS。 - 新しいタイプのネットワーク アダプタ「ipvlan」と「routed」が提案されています。
- CephFS ベースのストレージを使用するためのバックエンドを追加しました。
- イメージのレプリケーションとマルチアーキテクチャ構成のサポートがクラスターに実装されました。
- ロールベースのアクセス制御 (RBAC) が追加されました。
- CGroup2 のサポートを追加しました。
- MAC アドレスを構成し、NAT の送信元アドレスを決定する機能が追加されました。
- DHCP バインディング (リース) を管理するための API を追加しました。
- Nftables のサポートが追加されました。
出所: オープンネット.ru