概要
你可以在5dollarwhitebox.org找到一个更容易阅读的这个howto的版本 。
引自13thfloor.at/vserver/project:
Linux-VServer允许您创建像普通Linux服务器一样运行的虚拟专用服务器和安全上下文,但允许许多独立服务器以全速同时运行在一个盒子中。 所有的服务,如ssh,邮件,Web和数据库,都可以像这样的VPS一样在任何实际的服务器上进行修改。 每个虚拟服务器都有自己的用户帐户数据库和root密码,并且不会干扰其他虚拟服务器。
您可以在Linux-vserver的http://www.linux-vserver.org上找到演示文稿 。
要知道的两个主要术语是:
- 主机系统:这是“托管”客户机操作系统(虚拟服务器)的物理服务器。
- 访客系统:这些是在主机操作系统之上运行的虚拟服务器。
制备
开始安装新的Debian Sarge 3.1。 建议尽可能地保持主机系统的尽可能小(我很少看到任何运行任何SSH和iptables的原因)。
软件包安装
在安装软件之前,请务必更新您的apt数据库,并升级当前软件包:
#apt-get update && apt-get upgrade
那么我们需要安装几个基本软件包:
- util-vserver:用户界面实用程序来控制虚拟服务器
- ssh:这可能已经安装了
- ncurses-base和libncurses5-dev:编译内核时需要“make menuconfig”。
#apt-get install util-vserver ssh ncurses-base libncurses5-dev
文件
/ var / lib / vservers | vserver文件的主目录 |
/etc/vservers.conf | 基本的配置文件(不太可以看到) |
/ etc / vservers | 保留每个虚拟服务器的配置目录 |
/ usr / sbin / vserver | 用于交互,构建,启动,停止,输入等vserver的实用程序 |
/ bin / vshelper | 控制vserver功能的另一个实用工具 |
/ usr / lib / util-vserver | 主要脚本/功能等 |
内核
请,我没有做这个部分“Debian的方式”。 一切都是使用来自kernel.org的Vanilla内核完成的。 您可以在下面的用户评论中找到其他资源的良好链接。 获取最新的内核,目前linux-vserver最新的稳定版本是为2.6.12.4内核..这是我们得到的:
#cd / usr / src#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.12.4.tar.gz
从linux-vserver.org或13thfloor.at/vserver获取最新的内核补丁:
#tar -zxvf linux-2.6.12.4.tar.gz
#gunzip patch-2.6.12.4-vs2.0.diff.gz
#mv patch-2.6.12.4-vs2.0.diff /usr/src/linux-2.6.12.4
#修补内核源码:
#cd /usr/src/linux-2.6.12.4
#cat patch-2.6.12.4-vs2.0.diff | 补丁-p1
如果您已经在运行类似的2.6.x内核,则可以在构建之前复制当前的配置。 它应该在某个地方像“/boot/config-2.6.x”
最后一个命令只有当你想使用一个现有的配置...请不要试图使用一个2.4.X配置文件...很好。 ;)
好的,让我们这样做。 当我们编译时,你需要包含几件事情。 首先,首先,您需要为您的系统编写一个工作,并且我无法帮助您。 如果需要帮助编译内核,请参考链接 。
为了将来使用,您应该可以包括LVM(和dev-mapper支持)...,因为这对于虚拟服务器来说非常方便。
你看到一个类别为“Linux Vserver”。 默认选择应该是groovy,但是你应该有如下选择的东西:
启用Proc安全性
启用硬限制
酷...现在我们有我们的配置....让内核:
#make modules_install
#cp .config /boot/config-2.6.12.4-vs2.0
#cp System.map /boot/System.map-2.6.12.4-vs2.0
#cp arch / i386 / boot / bzImage /boot/vmlinuz-2.6.12.4-vs2.0
#mkinitrd -o /boot/initrd.img-2.6.12.4-vs2.0 2.6.12.4-vs2.0
然后我们将要更新我们的grub配置:
根(hd0,0)
kernel /vmlinuz-2.6.12.4-vs2.0 root = / dev / hda2 ro
initrd /initrd.img-2.6.12.4-vs2.0
保存失败
开机
在那里你有它 现在,我们应该能够重新启动,并为我们的新内核准备好一些虚拟服务器。
在启动后检查该内核,以确保我们正在运行新的内核:
2.6.12.4-vs2.0
很好!
设置虚拟服务器
在Debian主机上创建虚拟Debian服务器是一个荒谬的简单。 以下是为你而定:
#vserver <VSERVER_NAME> build \-n <VSERVER_NAME> \
--hostname <FQDN> \
--interface <NET_DEVICE>:<IP> / <CIDR> \
-m debootstrap - -d <DEBIAN_DISTRO>
因此,我们的第一个虚拟服务器将具有以下信息:
VSERVER_NAME | vserver1 |
FQDN | vserver1.mydomain.com |
NET_DEVICE | eth0 |
IP | 192.168.1.10 |
CIDR | 24 (255.255.255.0) |
DEBIAN_DISTRO | sarge |
因此,以下命令将创建它:
-n vserver1 \
--hostname vserver1.mydomain.com \
- 接口eth0:192.168.1.10/24 \
-m debootstrap - -d sarge
反斜杠“\”表示新行,但是您可以将其全部作为一个命令执行,而无需使用反斜杠。
在那里你去...安装开始一个debian net安装所选的发行版。 这不应超过几分钟。 在我的系统上,基本安装只占用144MB。 现在让我们看看我们有什么:
#ls -lah / var / lib / vservers / vserver1
总共80K
drwxr-xr-x 20 root root 4.0K Nov 10 08:17。
drwxr-xr-x 4根根4.0K Nov 10 08:13 ..
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 bin
drwxr-xr-x 2 root root 4.0K Dec 15 2004启动
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 dev
drwxr-xr-x 37根根4.0K Nov 10 08:17等
drwxrwsr-x 2根工作人员4.0K Dec 15 2004 home
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 initrd
drwxr-xr-x 7 root root 4.0K Nov 10 08:17 lib
drwxr-xr-x 2根根4.0K Nov 10 08:16 media
drwxr-xr-x 2 root root 4.0K Dec 15 2004 mnt
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 opt
drwxr-xr-x 2 root root 4.0K Dec 15 2004 proc
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 root
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 sbin
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 srv
drwxr-xr-x 2 root root 4.0K May 10 2005 sys
drwxrwxrwt 2 root root 4.0K Nov 10 08:17 tmp
drwxr-xr-x 11 root root 4.0K Nov 10 08:16 usr
drwxr-xr-x 13 root root 4.0K Nov 10 08:16 var #ls -lah / etc / vservers / vserver1
共28K
drwxr-xr-x 5 root root 4.0K Nov 10 08:13。
drwxr-xr-x 6根根4.0K Nov 10 08:13 ..
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 apps
-rw-r - r-- 1根根112 Nov 10 08:13 fstab
drwxr-xr-x 3根根4.0K Nov 10 08:13接口
-rw-r - r-- 1 root root 5 Nov 10 08:13 name
lrwxrwxrwx 1 root root 22 Nov 10 08:13 run - > / var / run / vservers / vserver1
drwxr-xr-x 2 root root 4.0K Nov 10 08:13 uts
lrwxrwxrwx 1 root root 37 Nov 10 08:13 vdir - > /etc/vservers/.defaults/vdirbase/vserver1
现在我们已经安装了vserver,让我们启动它。 'vserver'命令的语法是:
对于我们的vserver1 :
启动内核日志守护进程:klogd。
启动MTA:exim4。
启动Internet overerserver:inetd。
启动延期执行调度程序:atd。
启动定期命令调度程序:cron
... #vserver-stat
CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
0 35 73.4M 5.4K 0m05s21 0m02s33 1m13s00根服务器
49152 5 11M 967 0m00s00 0m00s00 0m30s52 vserver1
#vserver vserver1输入
vserver1:/#
而现在你正处于虚拟服务器的上下文中。 要退出主机系统,只需键入“退出”即可。
配置注意事项
您首先需要运行“apt-setup”并配置与任何其他debian系统相同的apt。 debian bootstrap安装是一个非常小的基本安装。 您将需要安装所需的所有内容。
应该提到每个虚拟服务器都有自己的IP地址。 然而,由于这些IP被配置为实际的网络设备(即eth0)的别名,他们都在同一物理设备上监听。 当默认配置在所有接口上指定为“Listen”时,这可能会造成问题。 vserver中的每个服务都必须指定Listen Address。
例如:
SSH:
#apt-get install sshd#vi / etc / ssh / sshd_config
换行:
至
和...
其余的是真正的你的想象力,并找出无证的开源的奇迹...玩得开心!
BJ Dierkes,RHCE-LPIC1
wdierkes [at] 5dollarwhitebox [dot] org
德州,美国