扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
Linux-VServer(操作系统级虚拟化)
Linux-VServer 是一个操作系统级虚拟化解决方案。Linux-VServer 对 Linux 内核进行虚拟化,这样多个用户空间环境 —— 又称为 Virtual Private Server(VPS) —— 就可以单独运行,而不需要互相了解。Linux-VServer 通过修改 Linux 内核实现用户空间的隔离。
要将各个用户空间与其他用户空间隔离开来,就需要从上下文的概念入手。上下文 是给定 VPS 进程使用的一个容器,这样通过诸如 ps 之类的工具就可以了解 VPS 的进程。内核为最初的引导定义了一个缺省的上下文。另外管理端还能查看所有的上下文(所有的执行进程)。正如您可能猜到的那样,内核和内部数据结构也需要进行修改来支持这种虚拟化方法。
Linux-VServer 还使用了一种 chroot 格式来为每个 VPS 隔离 root 目录。虽然 chroot 允许指定新 root 目录,但还是需要其他一些功能(称为 Chroot-Barrier)来限制 VPS 脱离其隔离的 root 目录回到上级目录。给定一个隔离的 root 目录之后,每个 VPS 就可以拥有自己的用户列表和 root 密码。
2.4 和 2.6 版本的 Linux 内核支持 Linux-VServer,它可以运行于很多平台之上,包括 x86、x86-64、SPARC、MIPS、ARM 和 PowerPC。
OpenVZ(操作系统级虚拟化)
OpenVZ 是另外一个操作系统级的虚拟化解决方案,它与 Linux-VServer 类似,不过也有一些有趣的区别。OpenVZ 是一个支持虚拟化的内核(修改过的),可以支持用户空间隔离、VPS 和一组用户管理工具。例如,您可以简单地从命令行创建一个新的 VPS:
|
另外还可以使用 vzlist 命令显示目前创建的 VPS,该命令与标准 Linux ps 命令类似。为了对进程进行调度,OpenVZ 还包括了两级 CPU 调度器。首先,调度器确定哪个 VPS 应该获得 CPU。在这个步骤完成之后,第二级调度器会根据给定的标准 Linux 优先级挑选进程来执行。
OpenVZ 还包括了所谓的 beancounters。beancounter 包括很多参数,这些参数为给定的 VPS 定义了资源分配。这为 VPS 提供了一定层次上的控制,定义了有多少内存可用,有多少进程间通信(IPC)对象可用等。
OpenVZ 的一个特性是检查点功能和将 VPS 从一个物理服务器迁移到其他物理服务器上的能力。检查点 意味着正在运行的 VPS 的状态被冻结并存储到一个文件中。然后可以将这个文件迁移到一个新服务器上并加以还原以使 VPS 恢复运行。OpenVZ 支持很多硬件体系结构,包括 x86、x86-64 和 PowerPC。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者