コンテナ管理システム LXD 5.0 のリリース

Canonical は、コンテナ マネージャー LXD 5.0 と仮想ファイル システム LXCFS 5.0 のリリースを公開しました。 LXD コードは Go で記述され、Apache 2.0 ライセンスに基づいて配布されます。 5.0 ブランチは長期サポート リリースとして分類されており、アップデートは 2027 年 XNUMX 月まで生成されます。

コンテナを起動するためのランタイムとして、LXC ツールキットが使用されます。これには、liblxc ライブラリ、一連のユーティリティ (lxc-create、lxc-start、lxc-stop、lxc-ls など)、コンテナを構築するためのテンプレート、さまざまなプログラミング言語のバインディングのセット。 分離は、標準の Linux カーネル メカニズムを使用して実行されます。 プロセス、ipc ネットワーク スタック、uts、ユーザー ID、マウント ポイントを分離するには、名前空間メカニズムが使用されます。 cgroup はリソースを制限するために使用されます。 権限を下げてアクセスを制限するには、Apparmor や SELinux プロファイル、Seccomp ポリシー、Chroots (pivot_root) および機能などのカーネル機能が使用されます。

LXC に加えて、LXD は CRIU プロジェクトと QEMU プロジェクトのコンポーネントも使用します。 LXC が個々のコンテナーのレベルで操作するための低レベルのツールキットである場合、LXD は、複数のサーバーのクラスターにデプロイされたコンテナーを集中管理するためのツールを提供します。 LXD は、REST API 経由でネットワーク経由でリクエストを受け入れるバックグラウンド プロセスとして実装され、さまざまなストレージ バックエンド (ディレクトリ ツリー、ZFS、Btrfs、LVM)、状態スライスを含むスナップショット、あるマシンから別のマシンへの実行中のコンテナのライブ マイグレーション、画像コンテナを保存するためのツール。 LXCFS は、コンテナ内の疑似 FS /proc および /sys をシミュレートするために使用され、仮想化表現 cgroupfs をシミュレートして、コンテナに通常の独立したシステムの外観を与えます。

主な改善点:

  • ドライブおよび USB デバイスのホットプラグおよびアンプラグが可能。 仮想マシンでは、新しいディスクは SCSI バス上に新しいデバイスが出現することによって検出され、USB デバイスは USB ホットプラグ イベントの生成によって検出されます。
  • 必要なネットワークデバイスがないなど、ネットワーク接続を確立できない場合でも、LXDを起動することができます。 起動時にエラーを表示する代わりに、LXD は現在の条件で可能な最大数の環境を起動し、残りの環境はネットワーク接続が確立された後に起動されるようになりました。
  • 新しいクラスター メンバー ロールである ovn-chassis が追加されました。これは、ネットワーク通信に OVN (Open Virtual Network) を使用するクラスターを対象としています (ovn-chassis ロールを割り当てることで、OVN ルーターの機能を実行するサーバーを選択できます)。
  • ストレージパーティションの内容を更新するための最適化されたモードが提案されています。 以前のリリースでは、更新は最初に、たとえば zfs または btrfs の送受信機能を使用してコンテナー インスタンスまたはパーティションをコピーし、その後、rsync プログラムを実行して作成されたコピーを同期することで構成されていました。 仮想マシンの更新効率を向上させるために、新しいリリースでは高度な移行ロジックが使用されています。このロジックでは、ソース サーバーとターゲット サーバーが同じストレージ プールを使用している場合、rsync の代わりにスナップショットと送受信操作が自動的に使用されます。
  • Cloud-init で環境を識別するためのロジックが再作成されました。環境名の代わりに、UUID がインスタンス ID として使用されるようになりました。
  • sched_setscheduler システムコールをフックするためのサポートが追加され、特権のないコンテナがプロセスの優先順位を変更できるようになりました。
  • シンプール内のメタデータのサイズを制御するために、lvm.thinpool_metadata_size オプションが実装されました。
  • lxc のネットワーク情報を含むファイル形式が再設計されました。 インターフェイス バインディング、ネットワーク ブリッジ、VLAN、および OVN ネットワーク上のデータのサポートが追加されました。
  • 最小コンポーネント バージョンの要件が増加しました: Linux カーネル 5.4、Go 1.18、LXC 4.0.x、および QEMU 6.0。
  • LXCFS 5 では、統合 cgroup 階層 (cgroup2) のサポートが追加され、/proc/slabinfo および /sys/devices/system/cpu が実装され、アセンブリに中間子ツールキットが使用されました。

出所: オープンネット.ru

コメントを追加します