Xen:使用虛擬 Linux 來測試應用程序

marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90">
     
Xen 是可用於 Linux™ 內核的一種虛擬化技術,讓您可以像在現有環境中一樣安裝並測試新的升級,而不必擔心破壞原有的系統。作者將向您介紹如何使用 Fedora Core 安裝 Xen,不過,安裝之後,在任何發行版本上的 Xen 中,所有程序運轉起來都是相同的。瞭解 Linux 上的虛擬化,知道具有一個用於測試新軟件的沙盒的好處,並練習在同一臺 Linux 機器上運行多個虛擬機。
隨着對現有軟件的改進和 bug 修復,開源世界的變化永無止境。要保持軟件總是升級到最新,這可能得作爲一份專職的工作。升級軟件最難處理的問題之一是:您永遠不會真正知道升級完成後應用程序是否還能夠工作。大部分軟件打包系統都具備回滾功能,但通常只有這項功能還不夠;理想情況下,您應該去測試這些新的升級,並在一個不會破壞任何東西的環境中去嘗試它們。
就像玩耍的小孩子一樣,您希望擁有一個屬於自己的沙盒,在那裏您可以隨意做任何事情。
通常通過 虛擬化(Virtualization)(或者“沙盒(sandbox)”)將同一硬件上的應用程序和系統彼此隔離開來。從硬件模擬到完全硬件虛擬化,Linux 支持很多種不同形式的虛擬化。在不斷增加的虛擬化技術列表中,Xen 是近來最引人注目的技術之一,它由劍橋大學開發。Xen 值得您關注,因爲它具有空前的性能與安全性。
 
Xen 是在劍橋大學作爲一個研究項目被開發出來的,它已經在開源社區中得到了極大的推動。Xen 是一款 半虛擬化(paravirtualizing) VMM(虛擬機監視器,Virtual Machine Monitor),這表示,爲了調用系統管理程序,要有選擇地修改操作系統,然而卻不需要修改操作系統上運行的應用程序。雖然 VMWare 等其他虛擬化系統實現了完全的虛擬化(它們不必修改使用中的操作系統),但它們仍需要進行實時的機器代碼翻譯,這會影響性能。
由於 Xen 需要修改操作系統,所以您不能直接讓當前的 Linux 內核在 Xen 系統管理程序中運行,除非它已經移植到了 Xen 架構。不過,如果當前系統可以使用新的已經移植到 Xen 架構的 Linux 內核,那麼您就可以不加修改地運行現有的系統。
檢查您的發行版本 —— 如果它不在這個列表中,那麼您可能只能直接使用源代碼。除了安裝過程特定於發行版本之外,在任何發行版本上,Xen 中的所有工作都是相同的。
儘管軟件包只是在最近纔開始進行開發,但 Fedora 已經爲大量 Xen 用戶所使用。由於有很多人嘗試在 Fedora 上使用 Xen,所以您可能成功地獲得大量的在線幫助。
首先,爲基礎機器(base machine)進行最簡化的服務器安裝。這臺基礎機器是您的系統管理程序,將不會運行任何服務器應用程序。您將可以在運行於此機器之上的 Xen 服務器中安裝所需要的軟件包,所以現在不需要安裝想要運行的應用程序。
系統開始運行後,您應該將其更新到 Fedora 的最新開發版本(稱爲 rawhide)。要完成此任務,請遍歷 /etc/yum.repos.d/ 目錄中的元素,將除了 fedora-devel.repo 以外的所有元素都改爲 enabled=0;將 fedora-devel.repo 改爲 enabled=1。
建立了 yum 儲存庫(repository)後,需要將機器更新到 rawhide,以便您可以開始使用最新發布的 Xen。
 
                                  
yum update
 
