xen的安裝

餘二五發表於2017-11-15

一、 Xen介紹 :

在虛擬化軟體的部份,可分為VMWare、Xen、KVM、VritualBox是較為常見的。在Xen這到自由軟體上主要可分為半虛擬化(Para-virtualization) 及全虛擬化 (Full virtualization) 兩種,其中半虛擬化主要是透過修改 Linux 核心來達成的虛擬技術。另外Xen能安裝和執行在實際的物理分割槽上或LVM分割槽上。

二、 設定說明 :

1.檢視是否能支援XEN虛擬化

半虛擬化 : pae(實體位址延伸技術)

全虛擬化 : pae(實體位址延伸技術)、Intel (vmx) 或 AMD (svm)。

                vmx和svm只需要有一種就可以了。

而在半虛擬化的部份,基本上只要是64位元的x86主機都可支援半虛擬化

 


[root@localhost ~]# cat /proc/cpuinfo | grep flags

flags    : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36

           clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm

           constant_tsc ida nonstop_tsc pni monitor ds_cpl vmx est tm2 ssse3

           cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm

 

 

2. 安裝XEN套件和相關套件:

2.1 安裝相關套件


[root@localhost ~]# yum install transfig wget texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel pciutils-libs pciutils-devel SDL-devel libX11-devel gtk2-devel bridge-utils PyXML qemu-common qemu-img mercurial

 

2.2 安裝XEN


[root@localhost ~]# yum groupinstall Virtualization

 

3.修改kernel

3.1 修改kernel,用新的kernel開機

安裝好套件後的會看到下面多出***的區塊。

修改開機選單default=1,把1改為0


[root@localhost ~]# vi /boot/grub/menu.lst

default=0        #將1改為0

timeout=5

splashimage=(hd0,0)/boot/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-274.3.1.el5xen)

        root (hd0,0)

        kernel /boot/xen.gz-2.6.18-274.3.1.el5

        module /boot/vmlinuz-2.6.18-274.3.1.el5xen ro root=LABEL=/1

        module /boot/initrd-2.6.18-274.3.1.el5xen.img

title CentOS (2.6.18-238.el5)

        root (hd0,0)

        kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/1

        initrd /boot/initrd-2.6.18-238.el5.img

 

3.2 重啟伺服器


[root@localhost ~]# reboot

 

3.3檢視核心

檢視是否為修改後的核心


[root@localhost ~]# uname -r

2.6.18-274.3.1.el5xen

 

 

4. 檢視相關設定是否正確

4.1 Xen log存放位置


[root@localhost ~]# cd /var/log/xen

 

4.2 檢視網路卡

會看到多出peth0、vif0.0、virbr0、xenbr0這四張網路卡


 [root@localhost ~]# ifconfig

peth0     Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 

          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1

          RX packets:624 errors:0 dropped:0 overruns:0 frame:0

          TX packets:243 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:62590 (61.1 KiB)  TX bytes:31705 (30.9 KiB)

          Interrupt:24 Memory:d6000000-d6012800

 

vif0.0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 

          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1

          RX packets:256 errors:0 dropped:0 overruns:0 frame:0

          TX packets:526 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:33213 (32.4 KiB)  TX bytes:54818 (53.5 KiB)

 

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00 

          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:0 (0.0 b)  TX bytes:3329 (3.2 KiB)

 

xenbr0    Link encap:Ethernet  HWaddr FE:FF:FF:FF:FF:FF 

          UP BROADCAST RUNNING NOARP  MTU:1500  Metric:1

          RX packets:359 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:36546 (35.6 KiB)  TX bytes:0 (0.0 b)

 

 

5. 準備安裝源

5.1從光碟中複製安裝源(放入光碟)


[root@localhost ~]# mkdir /mnt/cdrom

[root@localhost ~]# mkdir /opt/iso               #建立資料夾存放安裝源

[root@localhost ~]# dd if=/dev/cdrom of=/opt/iso/centos.iso  

                     #將光碟中的資料複製到centos.iso,需要一些時間請稍後。

