Article ID: 1089, created on Jun 10, 2011, last review on Apr 30, 2014

  • Applies to:
  • Virtuozzo containers for Linux 4.0
  • Virtuozzo for Linux 3.x

警告

本文只适用于Linux上的Parallels Virtuozzo Containers3.04.0
Parallels Container 4.6的service container​只有一个进程,需要启用离线管理,本文不适用于4.6版本。
可以在Parallels Containers4.6主机中重装PVA Agent 来代替重建service container。
更多详情,请参阅这些文章:

6965Service Container 只有单个'init' 进程
9445How to install/reinstall/upgrade to PVA 4.6 Agent on a PVC 4.x for Linux HW Node

解决方案

假使您正在使用Parallels Infrastructure Manager(PIM),请确保您已经做了PIM的最新备份,如这篇文章所述How to backup and restore Parallels Infrastructure Manager.
您可以在Parallels Virtuozzo Container硬件节点上使用工具“vzsveinstall”来创建Service Container:

# vzsveinstall -D DISTRIB_DIR -s SERVICE_CT_IP

- DISTRIB_DIR – 服务器上virtuozzo软件包的路径. 例如,如果virtuozzo软件包放置在/root/Rel400 则DISTRIB_DIR 就是/root/Rel400/;
- SERVICE_CT_IP – 要分配给Service Container的IP地址;

如果你已经下载Virtuozzo安装文件(以64-bit PVC 4.0为例)Virtuozzo- 4.0.0- ${build_version} - x86_64.sfx,请以下列方式提取它:

# mkdir -p /vz/full_distr
# bash /path/to/virtuozzo-4.0.0-${build_version}-x86_64.sfx -d /vz/full_distr --extract

使用如下命令创建Service Container(确保旧的Service Container #1不存在)

# vzsveinstall -v -D /vz/full_distr -s SERVICE_CT_IP

请参考man vzsveinstall页面来获得额外的信息。

请注意,创建Service Container前,操作系统模板'redhat - as3-minimal必须安装并缓存在硬件节点上。如果节点上没有模板,请执行下列步骤:
- 安装操作系统模板“redhat - as3-minimal”,相应的RPM包位于virtuozzo安装包的Virtuozzo/ SVE目录下(在Virtuozzo3.x中是文件夹'HW/ SVE');
- 在节点上使用vzpkgcache命令来cache操作系统模板。
重建service container前,请确保您的硬件节点上安装有最新版本的OS模板“redhat-as3-minimal”,例如:

# vzpkgls | grep minimal

最新版本的'minimal' OS template 如下:

Virtuozzo 3.0: 20050622
Parallels Virtuozzo Containers 4.0: 20080630


你可以运行'vzup2date'来更新您的节点。若手动更新请在/ vz/vzup2date目录查找“minimal”模板,并使用命令“rpm –Uhv path_to_minimal_template_rpm_package”安装,例如:对于64位PVC 4.0:

# rpm -Uhv /vz/vzup2date/4.0.0/TU-4.0.0-438/redhat-as3-minimal-x86_64-p5nfs-tmpl-4.0.1-3.swsoft.x86_64.rpm

如果Virtuozzo服务器已经更新到最新(使用'vzup2date'工具或手动更新),那么您需要同时将所需更新应用到service container中。由'vzup2date'工具下载的更新通常位于/ vz/vzup2date/3.0.0/TU-3.0.0-*目录。你可以使用'vzsveupgrade'工具将它们应用到Service Container中,使用如下两条命令:

# find /vz/vzup2date/virtuozzo -path "*/$(awk '{gsub(/-.*$/,"",$NF);print $NF}' /etc/virtuozzo-release)/*/virtuozzo-tools*$(uname -i)*" -printf "%h\n" |sort -u |xargs -rn1 vzsveupgrade -d

# find /vz/vzup2date/pim -path "*/$(awk '{gsub(/-.*$/,"",$NF);print $NF}' /etc/virtuozzo-release)/*/virtuozzo-tools*$(uname -i)*" -printf "%h\n" |sort -u |xargs -rn1 vzsveupgrade -d

 
如果要重建service container,那么您需要使用命令'vzctl destroy 1'删除现有的(container必须处于停止状态),然后重头开始创建并如上述应用可用的更新。
操作的要点是使程序包'vzagent-opcontrol'(节点上)和'vzagent-srvcontrol'(service container中)保持相同的版本/更新:

# rpm -q vzagent-opcontrol; vzctl exec 1 rpm -q vzagent-srvcontrol

Virtuozzo 3.0的示例输出如下:

vzagent-opcontrol-3.0.0-21.2.swsoft
vzagent-srvcontrol-3.0.0-21.2.swsoft


Parallels Virtuozzo Container 4.0的示例输出如下:

vzagent-opcontrol-4.0.0-483.swsoft
vzagent-srvcontrol-4.0.0-483.swsoft

额外信息

更多的获得完整版本的信息请参考如下这篇文章:

10043 怎么下载Parallels Container for Linux的完整版本。

9b9439294978ca011521bd467a069524 d02f9caf3e11b191a38179103495106f e8e50b42231236b82df27684e7ec0beb 35c16f1fded8e42577cb3df16429c57a 2897d76d56d2010f4e3a28f864d69223

Email subscription for changes to this article