yum install xen kernel-xen0 kernel-xenU
然後,創建一個將要使用的虛擬文件系統。
 
                                  
mkdir -p /xen/base
dd if=/dev/zero of=/root/base.img bs=1M count=1 seek=1024
mkfs.ext3 /root/base.img
mount -o loop /root/base.img /xen/base
格式化並掛載 Xen 服務器文件系統之後,下一個步驟是安裝必要的軟件包,以便在這些軟件包上運行某些程序。爲了在 Xen 服務器上運行一個 Web 服務器,您應該安裝一組 Web-server 軟件包。(警告: 這將需要一段時間!您可以先運行 yum,然後出去散散步。)
 
                                  
yum --installroot=/xen/base -y groupinstall web-server /
                 --enablerepo=base --disablerepo=development
(現在應該去散步了。)
現在已經安裝了所有需要的軟件包,不過您應該去查看一個簡單的 fstab 文件,這個文件會告知 Xen 服務器它們將要獲得根(root)設備 sda1,將該設備作爲根。根設備實際上是來自系統管理程序的一個虛擬的設備,但您的服務器不會知道這一點。
 
                                  
/dev/sda1                 /                ext3     defaults 1 1
none                      /dev/pts devpts gid=5,mode=620    0 0
none                    /dev/shm        tmpfs   defaults     0 0
none                    /proc           proc    defaults     0 0
none                    /sys            sysfs   defaults     0 0
將這個文件寫入 /xen/base/etc/fstab。如果不是標準的 Fedora 安裝,那麼不會爲您創建任何 fstab。預計 Fedora 的未來版本會包含處理此問題的工具。
最後,爲了讓系統正確地運行,您應該做一些處理。目前,Xen 使用 initrd 時仍然存在問題,所以,如果想要啓動系統,則需要爲自己創建一些設備代碼。然後,爲了讓程序平穩運行,刪除 TLS 程序庫會有所幫助,因爲目前它們與 Xen 衝突很嚴重。完成這個步驟後,可以卸載這個文件系統。
 
                                  
for i in console null zero ; do MAKEDEV -d /xen/base/dev -x $i ; done
 
mv /lib/tls /lib/tls.disabled
mv /xen/base/lib/tls /xeb/base/lib/tls.disabled
 
umount /xen/base/
運行 Xen
既然已經細心地手工建立起了客戶系統,那麼您現在就可以真正重新啓動機器,開始使用 Xen 內核。您可能將會看到比平時多得多的打印輸出,並且您還會看到關於 TLS 程序庫(上一節中您刪除的那個會出問題的程序庫)的可怕的消息。
Xen 要求爲運行的每個服務器準備配置文件。儘管您可以爲所有服務器創建一個惟一的動態配置文件,但我還是建議您創建兩個靜態的配置文件,各用一個。如您所見,磁盤標籤告訴服務器您的文件映像是 sda1 設備。也指定了您所使用的 xenU 內核,以及服務器客戶將要獲得的內存。
 
                                  
                                   /etc/xen/base
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "BaseServer"
nics = 1
disk = ['file:/root/base.img,sda1,w']
root = "/dev/sda1 ro"
 
