Ảo hóa

LXC là gì?

Còn được gọi là: Linux Containers
Định nghĩa

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.

Tại sao LXC quan trọng

LXC xuất sắc bên trong ranh giới tin cậy bạn đã sở hữu và yếu khi là ranh giới đa người thuê, vì một lỗ hổng nhân ảnh hưởng đến mọi container trên máy chủ.

LXC trong thực tế

Với LXC, bạn có một container nhẹ dùng chung kernel máy chủ. Bạn quản lý nó qua bộ lệnh lxc hoặc API, theo dõi số liệu cgroup để biết áp lực CPU và bộ nhớ. Việc tinh chỉnh chủ yếu là giới hạn namespace và cgroup: ghim tiến trình, đặt trần bộ nhớ. Cái giá khi làm sai là phơi bày: một lỗ hổng kernel có thể xâm nhập mọi container trên máy chủ, vì vậy bạn coi máy chủ là một miền tin cậy duy nhất và lên kế hoạch chuyển đổi dự phòng ở cấp máy chủ, không phải từng container.

Điều mọi người hiểu sai về LXC

Mọi người xem LXC như một ranh giới bảo mật tương đương KVM. Không phải vậy: các container dùng chung kernel, nên một lỗ hổng trong kernel đó có thể thoát ra khỏi bất kỳ container nào. Sự điều chỉnh là LXC dành cho việc cô lập trong một ranh giới tin cậy bạn sở hữu, không phải ranh giới đa khách thuê nơi khách thuê có thể thù địch.

LXC — các câu hỏi thường gặp

LXC có giống Docker không?

Không. Docker xây dựng trên các nguyên gốc container như LXC nhưng thêm quản lý ảnh, phân lớp và điều phối. LXC giống một máy ảo nhẹ hơn: bạn chạy một bản phân phối đầy đủ trong đó và quản lý bằng systemd hoặc init trực tiếp. Docker tập trung vào đóng gói ứng dụng; LXC tập trung vào ảo hóa hệ thống.

Tôi có thể chạy LXC với kernel tùy chỉnh không?

Điều đó phụ thuộc vào máy chủ. Một số nhà cung cấp, như OnionVPS, cấp root đầy đủ và cho phép kernel tùy chỉnh, nhưng với LXC bạn dùng chung kernel máy chủ, nên kernel tùy chỉnh không dành cho chính container. Bạn sẽ dùng KVM cho việc đó. LXC gắn với phiên bản kernel và cấu hình mà máy chủ cung cấp.

Nơi LXC xuất hiện

Thêm từ ảo hóa

KVM
KVM là ảo hóa phần cứng đầy đủ được tích hợp trong nhân Linux, cho mỗi máy khách nhân riêng và cô lập được bảo đảm bằng phần cứng khỏi các người thuê khác.
OpenVZ
OpenVZ là ảo hóa dựa trên container trong đó mọi phiên bản chia sẻ nhân máy chủ, vì vậy máy khách không thể nạp mô-đun nhân hoặc chạy hệ điều hành khác.
Hypervisor
Hypervisor là lớp phần mềm tạo và chạy máy ảo, phân bổ CPU vật lý, bộ nhớ và IO giữa chúng.
Ảo hóa lồng nhau
Ảo hóa lồng nhau cho phép một máy ảo tự chạy các máy ảo, bằng cách hiển thị các phần mở rộng ảo hóa của bộ xử lý cho khách.
vCPU
vCPU là bộ xử lý ảo được cung cấp cho máy khách, được hỗ trợ bởi thời gian lập lịch trên một lõi hoặc luồng vật lý.
cloud-init
cloud-init là cơ chế tiêu chuẩn để cấu hình máy ảo trong lần khởi động đầu tiên, sử dụng siêu dữ liệu do nền tảng cung cấp.