KVM精簡教程(六):virt-install創建虛擬機

6.1 使用http方式安裝虛擬機

6.1.1 配置apache

1.確認或配置apache如下參數:

#vi /etc/httpd/conf/httpd.conf

Listen 80

DocumentRoot "/var/www/html"

2.重啓apache

#service httpd restart

6.1.2 準備系統盤

1.新建存放系統盤的目錄

#mkdir –p /os

2.新建存放虛擬機的目錄

#mkdir –p /data

3.將系統盤CentOS-6.6-x86_64-bin-DVD1.iso上傳至/os目錄

4.掛載系統盤到apache主目錄

#mkdir –p /var/www/html/centos6

#mount –o loop /os/CentOS-6.6-x86_64-bin-DVD1.iso /var/www/html/centos6

6.1.3 創建虛擬機

1.虛擬機名稱:g1,內存大小:512M,cpu個數:1,磁盤大小:6G

2.執行如下命令,即可進行安裝界面

virt-install --connect=qemu:///system \

--name g1 \

--ram 512 \

--vcpus=1 \

--os-type=linux \

--os-variant=rhel6 \

--accelerate \

--hvm \

--disk path=/data/g1.img,size=6,bus=virtio \

--location http://192.168.100.90/centos6 \

--network bridge=br0,model=virtio \

-x "console=ttyS0"

--nographics

注:

1.如果安裝過程中不能獲取安裝點位置,需要關閉或更改宿主機iptables規則.

2.安裝過程中,虛擬機需要通過DHCP的方式獲取IP地址.

6.2 使用本地ISO系統盤圖形化安裝虛擬機

6.2.1 準備系統盤

新建存放系統盤的目錄

#mkdir –p /os

將系統盤CentOS-6.6-x86_64-bin-DVD1.iso上傳至/os目錄

新建存放虛擬機的目錄

#mkdir –p /data

6.2.2 準備安裝工具

安裝工具採用putty和xming,Xming用於圖形展現.

putty配置

1.打開putty

2.設置服務器登錄地址和端口

wKiom1e4IPORuspDAABiGiAQCEs111.png-wh_50

定位到Connection->SSH->X11,按照如下設置設置

wKioL1e4IP7DjRPcAABV41eVQz8179.png-wh_50

Xming配置

1.安裝Xming工具

2.啓動Xming

6.2.3 創建虛擬機

虛擬機名稱:g1,內存大小:512M,cpu個數:1,磁盤大小:6G

執行如下命令,即可進入圖形化安裝界面

virt-install --connect=qemu:///system \

--name g1 \

--ram 512 \

--vcpus=1 \

--os-type=linux \

--os-variant=rhel6 \

--accelerate \

--hvm \

--disk path=/data/g1.img,size=6,bus=virtio \

--cdrom /os/CentOS-6.6-x86_64-bin-DVD1.iso \

--network bridge=br0,model=virtio \

-x "console=ttyS0"

Xming即可彈出安裝界面.

wKiom1e4IRyyn--hAAZ8-cNflcQ391.png-wh_50

6.3 使用kickstart安裝虛擬機

6.3.1 配置apache

1. 確認或配置apache如下參數:

#vi /etc/httpd/conf/httpd.conf

Listen 80

DocumentRoot "/var/www/html"

2. 重啓apache

#service httpd restart

6.3.2 準備系統盤

1. 新建存放系統盤的目錄

#mkdir –p /os

2. 新建存放虛擬機的目錄

#mkdir –p /data

3. 將系統盤CentOS-6.6-x86_64-bin-DVD1.iso上傳至/os目錄

4. 掛載系統盤到apache主目錄

#mkdir –p /var/www/html/centos6

#mount –o loop /os/CentOS-6.6-x86_64-bin-DVD1.iso /var/www/html/centos6

6.3.3 準備ks.cfg

1. 創建存放ks.cfg的文件夾

mkdir –p /var/www/html/ks

2. 將ks.cfg文件放到/var/www/html/ks目錄下

#platform=x86, AMD64, or Intel EM64T

#version=DEVEL

# Firewall configuration

firewall --disabled

# Install OS instead of upgrade

install

# Use network installation

url --url="http://192.168.100.90/centos6"

# Root password

rootpw --iscrypted $1$fxaLCwXF$ZgkNxuea5PfLN9a1te.0i0

# System authorization information

auth  --useshadow  --passalgo=sha512

# Use graphical install

graphical

firstboot --disable

# System keyboard

keyboard us

# System language

lang en_US

# SELinux configuration

selinux --disabled

# Installation logging level

logging --level=info


# System timezone

timezone  Africa/Abidjan

# Network information

network  --bootproto=dhcp --device=eth0 --onboot=on

# System bootloader configuration

bootloader --location=mbr

# Partition clearing information


clearpart --all --initlabel

#clearpart --all --drives=sda

part /boot --fstype ext4 --size 200

part swap --size 16000

part / --fstype ext4 --size 1 --grow


%packages

@basic-desktop

@chinese-support

@fonts

@x11

%end

6.3.4 創建虛擬機

1. 虛擬機名稱:g1,內存大小:512M,cpu個數:1,磁盤大小:6G