/etc/xen/test
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "TestServer"
nics = 1
disk = ['file:/root/test.img,sda1,w']
root = "/dev/sda1 ro"
要啓動並運行服務器,首先要使用命令 xend start 啓動 Xen 服務,然後使用命令 xm create base 通過基本配置文件創建 BaseServer。通過這些步驟,您將進入 Xen 客戶系統中,可以看到該系統已經啓動起來。不論何時,如果您想跳出客戶系統控制檯,那麼按下 Ctrl-] 組合鍵就可以直接返回到系統管理程序控制臺。
使用 Xen
現在您已經用了一些時間來編輯配置,並建立了運行兩個 Xen 服務器的系統。所有這些艱苦的工作完成後,接下來做什麼?
現在您擁有了一個系統的兩個副本,它們運行相同內核,在同一臺機器上被虛擬化。如果 BaseServer 代表的是您希望正常運行 Web 服務的穩定環境,那麼 TestServer 代表的就是 Fedora rawhide 所提供的最新軟件更新。您可以隨意保持對 TestServer 系統的升級,嘗試所有新版本的軟件更新 —— 當您認爲它足夠穩定時,可以將 TestServer 作爲 BaseServer 來運行。
設置 BaseServer
BaseServer
運行時,是修改將要運行的 httpd 服務的配置的好時機。您應該將 ssl.conf 文件移出 /etc/httpd/conf.d/ 目錄,以此來停用 ssl;否則,您將需要爲服務器生成證書。另外,可能需要向系統添加一個 apache 用戶。
Xen 系統管理程序已經自動提供了一個可以使用的虛擬網絡設備。如果您可以在這個設備上運行 dhcp,那麼只需要執行 dhclient eth0,BaseServer 就會獲得 IP 地址。
設置 TestServer
設置了 BaseServer 的配置之後,在 BaseServer 控制檯中執行 poweroff 以關閉該實例。如果您已經從 BaseServer 註銷,那麼可以使用 xm console BaseServer 重新進入它。
現在,通過 cp /root/base.img /root/test.img 複製基礎映像,以便獲得同一文件系統的副本。當運行 xm create -c test 時,它會運行與 BaseServer 相同的服務器,但是它的名稱是 TestServer。登錄到 TestServer,然後像您在 安裝 Xen那一節中所做的那樣啓用 rawhide 支持,然後運行 yum update。
TestServer 實例擁有與 BaseServer 完全相同的配置,但是您已經升級到了 Fedora rawhide 所必須具備的最新的軟件包。在此,您可以查看 Web 站點是否仍然可用。
 
 
 
 
 
 


     
Xen 是可用於 Linux™ 內核的一種虛擬化技術,讓您可以像在現有環境中一樣安裝並測試新的升級,而不必擔心破壞原有的系統。作者將向您介紹如何使用 Fedora Core 安裝 Xen,不過,安裝之後,在任何發行版本上的 Xen 中,所有程序運轉起來都是相同的。瞭解 Linux 上的虛擬化,知道具有一個用於測試新軟件的沙盒的好處,並練習在同一臺 Linux 機器上運行多個虛擬機。
隨着對現有軟件的改進和 bug 修復,開源世界的變化永無止境。要保持軟件總是升級到最新,這可能得作爲一份專職的工作。升級軟件最難處理的問題之一是:您永遠不會真正知道升級完成後應用程序是否還能夠工作。大部分軟件打包系統都具備回滾功能,但通常只有這項功能還不夠;理想情況下,您應該去測試這些新的升級,並在一個不會破壞任何東西的環境中去嘗試它們。
就像玩耍的小孩子一樣,您希望擁有一個屬於自己的沙盒,在那裏您可以隨意做任何事情。
通常通過 虛擬化(Virtualization)(或者“沙盒(sandbox)”)將同一硬件上的應用程序和系統彼此隔離開來。從硬件模擬到完全硬件虛擬化,Linux 支持很多種不同形式的虛擬化。在不斷增加的虛擬化技術列表中,Xen 是近來最引人注目的技術之一,它由劍橋大學開發。Xen 值得您關注,因爲它具有空前的性能與安全性。
 
Xen 是在劍橋大學作爲一個研究項目被開發出來的,它已經在開源社區中得到了極大的推動。Xen 是一款 半虛擬化(paravirtualizing) VMM(虛擬機監視器,Virtual Machine Monitor),這表示,爲了調用系統管理程序,要有選擇地修改操作系統,然而卻不需要修改操作系統上運行的應用程序。雖然 VMWare 等其他虛擬化系統實現了完全的虛擬化(它們不必修改使用中的操作系統),但它們仍需要進行實時的機器代碼翻譯,這會影響性能。
由於 Xen 需要修改操作系統,所以您不能直接讓當前的 Linux 內核在 Xen 系統管理程序中運行,除非它已經移植到了 Xen 架構。不過,如果當前系統可以使用新的已經移植到 Xen 架構的 Linux 內核,那麼您就可以不加修改地運行現有的系統。
檢查您的發行版本 —— 如果它不在這個列表中,那麼您可能只能直接使用源代碼。除了安裝過程特定於發行版本之外,在任何發行版本上,Xen 中的所有工作都是相同的。
儘管軟件包只是在最近纔開始進行開發,但 Fedora 已經爲大量 Xen 用戶所使用。由於有很多人嘗試在 Fedora 上使用 Xen,所以您可能成功地獲得大量的在線幫助。
首先,爲基礎機器(base machine)進行最簡化的服務器安裝。這臺基礎機器是您的系統管理程序,將不會運行任何服務器應用程序。您將可以在運行於此機器之上的 Xen 服務器中安裝所需要的軟件包,所以現在不需要安裝想要運行的應用程序。
系統開始運行後,您應該將其更新到 Fedora 的最新開發版本(稱爲 rawhide)。要完成此任務,請遍歷 /etc/yum.repos.d/ 目錄中的元素,將除了 fedora-devel.repo 以外的所有元素都改爲 enabled=0;將 fedora-devel.repo 改爲 enabled=1。
建立了 yum 儲存庫(repository)後,需要將機器更新到 rawhide,以便您可以開始使用最新發布的 Xen。
 
                                  
yum update
 
