建立並啟動乙個xen半虛擬化PV客戶機

2021-07-02 15:47:53 字數 2692 閱讀 9979

參考文獻: 

也可以嘗試一下。

前提:xen hypervisor和 dom0安裝成功並啟動;有關邏輯卷大小調整和建立新的邏輯卷參考另一篇博文。host端網路的配置略。

直接開始安裝手動配置和安裝乙個pv guest vm。

1. 建立邏輯卷

檢視邏輯捲組,選擇乙個有空閒空間的邏輯捲組,或者你需要壓縮乙個邏輯卷的空間,讓所屬的邏輯卷組有空閒空間從而建立新的邏輯卷。

$ vgs

在該邏輯卷組中建立乙個新的邏輯卷叫做lv_vm_ubuntu

$ lvcreate -l 10g -n lv_vm_ubuntu /dev/

建立成功後檢視

$ lvs

2. 獲取網路啟動的映象netboot images

首先選擇乙個適合你的源如mirrors.163.com或者mirrors.hust.edu.cn等等。

3. 建立初始化客戶機的配置檔案

$ cd /etc/xen

$ cp xlexample.pvlinux ubud1.cfg

$ vi ubud1.cfg

name = "ubud1"

kernel = "/var/lib/xen/images/ubuntu-netboot/trusty14lts/vmlinuz"

ramdisk = "/var/lib/xen/images/ubuntu-netboot/trusty14lts/initrd.gz"

#bootloader = "/usr/lib/xen-4.4/bin/pygrub"

memory = 512

vcpus = 1

# custom option for open vswitch,可暫時先忽略script引數,只保留bridge引數(寫你自己host上的網橋)

vif = [ 'script=vif-openvswitch,bridge=virbr0' ]

disk = [ '/dev//lv_vm_ubuntu,raw,xvda,rw' ]

# you may also consider some other options

# [[

虛擬機器的啟動的kernel:vmlinuz和initrd.gz放在了dom0中。這個kernel是屬於半虛擬化虛擬機器它自己的。

4. 建立虛擬機器並網路安裝、啟動

$ xl create -f /etc/xen/ubud1.cfg (-c是啟動客戶機後直接連線到控制台,用於盡快發現客戶機啟動時輸出的資訊,除錯)

檢視虛擬機器id:

$ xl list

name                         id     mem     vcpus

domain-0                    0     4096          4

ubud1                         2     512            1

通過控制台連上虛擬機器:

$ xl console 2

按照步驟進行網路安裝作業系統

安裝完畢後斷開虛擬機器連線,然後關掉虛擬機器,否則它會重新進入安裝介面

$ xl shutdown 2或者id已經變成3,注意用xl list看一下

5. 修改配置檔案變成pygrub引導

避免從dom0裡放置的虛擬機器啟動檔案來啟動半虛擬化虛擬機器

vim /etc/xen/ubud1.cfg

#kernel = "/var/lib/xen/images/ubuntu-netboot/trusty14lts/vmlinuz"

#ramdisk = "/var/lib/xen/images/ubuntu-netboot/trusty14lts/initrd.gz"bootloader = "/usr/local/lib/xen/bin/pygrub" #檢視一下你自己的pygrub在哪個目錄

然後再重新建立虛擬機器

xl create -c /etc/xen/ubud1.cfg

這裡遇到的問題:

pygrub啟動失敗,檢視它的日誌,報no module named xen.lowlevel.xc錯誤,可以修改pygrub,注釋掉import xen.lowlevel.xc即可,詳細參見

裡面的解釋。

pygrub啟動失敗,檢視它的日誌,報no module named fsimage錯誤,可以locate一下fsimage,看到它在/usr/local/lib64/python2.6/site-packages目錄下,所以修改pygrub,在import fsimage前面新增sys.path = ['/usr/local/lib64/python2.6/site-packages'] + sys.path 即可,詳細參見

裡面的解釋。

建立乙個啟動軟盤,並安裝GRUB

最近在試著寫乙個簡單的作業系統,打算在11週內寫完。會不定期的在這裡寫東西記錄一下。今天完成了引導程式和第乙個程序,這倒不是很難。反而製作啟動軟盤花費了不少的時間 所以才打算把製作方法寫在這裡。用dd命令建立乙個.img檔案,大小為1.44m.我建立的這個檔案的名字叫做floppy.img dd i...

建立乙個虛擬網路

建立乙個虛擬網路,為之後的自定義安裝虛擬機器做準備 實現此案例需要按照如下步驟進行。root room9pc01 vim etc libvirt qemu networks vbr.xml vbr vbr為虛擬網路的名字 ip為192.168.1.254 ip範圍是100 200 root room...

在xen下新建乙個windows虛擬機器

1.申請磁碟空間 dd if dev zero of win7.img bs 1m count 20480 dd if dev zero of windisk.img bs 1m count 10240 具體要幾個硬碟根據需要新建。2.上傳iso映象,上傳windows的安裝映象到伺服器。請確保上傳...