开源Linux容器 OpenVZ 快速上手指南

  • Linux 容器及OpenVZ 简介
  • OpenVZ 安装
    • 安装内核镜像
    • 配置sysctl 以及安装相关工具
    • 重启至OpenVZ 内核
  • 简单上手
    • 下载预先准备的模板也可以称作镜像
    • 创建以及配置容器信息
    • 开始运行以及使用

Linux 容器及OpenVZ 简介

Linux 容器(Linux Container,LXC)是一种轻量级的虚拟运行环境,它与传统的虚拟机方

式不同。传统的虚拟机需要对硬件作出抽象并提供了一个完整的操作系统,而LXC 不同的

地方就是,多个容器都与系统共用一套内核机制,而容器中提供的只是运行环境需要的文件

系统、虚拟网络等。

具体的架构如图所示:

如图中所示,本文要介绍的OpenVZ 是一种容器的实现方式。还有其他的一些容器,如LXC tool (这个工具可以用于创建LXC 运行环境,Docker 可以说就是基于LXC tool的),本博客会在后续相继深入分析。

OpenVZ 对于容器技术实践较早,内核中用于实现LXC 的很多机制也都出自他们之手,目前OpenVZ 的众多特性都基于RHEL6 内核(内核版本为2.6.32)进行修改,而且其中一部分新特性并未加入主流内核,所以建议使用OpenVZ 的内核以达到更好的容器特性,如隔离性、快照等。

OpenVZ 安装

Debian7(wheezy) 版本默认不支持OpenVZ(不知是因为内核版本问题,亦或一些其他问题)

,但是OpenVZ 团队添加了对Debian7 的支持,我们可以通过安装他们提供的Linux 内核镜

像完成安装,参考[1][3]

1. 安装内核镜像

如前面所属,在Debian7 上需要专门安装OpenVZ 提供的内核镜像才可以完整支持OpenVZ,方法如下:

1.1 添加源并更新(下文操作都需要root 权限)

`# cat << EOF > /etc/apt/sources.list.d/openvz.list
 deb http://download.openvz.org/debian wheezy main
 deb http://download.openvz.org/debian wheezy-test main
 EOF
 # apt-get update`

1.2 安装内核镜像

`# apt-get install linux-image-openvz-amd64
 # apt-get install linux-image-openvz-686    (如果您仍然使用32位系统)`

2. 配置sysctl 以及安装相关工具

OpenVZ 内核镜像安装完毕,在重启之前还需要如下配置

2.1 有一些内核参数需要配置以保证OpenVZ 的正常运行,配置文件为”/etc/sysctl.conf”

# On Hardware Node we generally need

# packet forwarding enabled and proxy arp disabled

net.ipv4.ip_forward = 1

net.ipv6.conf.default.forwarding = 1

net.ipv6.conf.all.forwarding = 1

net.ipv4.conf.default.proxy_arp = 0

# Enables source route verification

net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key

kernel.sysrq = 1

# We do not want all our interfaces to send redirects

net.ipv4.conf.default.send_redirects = 1

net.ipv4.conf.all.send_redirects = 0

2.2 需要安装一些用户空间的工具

# apt-get install vzctl vzquota ploop vzstats

3. 重启至OpenVZ 内核

配置以及相关软件安装完毕,需要重启内核至OpenVZ 的内核

简单上手

对于这样一个可以提供完整系统运行环境的Linux 容器,当然得把玩把玩,快快坐好体验一下吧。更多参考[2][4]

1. 下载预先准备的模板(也可以称作镜像)

1.1 从官方网站下载你需要的模板[5][6]

1.2 将下载好的模板移动到需要的路径下

# mv ubuntu-14.04-x86.tar.gz /var/lib/vz/template/cache/

2. 创建以及配置容器信息

# vzctl create CTID --ostemplate osname

# vzctl set CTID --hostname test --save

# vzctl set CTID --ipadd a.b.c.d --save

# vzctl set CTID --nameserver a.b.c.d --save

如:

# vzctl create 111 --ostemplate ubuntu-14.04-x86

# vzctl set 111 --hostname ubuntu --save

# vzctl set 111 --ipadd 192.168.2.233 --save

# vzctl set 111 --nameserver 202.201.0.131 --save

3. 开始运行以及使用

# vzctl start CTID

# vzctl exec CTID ps ax # Now the container is running!

# vzctl enter CTID

entered into container CTID

[container]# ...

[container]# exit

exited from container VEID

# vzctl stop CTID

# vzctl destroy CTID

如:

# vzctl start 111

# vzctl enter 111