yum install xen kernel-xen0 kernel-xenU
然後,創建一個將要使用的虛擬文件系統。
 
                                  
mkdir -p /xen/base
dd if=/dev/zero of=/root/base.img bs=1M count=1 seek=1024
mkfs.ext3 /root/base.img
mount -o loop /root/base.img /xen/base
格式化並掛載 Xen 服務器文件系統之後,下一個步驟是安裝必要的軟件包,以便在這些軟件包上運行某些程序。爲了在 Xen 服務器上運行一個 Web 服務器,您應該安裝一組 Web-server 軟件包。(警告: 這將需要一段時間!您可以先運行 yum,然後出去散散步。)
 
                                  
yum --installroot=/xen/base -y groupinstall web-server /
                 --enablerepo=base --disablerepo=development
(現在應該去散步了。)
現在已經安裝了所有需要的軟件包,不過您應該去查看一個簡單的 fstab 文件,這個文件會告知 Xen 服務器它們將要獲得根(root)設備 sda1,將該設備作爲根。根設備實際上是來自系統管理程序的一個虛擬的設備,但您的服務器不會知道這一點。
 
                                  
/dev/sda1                 /                ext3     defaults 1 1
none                      /dev/pts devpts gid=5,mode=620    0 0
none                    /dev/shm        tmpfs   defaults     0 0
none                    /proc           proc    defaults     0 0
none                    /sys            sysfs   defaults     0 0
將這個文件寫入 /xen/base/etc/fstab。如果不是標準的 Fedora 安裝,那麼不會爲您創建任何 fstab。預計 Fedora 的未來版本會包含處理此問題的工具。
最後,爲了讓系統正確地運行,您應該做一些處理。目前,Xen 使用 initrd 時仍然存在問題,所以,如果想要啓動系統,則需要爲自己創建一些設備代碼。然後,爲了讓程序平穩運行,刪除 TLS 程序庫會有所幫助,因爲目前它們與 Xen 衝突很嚴重。完成這個步驟後,可以卸載這個文件系統。
 
                                  
for i in console null zero ; do MAKEDEV -d /xen/base/dev -x $i ; done
 
mv /lib/tls /lib/tls.disabled
mv /xen/base/lib/tls /xeb/base/lib/tls.disabled
 
umount /xen/base/
運行 Xen
既然已經細心地手工建立起了客戶系統,那麼您現在就可以真正重新啓動機器,開始使用 Xen 內核。您可能將會看到比平時多得多的打印輸出,並且您還會看到關於 TLS 程序庫(上一節中您刪除的那個會出問題的程序庫)的可怕的消息。
Xen 要求爲運行的每個服務器準備配置文件。儘管您可以爲所有服務器創建一個惟一的動態配置文件,但我還是建議您創建兩個靜態的配置文件,各用一個。如您所見,磁盤標籤告訴服務器您的文件映像是 sda1 設備。也指定了您所使用的 xenU 內核,以及服務器客戶將要獲得的內存。
 
                                  
                                   /etc/xen/base
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "BaseServer"
nics = 1
disk = ['file:/root/base.img,sda1,w']
root = "/dev/sda1 ro"
 
