[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

如何在 CentOS 6 上設置嵌套式虛擬

1. 引言

在某些情況下,你或許會想先測試或確認一套虛擬化設置,然後才把它推行在實物上。這時候的話,最理想的做法就是把你的監督器主機設置成虛擬機器,然後在當中運行虛擬機器。這個在擬擬機器內運行虛擬機器的做法名為嵌套式虛擬

嵌套式虛擬是一個可透過內核參數來啟用的功能。很可惜,現有的 CentOS 內核暫時並未支援此參數。

2. 開始之先

你可以透過檢查 /sys/module/kvm_intel/parameters/nested 這個檔案來確定你的系統是否支援 nested 這個參數。

在一台預設的 CentOS 6 系統上此檔案並不存在。有幸地,我們擁有 xen-c6 計劃(http://dev.centos.org/centos/6/xen-c6/ ),它提供了一個支援 nested 參數的內核!

3. 第 1 步:把 xen-c6 軟件庫加進你的系統

  1. su -
  2. cd /etc/yum.repos.d
  3. wget http://dev.centos.org/centos/6/xen-c6/xen-c6.repo

  4. yum repolist
  5. [選擇性] vi xen-c6.repo :修改為 enabled=0 令軟件庫不會被預設成啟用的

4. 第 2 步:安裝新的內核

  1. su -
  2. yum --enablerepo xen-c6 install kernel kernel-firmware
  3. vi /boot/grub/grub.conf :在 kernel 那一行的末端加上 kvm-intel.nested=1
  4. 重新開機
  5. 確定能正常運作:cat /sys/module/kvm_intel/parameters/nested 會輸出 Y

5. 第 3 步:設置監督器的虛擬機器

若要設置生效,我們的虛擬機器內的虛擬處理器必須擁有 vmx 這個旗標。

我會在這篇教學文檔內採用 virt-manager。當然,你可以利用 XML 檔及 virsh 來取得同一效果。

  1. virt-manager
  2. 開啟監督器虛擬機器,進到 Details(內容)> Processor(處理器)

  3. 展開 Configuration(設定)
  4. 按 Copy host CPU configuration(複製主機處理器設定)按鈕
  5. 展開 CPU Features(處理器功能)
  6. 確保 vmx 功能已設定為 require(必須的)
  7. 按 Apply(應用)

啟動監督器虛擬機器,然後你會發現 libvirtd 正在虛擬機器內運行!

(來源: http://technotes.nocoffee.nl

Translation of revision 2


2023-09-11 07:23