[container]# do something (default is root)

[container]# exit

# vzctl stop 111



[1] https://wiki.openvz.org/Installation_on_Debian

http://openvz.livejournal.com/45345.html

[2] https://wiki.openvz.org/Basic_operations_in_OpenVZ_environment

[3] http://download.openvz.org/doc/openvz-intro.pdf

[4] http://download.openvz.org/doc/OpenVZ-Users-Guide.pdf

[5] http://download.openvz.org/template/precreated/

[6] http://openvz.org/Download/template/precreated

时间: 2024-10-27 18:21:52

开源Linux容器 OpenVZ 快速上手指南的相关文章

Rancher 快速上手指南操作(1)

Rancher 快速上手指南操作(1)该指南知道用户如何快速的部署Rancher Server 管理容器.前提是假设你的机器已经安装好docker了.1 确认 docker 的版本,下面是 ubuntu 的输出 [#63#[email protected] ~]$sudo docker version [sudo] password for cloudsoar: Client: Version:      1.9.1 API version:  1.21 Go version:   go1.4.

DPDK快速上手指南(18.02)

DPDK快速上手(linux) 本文档主要来自linux_gsg-18.02.pdf的翻译,翻译肯定有不妥之处,请批评指正,我会随后修改,不胜感激. 1. 介绍 本文档包含有关DPDK(Data Plane Development Kit的缩写)软件的安装和配置的说明,目的就是让用户快速用起来.本文档描述怎样在linux应用环境下编译和运行一个DPDK应用程序,而不过多深入细节. 1.1文档路线图 以下是针对所有DPDK文档建议的阅读顺序: 发布说明(Release Notes):提供具体的发布

UnityShader快速上手指南(三)

简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明) 裁剪 代码 Shader "LT/Lesson3_Cull" { Properties { _Color ("Color", Color) = (1, 1, 1, 1) } SubShader { Pass { Cull Off CGPROGRAM #pragma

Mac快速上手指南

上周刚入手了2017版MacBookPro,预装macOS High Sierra.第一次接触Mac系统,经过一周的使用,简单总结下与Windows相比最常用的功能,快速上手. 1.Mac键盘实现Home.End.Page UP.Page DOWN这几个键 macbookpro键盘没有Home.End.Page UP.Page DOWN这几个键,不过,平时浏览网页.文档还需要的: Home键=Fn+左方向 End键=Fn+右方向 PageUP=Fn+上方向 PageDOWN=Fn+下方向 2.D

Android快速上手指南(WIP)

JNI是java调用C/C++的一种封装技术,由JVM负责处理真实的JNI call. Java官方的文档 http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html Android平台的 http://developer.android.com/training/articles/perf-jni.html 快速上手的代码范例: https://android.googlesource.com/pl

UnityShader快速上手指南(二)

简介 前一篇介绍了如果编写最基本的shader,接下来本文将会简单的深入一下,我们先来看下效果吧 呃,gif效果不好,实际效果是很平滑的动态过渡 实现思路 1.首先我们要实现一个彩色方块 2.让色彩动起来 over 实现一个RGB CUBE 先看代码吧: Shader "LT/Lesson2" { Properties { _OffsetX ("Offset X", Range (-1.5, 1.5) ) = 0 _OffsetY ("Offset Y&q

转载:在 ASP.NET 環境下使用 Memcached 快速上手指南

之前一直想研究 Memcached,這幾天花了些時間研究Memcached Providers 好讓我現有的 ASP.NET 專案能解決多台主機間快取不同步的狀況, 想不到花沒多少時間就上手了,也因此做了一些記錄. 安裝 Memcached (ver 1.4.4) for Win32 1. 下載 memcached 1.4.4 Windows 32-bit binary 或 memcached Windows 64-bit pre-release 2. 在 C:\Program Files 建立

Supervisor快速上手指南(转)

原文:http://maemual.me/index.php/archives/8/ Supervisor是一个进程控制程序.用于监控管理你需要的程序. 当你有一个程序,需要长期在后台运行,并且希望能够在这个程序崩溃之后自动重新启动的时候,你就需要Supervisor了. 安装 sudo apt-get install supervisor 配置 Supervisor的配置文件在/etc/supervisor/supervisor.conf.但是通常我们并不需要修改Supervisor的配置文件

webpack构建工具快速上手指南

最近在研究react项目,接触到webpack打包工具.刚接触的时候一脸茫然,经过最近的学习,下面我来带大家开启webpack入门之旅. webpack是什么 webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).样式(含less/sass).图片等都作为模块来使用和处理.当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成少量的 bundle - 通常只