/etc/xen/test
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "TestServer"
nics = 1
disk = ['file:/root/test.img,sda1,w']
root = "/dev/sda1 ro"
要啓動並運行服務器,首先要使用命令 xend start 啓動 Xen 服務,然後使用命令 xm create base 通過基本配置文件創建 BaseServer。通過這些步驟,您將進入 Xen 客戶系統中,可以看到該系統已經啓動起來。不論何時,如果您想跳出客戶系統控制檯,那麼按下 Ctrl-] 組合鍵就可以直接返回到系統管理程序控制臺。
使用 Xen
現在您已經用了一些時間來編輯配置,並建立了運行兩個 Xen 服務器的系統。所有這些艱苦的工作完成後,接下來做什麼?
現在您擁有了一個系統的兩個副本,它們運行相同內核,在同一臺機器上被虛擬化。如果 BaseServer 代表的是您希望正常運行 Web 服務的穩定環境,那麼 TestServer 代表的就是 Fedora rawhide 所提供的最新軟件更新。您可以隨意保持對 TestServer 系統的升級,嘗試所有新版本的軟件更新 —— 當您認爲它足夠穩定時,可以將 TestServer 作爲 BaseServer 來運行。
設置 BaseServer
BaseServer
運行時,是修改將要運行的 httpd 服務的配置的好時機。您應該將 ssl.conf 文件移出 /etc/httpd/conf.d/ 目錄,以此來停用 ssl;否則,您將需要爲服務器生成證書。另外,可能需要向系統添加一個 apache 用戶。
Xen 系統管理程序已經自動提供了一個可以使用的虛擬網絡設備。如果您可以在這個設備上運行 dhcp,那麼只需要執行 dhclient eth0,BaseServer 就會獲得 IP 地址。
設置 TestServer
設置了 BaseServer 的配置之後,在 BaseServer 控制檯中執行 poweroff 以關閉該實例。如果您已經從 BaseServer 註銷,那麼可以使用 xm console BaseServer 重新進入它。
現在,通過 cp /root/base.img /root/test.img 複製基礎映像,以便獲得同一文件系統的副本。當運行 xm create -c test 時,它會運行與 BaseServer 相同的服務器,但是它的名稱是 TestServer。登錄到 TestServer,然後像您在 安裝 Xen那一節中所做的那樣啓用 rawhide 支持,然後運行 yum update。
TestServer 實例擁有與 BaseServer 完全相同的配置,但是您已經升級到了 Fedora rawhide 所必須具備的最新的軟件包。在此,您可以查看 Web 站點是否仍然可用。
 
 
 
 
 
 


     
Xen 是可用於 Linux™ 內核的一種虛擬化技術,讓您可以像在現有環境中一樣安裝並測試新的升級,而不必擔心破壞原有的系統。作者將向您介紹如何使用 Fedora Core 安裝 Xen,不過,安裝之後,在任何發行版本上的 Xen 中,所有程序運轉起來都是相同的。瞭解 Linux 上的虛擬化,知道具有一個用於測試新軟件的沙盒的好處,並練習在同一臺 Linux 機器上運行多個虛擬機。
隨着對現有軟件的改進和 bug 修復,開源世界的變化永無止境。要保持軟件總是升級到最新,這可能得作爲一份專職的工作。升級軟件最難處理的問題之一是:您永遠不會真正知道升級完成後應用程序是否還能夠工作。大部分軟件打包系統都具備回滾功能,但通常只有這項功能還不夠;理想情況下,您應該去測試這些新的升級,並在一個不會破壞任何東西的環境中去嘗試它們。
就像玩耍的小孩子一樣,您希望擁有一個屬於自己的沙盒,在那裏您可以隨意做任何事情。
通常通過 虛擬化(Virtualization)(或者“沙盒(sandbox)”)將同一硬件上的應用程序和系統彼此隔離開來。從硬件模擬到完全硬件虛擬化,Linux 支持很多種不同形式的虛擬化。在不斷增加的虛擬化技術列表中,Xen 是近來最引人注目的技術之一,它由劍橋大學開發。Xen 值得您關注,因爲它具有空前的性能與安全性。
 