2. 創建qcow2格式的磁盤

#qemu-img create -f qcow2 /data/g1.qcow2 6G

3. 此格式的磁盤,創建虛擬機時需要加上format=qcow2,否則安裝操作系統時硬盤會顯示爲0MB。

4. 執行如下命令,即可進行安裝界面

virt-install --connect=qemu:///system \

--name g1 \

--ram 512 \

--vcpus=1 \

--os-type=linux \

--os-variant=rhel6 \

--accelerate \

--hvm \

--disk path=/data/g1.qcow2,size=6,format=qcow2,bus=virtio \

--location=http://192.168.100.90/centos6 \

--network bridge=br0,model=virtio \

-x "ks=http://192.168.100.90/ks/ks.cfg console=tty0 console=ttyS0,115200n8"

6.4 使用已存在的虛擬機配置文檔創建新虛擬機

配置文檔只是保存虛擬機的配置信息,並不存在操作系統,需要採用cdrom、PXE等方式安裝操作系統。本例以cdrom爲例。

6.4.1 創建磁盤

#qemu-img create -f qcow2 /data/g1.qcow2 6G

6.4.2 創建xml文件

1.查看現有的虛擬機

# virsh list

wKiom1e4IeaTtct8AAAKuAxDenM136.png-wh_50

2.導出虛擬機centos6的硬件配置信息爲xml文件

#virsh dumpxml centos6 > centos6.xml

3.編輯xml文件

必須修改的部分:

<domain type='kvm' id='20'>

  <name>g1</name>

  <uuid>0edb899f-4129-9420-b817-e7559df65d75</uuid>

……

<source file='/data/g1.qcow2'/>

……

<mac address='52:54:00:9b:5b:af'/>

改好後的g1.xml文件

其中:

<source file='/os/CentOS-6.6-x86_64-bin-DVD1.iso'/>

爲系統鏡像的地址。

<domain type='kvm' id='20'>

  <name>g1</name>

  <uuid>0edb899f-4129-9420-b817-e7559df65d75</uuid>

  <memory unit='KiB'>524288</memory>

  <currentMemory unit='KiB'>524288</currentMemory>

  <vcpu placement='static'>1</vcpu>

  <os>

    <type arch='x86_64' machine='rhel6.6.0'>hvm</type>

    <boot dev='hd'/>

  </os>

  <features>

    <acpi/>

    <apic/>

    <pae/>

  </features>

  <clock offset='utc'/>

  <on_poweroff>destroy</on_poweroff>

  <on_reboot>restart</on_reboot>

  <on_crash>restart</on_crash>

  <devices>

    <emulator>/usr/libexec/qemu-kvm</emulator>

    <disk type='file' device='disk'>

      <driver name='qemu' type='qcow2' cache='none'/>

      <source file='/data/g1.qcow2'/>

      <target dev='vda' bus='virtio'/>

      <alias name='virtio-disk0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>

    </disk>

    <disk type='file' device='cdrom'>

      <source file='/os/CentOS-6.6-x86_64-bin-DVD1.iso'/>

      <target dev='hdb' bus='ide'/>

    </disk>

    <controller type='usb' index='0' model='ich9-ehci1'>

      <alias name='usb0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x7'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci1'>

      <alias name='usb0'/>

      <master startport='0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' multifunction='on'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci2'>

      <alias name='usb0'/>

      <master startport='2'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x1'/>

    </controller>

    <controller type='usb' index='0' model='ich9-uhci3'>

      <alias name='usb0'/>

      <master startport='4'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x2'/>

    </controller>

    <controller type='ide' index='0'>

      <alias name='ide0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>

    </controller>

    <interface type='bridge'>

      <mac address='52:54:00:9b:6b:af'/>

      <source bridge='br0'/>

      <target dev='vnet2'/>

      <model type='virtio'/>

      <alias name='net2'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>

    </interface>

    <serial type='pty'>

      <source path='/dev/pts/0'/>

      <target port='0'/>

      <alias name='serial0'/>

    </serial>

    <console type='pty' tty='/dev/pts/0'>

      <source path='/dev/pts/0'/>

      <target type='serial' port='0'/>

      <alias name='serial0'/>

    </console>

    <input type='tablet' bus='usb'>

      <alias name='input0'/>

    </input>

    <input type='mouse' bus='ps2'/>

    <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>

      <listen type='address' address='0.0.0.0'/>

    </graphics>

    <video>

      <model type='cirrus' vram='9216' heads='1'/>

      <alias name='video0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>

    </video>

    <memballoon model='virtio'>

      <alias name='balloon0'/>

      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>

    </memballoon>

  </devices>

  <seclabel type='dynamic' model='selinux' relabel='yes'>

    <label>unconfined_u:system_r:svirt_t:s0:c619,c653</label>

    <p_w_picpathlabel>unconfined_u:object_r:svirt_p_w_picpath_t:s0:c619,c653</p_w_picpathlabel>

  </seclabel>

</domain>

使用xml文件創建虛擬機

# virsh define g1.xml 

Domain g1 defined from g1.xml

啓動虛擬機

# virsh start g1


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章