由於最近希望把一台舊Linux伺服器虛擬化,原本嘗試用Hyper-V Server,無奈對於Linux相容性太差,連新版的TrueImage boot cd都不能用,於是我改用XenServer。因為我希望有好用的管理工具,所以我是直接下載Citrix的XenServer免費版,需要每年手動更新一次授權。
在虛擬的Windows XP安裝Xen Tools後發現記憶體使用量變小,IO也很快。所以再把Linux丟上去後,發現不能在Kernel 2.4跑Xen Tools。於是我先升級Linux核心 2.4->2.6,確定沒問題後,再照著XenSource的官方文件。注意若原本是kernel 2.4,千萬要先升級為module-init-tools,否則重開機就掛了。
要編譯支援Xen的kernel,首先當然是取得Linux kernel source,早期的Linux需要另外下載xen patch,現在新的kernel都內建,所以我下載2.6.39.3,是目前最新的Stable。接下來要編譯:
參考資料:外行人編譯GCC、外行人升級Linux核心 2.4->2.6
在虛擬的Windows XP安裝Xen Tools後發現記憶體使用量變小,IO也很快。所以再把Linux丟上去後,發現不能在Kernel 2.4跑Xen Tools。於是我先升級Linux核心 2.4->2.6,確定沒問題後,再照著XenSource的官方文件。注意若原本是kernel 2.4,千萬要先升級為module-init-tools,否則重開機就掛了。
要編譯支援Xen的kernel,首先當然是取得Linux kernel source,早期的Linux需要另外下載xen patch,現在新的kernel都內建,所以我下載2.6.39.3,是目前最新的Stable。接下來要編譯:
$su -
#cd /usr/src
#wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.3.tar.bz2
#tar xjf linux-2.6.39.3.tar.bz2
#make menuconfig
- 根據官方文件,在32bit kernel必須啟用PAE(Processor type and features -> High Memory Support -> PAE (Physical Address Extension) Support->64GB),並且要設定CONFIG_HIGHPTE=n(Processor type and features -> High Resolution Timer Support->不要勾),否則會crash(應該就是kernel panic吧?),若編成64bit kernl就不用管這兩點。
- 再來要注意,一定要啟用ACPI support,否則就看不到Dom0。 Power Management and ACPI options -> ACPI Support。
- 接著是重點: Processor type and features -> Paravirtualized guest support -> Xen guest support
- 最後在 Device Drivers -> Xen driver support 底下,我是有關的全選啦 XD
#make bzImage modules modules_install install沒問題的話,重開機就OK了。
參考資料:外行人編譯GCC、外行人升級Linux核心 2.4->2.6
留言