8299392+0 records in

8299392+0 records out

4249288704 bytes (4.2 GB) copied, 558.97 seconds, 7.6 MB/s

[root@localhost ~]# ll -h /opt/iso/centos.iso     #檢視檔案是否正確

 

5.2 把複製好的檔案mount上


[root@localhost ~]# mount -o loop -t iso9660 /opt/iso/centos.iso /mnt/cdrom

                                  #將複製好的安裝源mount到/mnt/cdrom上

[root@localhost ~]# df -h         #卻認是否有mount成功

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

                       38G  5.8G   31G  16% /

/dev/sda1              99M   21M   73M  23% /boot

tmpfs                 3.8G     0  3.8G   0% /dev/shm

none                  3.8G  104K  3.8G   1% /var/lib/xenstored

/opt/iso/centos.iso   4.0G  4.0G     0 100% /mnt/cdrom

 

 

6. 製作映像檔案

使用映像的缺點是在安全性和效能上會低一些,但是優點是很方便。

6.1 建立一個10G大小的檔案


 [root@localhost ~]# mkdir /opt/faq

[root@localhost ~]# cd /opt/faq

[root@localhost ~]# dd if=/dev/zero of=faq.img bs=1M seek=10000 count=1

1+0 records in

1+0 records out

1048576 bytes (1.0 MB) copied, 0.001977 seconds, 530 MB/s

 

6.2 安裝源獲取方式

在使用安裝源的部份可分為http、ftp、nfs三種

在這邊我們使用nfs的方式,因為nfs的方式是最簡單的。

若想了解NFS的設定方式可參考“NFS Server端設定


[root@localhost ~]# vi /etc/exports

#加入以下資料

/mnt/cdrom *(sync,ro)

[root@localhost ~]# yum install nfs-utils portmap

[root@localhost ~]# /etc/init.d/portmap start      #啟動服務

[root@localhost ~]# /etc/init.d/nfs start          #啟動服務

[root@localhost ~]# exportfs –rv    #檢視nfs設定是否正確

exporting *:/mnt/cdrom

 

 

7. 安裝xen虛擬機器

7.1 Xen環境配置的方式有兩種,一種是詢問式安裝,另一種是直接輸入指令安裝。

詢問式 :


[root@localhost ~]# virt-install –prompt

Would you like a fully virtualized guest (yes or no)? This will allow you to run unmodified operating systems. no   #詢問是否安裝全虛擬化yes為全虛擬,no為半虛擬化。這邊選no

 

 What is the name of your virtual machine? faq    #輸入讓Xen識別的名稱

 

 How much RAM should be allocated (in megabytes)? 1024   #輸入記憶體大小

 

 What would you like to use as the disk (file path)? /opt/faq/faq.img 

#輸入虛擬機器硬碟的位置

 

  What is the install URL? nfs://10.254.201.181/mnt/cdrom    #輸入NFS來源

 

直接輸入指令


[root@localhost ~]# virt-install -n faq -r 2048 -f /opt/faq/faq.img  –nographics -l nfs:10.254.201.181:/mnt/cdrom

# -n :後面接你的domain-U的名稱,這個名稱的設定檔會被主動建立在 /etc/xen 底下

# -r :後面接妳要給這個 domain-U 的記憶體,目前至少需要 256MB 才能夠執行

# -f :後面接的就是那個要給 domain-U 的大檔案囉!

# –nographics :不使用圖形介面來安裝的意思;

# -l :後面接安裝伺服器的來源。安裝伺服器的寫法為:

#   NFS 時:   nfs:主機的IP:可以安裝的目錄

#   WWW 時:   http://主機的IP/實際的/完整目錄

#   FTP 時:   ftp://主機的IP/實際的完整目錄

本文轉自 chengxuyonghu 51CTO部落格,原文連結:http://blog.51cto.com/6226001001/1570332,如需轉載請自行聯絡原作者


相關文章