加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1、LXC是什么 
    • 2、逻辑管线执行LXC可以做什么?
    • 3、LXC实现原理
    • 4、为什么要选择LXC?
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

五分钟技术趣谈 | 路由器常用技术LXC简介

2023/11/20
3220
阅读需 6 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

作者:傅宽,单位:中国移动智慧家庭运营中心

容器是一个隔离的环境,可促进微服务并提供卓越的扩展性和快速部署等优势。本文介绍LXC(Linux容器)的特性、原理和应用范围。

1LXC是什么 

Linux Containers (LXC)是一种操作系统级虚拟化方法,用于使用单个Linux内核在控制主机上运行多个独立的Linux系统(容器)。

图1  容器示意图

2逻辑管线执行LXC可以做什么?

Linux内核提供了cgroups功能,允许在不需要启动任何虚拟机的情况下对资源(CPU、内存、块 I/O、网络等)进行限制和优先排序,还提供了名称空间隔离功能,允许完全隔离应用程序对操作环境的视图,包括进程树、网络、用户 ID和挂载的文件系统。

LXC结合了内核的cgroup和对隔离名称空间的支持,为应用程序提供了一个隔离的环境。早期版本的Docker使用LXC作为容器执行驱动程序,尽管LXC在v0.9中是可选的,并且在Docker v1.10中放弃了支持。对Linux容器的引用通常指运行在Linux上的Docker容器的引用。

3LXC实现原理

LXC使用以下内核特性来来实现虚拟化:

Kernel namespaces (ipc, uts, mount, pid, network and user)

Apparmor and SELinux profiles

Seccomp policies

Chroots (using pivot_root)

Kernel capabilities Control groups (cgroups)

其中mount namespace与pivot_root的结合使用,实现了文件系统的隔离。在启动容器的时候,首先clone出一个容器进程,clone指定了CLONE_NEWNS标致,这样就会为这个新启动的容器创建一个新的mount namespace,结果使这个容器有一个新的文件层次视图,在clone过程中,子进程会复制父进程的mount namespace,mount namespace的作用主要是体现在mount与umount(其实还有pivot_root)上面,由于具有不同的文件层次图,每一个mount namespace中的mount、umount与pivot_root操作对其他mount namespace中的进程是不可见的,这样在容器启动过程中执行pivot_root操作将当前容器进程的root切换为/var/lib/lxc/<container>/rootfs时(注:不能将一个目录挂载到根目录/,所以要调用系统接口pivot_root),对容器外其他进程而言是不可见的,容器外进程的root仍为之前的root而不是/var/lib/lxc/<container>/rootfs。比如,容器中的进程访问/var与容器外进程访问/var其实是不同的/var, 容器中进程访问的实际是/var/lib/lxc/<container>/rootfs/var。换句话说,如果clone时不指定CLONE_NEWNS,这样当容器执行pivot_root时,会影响到容器之外的所有进程,容器外的所有进程的root目录都会被改变。

4为什么要选择LXC?

LXC是所谓的操作系统层次的虚拟化技术,与传统的HAL(硬件抽象层)层次的虚拟化技术相比有以下优势:

➤ 更小的虚拟化开销(LXC的诸多特性基本由内核特供,而内核实现这些特性只有极少的花费)。

➤ 快速部署。利用LXC来隔离特定应用,只需要安装LXC,即可使用LXC相关命令来创建并启动容器来为应用提供虚拟执行环境。传统的虚拟化技术则需要先创建虚拟机,然后安装系统,再部署应用。

LXC跟其他操作系统层次的虚拟化技术相比,最大的优势在于LXC被整合进内核,不用单独为内核打补丁。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
NCV7321D12R2G 1 onsemi LIN Transceiver, Stand-alone ESD Improved, 3000-REEL
$1.11 查看
KSZ8895RQXIA 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, PQFP128

ECAD模型

下载ECAD模型
$7.22 查看
KSZ8895RQXC 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下载ECAD模型
$5.09 查看

相关推荐

电子产业图谱

移动Labs是中国移动的社交化新媒体平台,是面向外部行业及产业链合作伙伴的信息发布、业务发展和产业推进门户。