規範公司
LXC 是用於運作系統容器和 OCI 容器的運作時。 LXC 包括 liblxc 函式庫、一組公用程式(lxc-create、lxc-start、lxc-stop、lxc-ls 等)、用於建立容器的範本以及一組針對各種程式語言的綁定。 隔離是使用標準 Linux 核心機制來執行的。 為了隔離進程、ipc 網路堆疊、uts、使用者 ID 和掛載點,使用了命名空間機制。 cgroup 用於限制資源。 為了降低權限和限制訪問,使用了 Apparmor 和 SELinux 設定檔、Seccomp 策略、Chroot (pivot_root) 和功能等核心功能。 代碼 LXC
LXD 是 LXC、CRIU 和 QEMU 的附加元件,用於集中管理一台或多台伺服器上的容器和虛擬機器。 如果LXC 是用於在單一容器層級進行操作的低階工具包,那麼LXD 將實現為一個後台進程,它透過REST API 接受網路請求,並允許您建立部署在由多個伺服器組成的叢集上的可擴充配置。
支援各種儲存後端(目錄樹、ZFS、Btrfs、LVM)、帶有狀態切片的快照、正在運行的容器從一台機器到另一台機器的即時遷移以及用於組織映像儲存的工具。 代碼 LXD
鑰匙
- 該驅動程式已完全重寫,可以與 cgroup 一起使用。 增加了對統一 cgroup 層次結構 (cgroup2) 的支援。 增加了冷凍機控制器功能,您可以使用該功能停止 cgroup 中的工作並暫時釋放一些資源(CPU、I/O,甚至可能是記憶體)來執行其他任務;
- 實施攔截系統呼叫的基礎設施;
- 新增了對「pidfd」內核子系統的支持,旨在處理 PID 重用的情況(pidfd 與特定進程關聯並且不會改變,而 PID 可以在與 PID 關聯的當前進程終止後與另一個進程關聯) ;
- 改進了網路設備的建立和刪除,以及它們在網路子系統名稱空間之間的移動;
- 將無線網路設備 (nl80211) 移至容器中的功能已經實現。
鑰匙
- 不僅支援啟動容器,還支援啟動虛擬機器;
- 為了對 LXD 伺服器進行分段,提出了一個專案概念來簡化容器和虛擬機器群組的管理。 每個專案都可以包含自己的一組容器、虛擬機器、映像、設定檔和儲存分區。 對於項目,您可以設定自己的限制並更改設定;
- 新增了對攔截容器系統呼叫的支援;
- 實現了環境備份副本的建立並從中復原;
- 自動建立環境和儲存分區的快照,並能夠設定快照的生命週期;
- 新增了用於監控網路狀態的API(lxc網路資訊);
- 增加了支持
移位檔案系統 ,用於將掛載點對應到使用者命名空間的虛擬FS; - 新型網路適配器“ipvlan”和“routed”已被提出;
- 新增了使用基於 CephFS 的儲存的後端;
- 叢集實現了鏡像複製和多架構配置的支援;
- 新增基於角色的存取控制(RBAC);
- 增加了對CGroup2的支援;
- 新增配置MAC位址和確定NAT來源位址的功能;
- 新增了用於管理 DHCP 綁定(租用)的 API;
- 新增了對 Nftables 的支援。
來源: opennet.ru