Xen 是在劍橋大學作爲一個研究項目被開發出來的,它已經在開源社區中得到了極大的推動。Xen 是一款 半虛擬化(paravirtualizing) VMM(虛擬機監視器,Virtual Machine Monitor),這表示,爲了調用系統管理程序,要有選擇地修改操作系統,然而卻不需要修改操作系統上運行的應用程序。雖然 VMWare 等其他虛擬化系統實現了完全的虛擬化(它們不必修改使用中的操作系統),但它們仍需要進行實時的機器代碼翻譯,這會影響性能。
由於 Xen 需要修改操作系統,所以您不能直接讓當前的 Linux 內核在 Xen 系統管理程序中運行,除非它已經移植到了 Xen 架構。不過,如果當前系統可以使用新的已經移植到 Xen 架構的 Linux 內核,那麼您就可以不加修改地運行現有的系統。
檢查您的發行版本 —— 如果它不在這個列表中,那麼您可能只能直接使用源代碼。除了安裝過程特定於發行版本之外,在任何發行版本上,Xen 中的所有工作都是相同的。
儘管軟件包只是在最近纔開始進行開發,但 Fedora 已經爲大量 Xen 用戶所使用。由於有很多人嘗試在 Fedora 上使用 Xen,所以您可能成功地獲得大量的在線幫助。
首先,爲基礎機器(base machine)進行最簡化的服務器安裝。這臺基礎機器是您的系統管理程序,將不會運行任何服務器應用程序。您將可以在運行於此機器之上的 Xen 服務器中安裝所需要的軟件包,所以現在不需要安裝想要運行的應用程序。
系統開始運行後,您應該將其更新到 Fedora 的最新開發版本(稱爲 rawhide)。要完成此任務,請遍歷 /etc/yum.repos.d/ 目錄中的元素,將除了 fedora-devel.repo 以外的所有元素都改爲 enabled=0;將 fedora-devel.repo 改爲 enabled=1。
建立了 yum 儲存庫(repository)後,需要將機器更新到 rawhide,以便您可以開始使用最新發布的 Xen。
 
                                  
yum update
 
yum install xen kernel-xen0 kernel-xenU
然後,創建一個將要使用的虛擬文件系統。
 
                                  
mkdir -p /xen/base
dd if=/dev/zero of=/root/base.img bs=1M count=1 seek=1024
mkfs.ext3 /root/base.img
mount -o loop /root/base.img /xen/base
格式化並掛載 Xen 服務器文件系統之後,下一個步驟是安裝必要的軟件包,以便在這些軟件包上運行某些程序。爲了在 Xen 服務器上運行一個 Web 服務器,您應該安裝一組 Web-server 軟件包。(警告: 這將需要一段時間!您可以先運行 yum,然後出去散散步。)
 
                                  
yum --installroot=/xen/base -y groupinstall web-server /
                 --enablerepo=base --disablerepo=development
(現在應該去散步了。)
現在已經安裝了所有需要的軟件包,不過您應該去查看一個簡單的 fstab 文件,這個文件會告知 Xen 服務器它們將要獲得根(root)設備 sda1,將該設備作爲根。根設備實際上是來自系統管理程序的一個虛擬的設備,但您的服務器不會知道這一點。
 
                                  
/dev/sda1                 /                ext3     defaults 1 1
none                      /dev/pts devpts gid=5,mode=620    0 0
none                    /dev/shm        tmpfs   defaults     0 0
none                    /proc           proc    defaults     0 0
none                    /sys            sysfs   defaults     0 0
將這個文件寫入 /xen/base/etc/fstab。如果不是標準的 Fedora 安裝,那麼不會爲您創建任何 fstab。預計 Fedora 的未來版本會包含處理此問題的工具。
最後,爲了讓系統正確地運行,您應該做一些處理。目前,Xen 使用 initrd 時仍然存在問題,所以,如果想要啓動系統,則需要爲自己創建一些設備代碼。然後,爲了讓程序平穩運行,刪除 TLS 程序庫會有所幫助,因爲目前它們與 Xen 衝突很嚴重。完成這個步驟後,可以卸載這個文件系統。
 
                                  
for i in console null zero ; do MAKEDEV -d /xen/base/dev -x $i ; done
 
