giku 发表于 2016-8-22 09:59:12

KVM精简教程(六):virt-install创建虚拟机

6.1 使用http方式安装虚拟机
6.1.1 配置apache
1.确认或配置apache如下参数:
#vi /etc/httpd/conf/httpd.conf

Listen 80DocumentRoot "/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.设置服务器登录地址和端口

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

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即可弹出安装界面.

6.3 使用kickstart安装虚拟机
6.3.1 配置apache
1. 确认或配置apache如下参数:
#vi /etc/httpd/conf/httpd.conf

Listen 80DocumentRoot "/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
timezoneAfrica/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

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>
    <imagelabel>unconfined_u:object_r:svirt_image_t:s0:c619,c653</imagelabel>
</seclabel>
</domain>

使用xml文件创建虚拟机
# virsh define g1.xml
Domain g1 defined from g1.xml
启动虚拟机
# virsh start g1


页: [1]
查看完整版本: KVM精简教程(六):virt-install创建虚拟机