# LXC Linux Container 基本認識


# 前言

在虛擬化技術中,大家常常聽到 VM (Vitual Machine) 虛擬機器的字眼,那 VM 這項虛擬化技術是基於虛擬化平台上去模擬出較完整的作業系統出來,然而在使用虛擬化平台服務如 VMware,Proxmox Virtual Environment 都常常會在一個平台上模擬出很多的作業系統出來,那在大量使用作業系統、硬體、儲存空間的情況項,我們會希望說每個實例或個體能夠越有效率的完成模擬環境會是最好

因此 LXC 能夠解決上述的問題,LXC (Linux Container) 技術是讓容器共享一個 Linux 核心,不同容器之間的環境會額外隔開,這樣就可以省下很多的模擬的資源,這樣一來 LXC 就會顯得更輕量與快速,當然並不是說 LXC 就是比 VM 好而是各有優缺點


# 簡易比較 VM VS LXC

LXC VM
虛擬化方式 OS 虛擬化 Hardware 虛擬化
資源配置方式 容器共享主機上的 OS 需要配置虛擬硬體 Ex: 虛擬記憶體,虛擬 CPU
啟動時間 需要完整載入客戶端較慢
性能 效能損耗較少 需要虛擬化較耗資源
隔離性 弱,LXC 容器之間可以相互見資源
移植性 相對較差,容器配置會包含主機特定的路徑,移植到其他主機需做調整 好,通過遷以虛擬磁碟機及相同虛擬化平台 (如 KVM) 無須調整即可遷移
儲存需求 較少空間 較多,需包含完整 OS
適用情境 適合部屬單一應用 需要完整模擬客戶環境與環境切割

建立 LXC 的速度遠快於 VM,省去安裝的時間。
所以如果是臨時要用,或是有小服務要架設,可以優先選擇 CT!


# LXC Image 映像

如果需要建立 LXC 容器,就會需要有 LXC 映像,那 LXC 如 VM 也有提供黃金映像 (Gold Image),就是基準映像


# 特徵

  1. 包含完整的 OS 環境和配置
  2. 預安裝了所需的應用程式和軟件
  3. 系統配置和應用程式已經過測試和優化
  4. 排除所有不必要的用戶信息和敏感數據
  5. 可以直接從該映像快速部署新容器
  6. 通常採用 Read Only 格式,防止修改

# 優點

  1. 保證新部署虛擬機或容器的一致性
  2. 加快部署和配置的速度
  3. 易於版本控制和更新管理
  4. 提高穩定性,減少問題

# LXC Project 專案

基本上就是 Linux Container 相關的工具,模板,插件,語言等支援工具

可以在 LXC 官方網站 中找到一些意想不到的工具


# 在 PVE 上使用 LXC


# PVE 新增 LXC 範本

有三種在 PVE 節點上面新增範本的方式

  1. 自行上傳
  2. 從網址下載
    • Ubunut 容器範本網址
  3. 從 PVE 尋找範本

其實跟 VM 也差不多


# 參考資料

  • RedHat 什么是 Linux 容器
  • RedHat 什么是黄金镜像?
  • IThome 在家機器學習?用虛擬化技術實現個人 AI 環境配置系列 第 21 篇 Day 21:PVE 安裝 LXC