在 DreamHost 看到新服務 Private Servers, 才知道有 Linux-VServer 這個好用的 virtual machine, 於是就拿來試試看.
以下範例環境為 Mandriva 2007.1
由於 Linux-VServer kernel level isolation 的 virtual machine, 效能比 VMware, Virtual PC 等軟體要好很多,
所以 Kernel 必需要 patch, Linux Kernel 2.6.22.29 + vs2.2.04
Patch 完後, 一些 VS 相關的 CONFIG 已經有開啟, 不需額外設置.
編完後使用新的 Kernel 開機
安裝所需的工具
urpmi --auto util-vserver
urpmi --auto util-vserver-build
會安裝 util-vserver* 的相關套件
使用 Guest Image, 這裡用 debian-3.1-i386-minimal.tar.gz
wget -O debian-3.1-i386-minimal.tar.gz http://lylix.net/component/option,com_remository/Itemid,304/func,download/id,21/chk,ad695f2687833170ce7b8f7010843fcc/
建立 virtual machine
vserver debian build -m template --hostname debian.pank.org --interface eth0:192.168.0.11/24 -- -t stage3-i586-20060317.tar.bz2
建立的方式有很多種, -m template 是使用 tarball 方式, 也就是上一步驟抓的 Guest Image, 也可以由現有的系統自己做.
啟動 virtual machine
vserver debian start
出現錯誤訊息 ncontext: vc_net_create(): Invalid argument
根據官網的 FAQ 作修正
echo 101 > /etc/vservers/debian/context
再啟動就可以了
進入 virtual machine
vserver debian enter
最後修改 Host 的 sshd_config, ListenAddress 必需指派 IP, 不能用 0.0.0.0,
如此才能順利連到 virtual machine 的 sshd (ref. 在 VServer 上安裝各種網路服務的注意事項)
因為 VServer 使用 chroot 機制, 會有一些限制.
一些資源, 像網路卡是和 Host 共用(MAC 一樣)