1. 程式人生 > >Xen使用命令列建立虛擬機器

Xen使用命令列建立虛擬機器

引言

本文介紹了在Xen4.6平臺上使用命令列建立完全虛擬化CentOS6.6的domU客戶機過程,使用Xen4.6的dom0執行在Centos6.9上。本文使用的是Xen安裝附帶的xl程式(Xen4CentOS版本已經不再支援xm)。

安裝準備

假設你已經按照CentOS官方推薦的Xen4CentOS6或者Xen made Easy官方提供的解決方案安裝了一個 Xen 核心,輸入 xl info 指令會有如下類似的結果:

[[email protected] ~]# xl info  
host                   : immortal  
release                : 3.10.56-11.el6.centos.alt.x86_64  
version                : #1 SMP Thu Oct 9 14:57:01 CDT 2014  
machine                : x86_64  
nr_cpus                : 4  
max_cpu_id             : 31  
nr_nodes               : 1  
cores_per_socket       : 4  
threads_per_core       : 1  
cpu_mhz                : 2533  
hw_caps                : bfebfbff:2c100800:00000000:00003f00:029ee3ff:00000000:00000001:00000000  
virt_caps              : hvm hvm_directio  
total_memory           : 6141  
free_memory            : 5030  
sharing_freed_memory   : 0  
sharing_used_memory    : 0  
outstanding_claims     : 0  
free_cpus              : 0  
xen_major              : 4  
xen_minor              : 4  
xen_extra              : .1-4.el6  
xen_version            : 4.4.1-4.el6  
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64   
xen_scheduler          : credit  
xen_pagesize           : 4096  
platform_params        : virt_start=0xffff800000000000  
xen_changeset          : Wed Oct 15 15:36:23 2014 +0100 git:9f49483-dirty  
xen_commandline        : dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all com1=115200,8n1 console=com1,vga  
cc_compiler            : gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)  
cc_compile_by          : mockbuild  
cc_compile_domain      : centos.org  
cc_compile_date        : Mon Dec 15 17:54:14 UTC 2014  
xend_config_format     : 4 
Xen安裝成功以後,需要對網路進行配置,假設已經按照CentOS官網的橋接方式對網路配置好了(預設網橋名稱是xenbr0),也可以參考我的另外一篇部落格《在 CentOS6上為Xen設定橋接網路》。

建立domU使用的邏輯卷分割槽

首先需要建立domU使用的邏輯卷分割槽LV(Logical Volume),這要求在進行dom0安裝時進行邏輯卷組VG(Volume Group)的建立或在新的硬碟分割槽上進行建立,我在CentOS dom0安裝時預留了用於domU使用的邏輯卷組VG_CentOS。
[[email protected] ye]# vgdisplay
  --- Volume group ---
  VG Name               VG_CentOS
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                5
  Open LV               4
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               930.53 GiB
  PE Size               4.00 MiB
  Total PE              238216
  Alloc PE / Size       126112 / 492.62 GiB
  Free  PE / Size       112104 / 437.91 GiB
  VG UUID               vONs4i-E6De-fXEH-q8YF-SxAP-Gn1x-4Kye4K
然後使用lvcreate建立Dom U所需的邏輯分割槽
[[email protected] xen]# lvcreate -L 100G -n xen_centos_HVM_1 VG_CentOS  
 Logical volume "xen_centos_HVM_1" created  
[[email protected] ye]# lvdisplay /dev/VG_CentOS/xen_centos_HVM_1
  --- Logical volume ---
  LV Path                /dev/VG_CentOS/xen_centos_HVM_1
  LV Name                xen_centos_HVM_1
  VG Name                VG_CentOS
  LV UUID                wPu3xC-7dPH-ohLl-PmBl-71XS-UZmW-iUwgmH
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2017-08-18 10:11:12 +0800
  LV Status              available
  # open                 1
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
若安裝dom0的系統時沒有進行邏輯卷管理也是可以的,不過最好是建議進行邏輯卷管理,可以參考IBM中國社群的這篇文章(邏輯卷管理)。

準備映象及配置檔案

我是通過ISO檔案來安裝CentOS的,所以我在Dom0上建立了一個名為的/opt/isos的目錄,用於存放映象檔案。 
[[email protected] ye]# cd /opt/isos
[[email protected] isos]# ls
CentOS-6.6-x86_64-minimal.iso
然後我們需要為每個虛擬機器配置檔案。在安裝成功Xen後有一個名為/etc/xen/xlexample.hvm的HVM示例配置檔案。
[[email protected] xen]# cat /etc/xen/xlexample.hvm 
# =====================================================================
# Example HVM guest configuration
# =====================================================================
#
# This is a fairly minimal example of what is required for an
# HVM guest. For a more complete guide see xl.cfg(5)

# This configures an HVM rather than PV guest
builder = "hvm"

# Guest name
name = "example.hvm"

# 128-bit UUID for the domain as a hexadecimal number.
# Use "uuidgen" to generate one if required.
# The default behavior is to generate a new UUID each time the guest is started.
#uuid = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