mv /lib/tls /lib/tls.disabled
mv /xen/base/lib/tls /xeb/base/lib/tls.disabled
 
umount /xen/base/
運行 Xen
既然已經細心地手工建立起了客戶系統,那麼您現在就可以真正重新啓動機器,開始使用 Xen 內核。您可能將會看到比平時多得多的打印輸出,並且您還會看到關於 TLS 程序庫(上一節中您刪除的那個會出問題的程序庫)的可怕的消息。
Xen 要求爲運行的每個服務器準備配置文件。儘管您可以爲所有服務器創建一個惟一的動態配置文件,但我還是建議您創建兩個靜態的配置文件,各用一個。如您所見,磁盤標籤告訴服務器您的文件映像是 sda1 設備。也指定了您所使用的 xenU 內核,以及服務器客戶將要獲得的內存。
 
                                  
                                   /etc/xen/base
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "BaseServer"
nics = 1
disk = ['file:/root/base.img,sda1,w']
root = "/dev/sda1 ro"
 
/etc/xen/test
kernel ="/boot/vmlinuz-2.6.10-1.1141_FC4xenU"
memory = 64
name = "TestServer"
nics = 1
disk = ['file:/root/test.img,sda1,w']
root = "/dev/sda1 ro"
要啓動並運行服務器,首先要使用命令 xend start 啓動 Xen 服務,然後使用命令 xm create base 通過基本配置文件創建 BaseServer。通過這些步驟,您將進入 Xen 客戶系統中,可以看到該系統已經啓動起來。不論何時,如果您想跳出客戶系統控制檯,那麼按下 Ctrl-] 組合鍵就可以直接返回到系統管理程序控制臺。
使用 Xen
現在您已經用了一些時間來編輯配置,並建立了運行兩個 Xen 服務器的系統。所有這些艱苦的工作完成後,接下來做什麼?
現在您擁有了一個系統的兩個副本,它們運行相同內核,在同一臺機器上被虛擬化。如果 BaseServer 代表的是您希望正常運行 Web 服務的穩定環境,那麼 TestServer 代表的就是 Fedora rawhide 所提供的最新軟件更新。您可以隨意保持對 TestServer 系統的升級,嘗試所有新版本的軟件更新 —— 當您認爲它足夠穩定時,可以將 TestServer 作爲 BaseServer 來運行。
設置 BaseServer
BaseServer
運行時,是修改將要運行的 httpd 服務的配置的好時機。您應該將 ssl.conf 文件移出 /etc/httpd/conf.d/ 目錄,以此來停用 ssl;否則,您將需要爲服務器生成證書。另外,可能需要向系統添加一個 apache 用戶。
Xen 系統管理程序已經自動提供了一個可以使用的虛擬網絡設備。如果您可以在這個設備上運行 dhcp,那麼只需要執行 dhclient eth0,BaseServer 就會獲得 IP 地址。
設置 TestServer
設置了 BaseServer 的配置之後,在 BaseServer 控制檯中執行 poweroff 以關閉該實例。如果您已經從 BaseServer 註銷,那麼可以使用 xm console BaseServer 重新進入它。
現在,通過 cp /root/base.img /root/test.img 複製基礎映像,以便獲得同一文件系統的副本。當運行 xm create -c test 時,它會運行與 BaseServer 相同的服務器,但是它的名稱是 TestServer。登錄到 TestServer,然後像您在 安裝 Xen那一節中所做的那樣啓用 rawhide 支持,然後運行 yum update。
TestServer 實例擁有與 BaseServer 完全相同的配置,但是您已經升級到了 Fedora rawhide 所必須具備的最新的軟件包。在此,您可以查看 Web 站點是否仍然可用。
 
 
 
 
 
 


發佈了5193 篇原創文章 · 獲贊 9 · 訪問量 104萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章