[[PageOutline]] = 【安裝設定類問題】 = * 從 source 安裝 Xen 需要的依賴套件 (Debian) {{{ apt-get install make gcc libc6-dev zlib1g-dev python python-dev python-twisted bridge-utils iproute libcurl3 libcurl3-dev bzip2 module-init-tools transfig tgif libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev bcc bin86 gawk pciutils-dev mercurial build-essential }}} * Xen Kernel 安裝後,無法進入 gdm (桌面環境) * 原因:Framebuffer 沒有足夠的記憶體空間 (could not mmap framebuffer) * 解法:在 grum menu 加上 mem=900mb 留下100mb給framebuffer [[BR]] = 【dmoU相關問題】 = * 情境 ssh 登入到 dmoU * 訊息: PTY allocation request failed on channel 0[[BR]]stdin: is not a tty * 解法:需安裝udev * Guest meet Error: 4gb seg fixup, process getty {{{ domU: $ aptitude install libc6-xen }}} * Dom0 meet Error: Device 769 (vbd) could not be connected. (Creat more than 4 machine, must designate loop number. Because Xen mount vbd as loop device) {{{ $ vim /etc/modules loop max_loop=64 }}} * Guest 開機到 Starting periodic command scheduler: crond. 就卡住 * 原因:guest 沒有 get tty * 解法:設定檔加上 extra = 'console=hvc0 xencons=tty' * Guest 設定檔加上 dhcp 時,Kenrel 載入玩後會一直卡在跟 DHCP 要 IP 的階段 (Kernel 用 2.6.22.9 會有此情況,若是改用其他 Kernel 的則無此情況,猜測是編譯 Kernel 時打開了 CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y 的功能,所以 * 原因:在此的 DHCP 是為了使用 NFSRoot * 解法: 1. 註解掉此行 # dhcp = 'dhcp',等到 kernel 載入後,系統開完機後,系統會在跟 dhcp server 要IP 2. 編譯 Kernel 關閉 IP_PNP=n * clocksource/0: Time went backwards * In your dom0 and domU /etc/sysctl.conf add the line: xen.independent_wallclock=1. On the dom0, edit the configuration file of the domU (e.g. /etc/xen/foobar.cfg and add (or expand) the extra-line: extra="clocksource=jiffies". * 時區問題 * cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime [[BR]] = 【Lustre 相關問題】 = * Xen & Lustre 的DRBL環境: * DRBL Server -> xen[[BR]] * DRBL Client -> xen01, xen02 (Xen,Luster enabled Kernel) 1. DRBL Client在開機過程中會額外產生veth0, veth1, veth2, veth3, vif0.1, vif0.2, vif0.3裝置,似乎是Xen的問題,此外在啟動xend服務時,會出現一些在DRBL Server Xen沒有的訊息。 2. DRBL Client虛擬的VM,網路無法連接到外面,可能是drbl的環境或是開機時產生的那些網路設備影響,有待進一步追蹤。 * 已找到問題所在,Xen 3.1版本會使用Xen自身的netloop的,當DRBL Client開機時,在udhcp啟動前會根據netloop的數量抓到多餘的veth和vif裝置,解決方法可在kernel command時加上netloop.nloopbacks=0或是將其編譯成module