# Enable Microsoft Hyper-V compatibile paravirtualisation /
# enlightenment interfaces. Turning this on can improve Windows guest
# performance and is therefore recommended
#viridian = 1

# Initial memory allocation (MB)
memory = 128

# Maximum memory (MB)
# If this is greater than `memory' then the slack will start ballooned
# (this assumes guest kernel support for ballooning)
#maxmem = 512

# Number of VCPUS
vcpus = 2

# Network devices
# A list of 'vifspec' entries as described in
# docs/misc/xl-network-configuration.markdown
vif = [ '' ]

# Disk Devices
# A list of `diskspec' entries as described in
# docs/misc/xl-disk-configuration.txt
disk = [ '/dev/vg/guest-volume,raw,xvda,rw' ]

# Guest VGA console configuration, either SDL or VNC
sdl = 1
#vnc = 1
參照這個配置檔案,我在/etc/xen/ 目錄下建立了一個config.d目錄,並在該目錄下建立了虛擬機器配置檔案
[[email protected] xen]# cat /etc/xen/config.d/xen-centos-hvm.cfg 
builder = "hvm"
name = "xen-centos-hvm-1 "
memory = 1024
vcpus = 1
serial='pty'
vif = [ 'bridge=xenbr0' ]
disk = [ 'phy:/dev/VG_CentOS/xen_centos_HVM_1,xvda,rw', 'file:/opt/isos/CentOS-6.6-x86_64-minimal.iso,xvdb:cdrom,r' ]
boot = "dc"
sdl = 0
vnc = 1
vnclisten  = "127.0.0.1"
vncdisplay = 0
vncpasswd  = 123456789
stdvga=1
videoram = 64

各個選項什麼意思可以參考Xen官網的說明手冊:xl.cfg(5),也可以參考網上我看到的一篇部落格:《對XEN中HVM虛擬機器的一些理解》,但要注意以下幾點:

1. IP地址是虛擬機器網橋的地址,如果是本地連線可以設定為本地地址,即127.0.0.1。

2. vncpasswd是vnc客戶端連線虛擬機器的密碼,最好是設定一個,因為預設密碼我找了很久沒找到。

3.安裝成功後一定要記得修改啟動項為boot="c"讓虛擬機器從硬碟中啟動。

到此虛擬機器就已經建立好了。

啟動虛擬機器

使用xl命令可以啟動虛擬機器
[[email protected] xen]# xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0  1024     4     r-----    4604.5
[[email protected] xen]# xl create  /etc/xen/config.d/xen-centos-hvm.cfg 
Parsing config from /etc/xen/config.d/xen-centos-hvm.cfg
[[email protected] xen]# xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0  1024     4     r-----    4607.9
xen-centos-hvm-1                            11  1024     1     r-----       1.0
你沒有看錯,剛才建立的虛擬機器已經啟動了,但怎麼去控制虛擬機器呢?這裡我使用的是VNC,VNC的安裝與配置請參考我的另外一篇部落格(Linux中VNC的安裝與配置) 。

輸入:

xl vncviewer xen-centos-hvm-1
便可以進入Dom U的控制視窗了。
注意:安裝成功後一定要記得修改/etc/xen/config.d/xen-centos-hvm.cfg中啟動項boot="c"讓虛擬機器從硬碟中啟動。


參考文獻:

相關推薦

Xen使用命令建立虛擬機器

引言 本文介紹了在Xen4.6平臺上使用命令列建立完全虛擬化CentOS6.6的domU客戶機過程,使用Xen4.6的dom0執行在Centos6.9上。本文使用的是Xen安裝附帶的xl程式(Xen4CentOS版本已經不再支援xm)。 安裝準備 假設你已經按照CentO

VirtualBox命令建立虛擬機器及無法啟動虛擬機器時問題處理

環境 win7 在path里加入virtual box路徑 建立虛擬機器 VBoxManage.exe createvm --name xie1 --register 修改記憶體及作業系統 VBoxManage.exe

KVM用命令建立虛擬機器並使用整合virtio驅動的win2008r2_x64安裝光碟安裝系統

安裝光碟使用UltraISO整合驅動,很簡單,這裡就不多說了 [[email protected] vm]# qemu-img create -f qcow2 vm04.img 40G Formatting 'vm04.img', fmt=qcow2 size=4

CentOS7環境下建立kvm虛擬機器,搭建橋接環境,並實現用命令控制虛擬機器

宿主機網路橋接配置我們要求建立的虛擬機器可以和宿主主機共享網段,拓撲圖如下: 圖1而橋接環境的宿主機的網路構架如下: 圖2這是宿主機有兩塊網絡卡的情況下,如果沒有兩塊網絡卡(如上圖沒有eth1)也行,只要把物理網絡卡(eth0)作為對

使用powercli命令批量建立虛擬機器

------第一步: 連線vcenter  Connect-VIServer -Server 123.123.245.210(vcenter的ip) -Username "[email protected]" -Password "abcd" ------ 批量

