使用Jail虚拟多个服务器主机

发表于:2007-06-09来源:作者:点击数: 标签:
使用Jail虚拟多个 服务器 主机 HD 使用FreeBSD已经很多年了,这么久FreeBSD总是在不断的给我惊喜。就如这里我们所要谈到的Jail,正是FreeBSD在4.x版本中开始提供的一个真正虚拟“主机”的服务。Jail就如许多小型机服务器一样,它使我们需要先安装一个宿主操作
使用Jail虚拟多个服务器主机 HD < hd at cnfug.org > 使用FreeBSD已经很多年了,这么久FreeBSD总是在不断的给我惊喜。就如这里我们所要谈到的Jail,正是FreeBSD在4.x版本中开始提供的一个真正虚拟“主机”的服务。Jail就如许多小型机服务器一样,它使我们需要先安装一个宿主操作系统,其它的所有运行的操作系统都安装于这个宿主操作系统平台之上。 本文主要针对FreeBSD 5.0来讲述jail的使用,由于FreeBSD 5.0比4.x有了不少改变,所以你如果在4.x上使用jail哪么你可能需要仔细查查相关资料了。也可以联系本文作者 hd@huangdong.com 讨论

使用Jail虚拟多个服务器主机 HD < hd at cnfug.org > 使用FreeBSD已经很多年了,这么久FreeBSD总是在不断的给我惊喜。就如这里我们所要谈到的Jail,正是FreeBSD在4.x版本中开始提供的一个真正虚拟“主机”的服务。Jail就如许多小型机服务器一样,它使我们需要先安装一个宿主操作系统,其它的所有运行的操作系统都安装于这个宿主操作系统平台之上。 本文主要针对FreeBSD 5.0来讲述jail的使用,由于FreeBSD 5.0比4.x有了不少改变,所以你如果在4.x上使用jail哪么你可能需要仔细查查相关资料了。也可以联系本文作者 hd@huangdong.com 讨论。 1. 漫长的准备 1.1. make world 首先你需要准备一个“原始”的操作系统,原理很简单,就是使用make world的功能来生成一份新的,但是安装目标路径不是/的完整的操作系统。这步工作会用很久的时间,大家要有一个思想准备,在我的P III 450/128M的笔记本上用了近4个小时。 我的安装目标路径是/home/jail/hdtest,如果你需要将你的虚拟主机放在别的路径,哪么你需要改变这个路径。 mkdir –p /home/jail/hdtest cd /usr/src make world DESTDIR=/home/jail/hdtest 如果你之前已经make world过,哪么这里可以使用以下命令,可以让你的make world的速度快一些: make installworld DESTDIR=/home/jail/hdtest cd etc make distribution DESTDIR=/home/jail/hdtest 1.2. 启动前的准备 为了新的系统的配置最好给它安装一个sysinstall,这样可以通过它来方便的初始化配置系统的各项参数。其实这是一个option,如果你熟悉也可以直接生成配置文件。 mkdir /home/jail/hdtest/stand cp /stand/sysinstall /home/jail/hdtest/stand/ cp /etc/resolv.conf /home/jail/hdtest/etc touch /home/jail/hdtest/etc/fstab 还有就是你需要为vhost准备一个IP地址,这是我在/etc/rc.conf中的设置: ifconfig_fxp0_alias0="inet 192.168.10.60 netmask 255.255.255.255" 2. 进入虚拟世界 2.1. 启动jail的shell 我们需要先得到一个jail的shell来配置这个vhost中的配置文件。 jail /home/jail/hdtest jail.huangdong.com 192.168.10.60 /bin/sh 这里jail.huangdong.com是你的hostname,192.168.10.60是你的ip地址,这个ip地址应该已经使用alias参数绑定在你的网卡上。最后的/bin/sh是进去后运行的shell。 2.2. 系统配置 其实对于vhost中的配置与你初安装一台服务器的配置差不多。不过对于网络的设置可以不用再做的了。进入sysinstall中的config,依次对下进行设置(我的习惯,仅供参考):  Console  Time Zone(一定要设置哟,好些东东用它的)  Network中的设置  inetd  sendmail  Startup 再就是配置你的/etc/ssh/sshd.conf,将ListenAddress设置成为vhost的IP地址。注意了,在这时还没有真正的启动vhost的系统,你只是使用了它的一个shell而已。 2.3. 启动系统 先是需要你mount一 个procfs的mount point到vhost中。 mount -t procfs proc /home/jail/test/proc 我们来启动这个vhost。 jail /home/jail/test jail.huangdong.com 192.168.10.60 /bin/sh /etc/rc 接下来就可以看到一系列的启动信息出现了。

原文转自:http://www.ltesting.net