windows命令啟動虛擬機器(VirtualBox、VMware)

VirtualBox.bat: C: cd "\Program Files\Oracle\VirtualBox" VBoxManage startvm "CentOS-6.5" --type headless VMware.bat: C: cd "\Program Fil

如何用命令的方式在KVM上建立虛擬機器

在上一篇文章中我們在圖形化介面進行了虛擬機器的搭建,今天這篇文章主要是採用命令的方式進行搭建,環境和上篇文章的相同,這裡不加以敘述,直接開始安裝 建立資料夾 mkdir /data 將一塊硬碟進行分割槽 fdisk /dev/sdc 將硬碟格式化 mkfs.xf

CentOS6.10 命令下用命令配置WIN7虛擬機器

先進入到你想把把虛擬機器硬碟儲存的位置,如我當前就把虛擬機器硬碟建立在ROOT目錄

Vagrant 建立虛擬機器

Vagrant  建立虛擬機器 1. 下載相關軟體 虛擬機器軟體:vmware  virtualbox Vagrant 軟體:vagrant   cd /tmpwget http://download.virtualbox.org/virtualbox/5.1.28/V

neutron命令建立路由

路由建立屬於網路部分,所以只能是neutron模組可以完成,路由的具體建立步驟如下: 1.  建立路由命令: (neutron-server)[[email protected] /]$ neutron router-create onlyone 可以看見,onlyon

命令自動安裝虛擬機器

前面都是用圖形介面來安裝虛擬機器的,如果我們通是安裝很多臺虛擬機器的話就很難用圖形介面建立虛擬機器來實現了,所以現在我們用命令來建立虛擬機器 首先檢查一下我們的映象檔案是否掛載好了。用df -h檢視 在確保映象掛載上了,就可以安裝軟體了 軟體安裝成功的話就是這樣的: 確保一下,關閉

RabbitMQ安裝及建立虛擬機器、使用者名稱

  一、RabbitMQ安裝       安裝erlang的執行環境(虛擬機器雲主機)       安裝erlang語言,需要安裝30-50分鐘。centOs-empty映象已經安裝好的,erl

mysql通過命令建立資料庫

1.語法: CREATE DATABASE IF NOT EXISTS 資料庫名稱 DEFAULT CHARSET 預設編碼集 COLLATE 校對規則 2.語法解析: IF NOT EXISTS:如果該資料庫不存在則建立,存在則不建立,避免了建立資料庫的錯誤 DEFAULT CHARSET

mysql通過命令建立

mysql通過命令列建立表 1.語法: CREATE TABLE IF NOT EXISTS 表名稱 ( 欄位1  [AS 別名]  欄位型別  [約束條件] [DEFAULT 預設值] [COMMENT 註釋], 欄位2  [AS 別名]&nbs

伺服器建立虛擬機器並開啟ssh服務和修改ip

我是通過VMware Workstation Pro 連線的公司伺服器,然後開始建立虛擬機器 然後就建立了一個Ubuntu系統的虛擬機器 首先,檢視是否有網路,開始安裝ssh服務,這樣就可以連線xshell遠端操作 安裝openssh-server。

mysql命令建立表,插入表資料

create table t_hero( id int unsigned auto_increment primary key, name varchar(10) unique not null, age tinyint unsigned default 0, gender set("男", "女"), st

使用qemu-img管理虛擬機器磁碟映象(建立虛擬機器虛擬機器快照)

一臺虛擬機器的核心就是一個磁碟映象,這個映象可以理解成虛擬機器的磁碟,裡面有虛擬機器的作業系統和驅動等重要檔案。本文主要介紹建立虛擬機器的一般過程。 建立虛擬機器映象 要在一臺host上跑起一個虛擬機器一般需要兩個步驟: 第一步:建立虛擬機器映象    

用Mac終端為Azure市場建立虛擬機器映象

如果要在Azure市場中上傳虛擬機器映象,那我需要準備好映象,準備過程如下: 一、在Azure控制檯中建立一臺虛擬機器; 1.開啟控制檯選擇“建立資源”; 2.建立虛擬機器,系統選擇“windows 2016 Datacenter”; 3.建立完成後記下IP地址、使用者名稱和密碼。

window下如何使用命令建立schedule task(計劃任務)

Schtasks 安排命令和程式定期執行或在指定時間內執行。從計劃表中新增和刪除任務,按需要啟動和停止任務,顯示和更改計劃任務。 若要檢視該命令語法,請單擊以下命令: schtasks create 建立新的計劃任務。 語法 schtasks /create /tn Task

Linux基礎_建立虛擬機器快照

建立虛擬機器快照  虛擬機器的出現幫助使用者省去了很多的麻煩。在不小心刪掉一些不該刪掉的東西之後導致系統直接崩潰的時候,可以將虛擬機器刪掉,重新建立一個虛擬機器繼續使用就可以了。如何建立虛擬機器,請參考