Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1940672
  • 博文数量: 1000
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7921
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-20 09:23
个人简介

storage R&D guy.

文章分类

全部博文(1000)

文章存档

2019年(5)

2017年(47)

2016年(38)

2015年(539)

2014年(193)

2013年(178)

分类: 服务器与存储

2015-10-08 10:52:28

一.KVM虚拟机创建的用户操作

对于用户或者管理员来说,虚拟机的创建有着很多的方法,例如:kvm自带命令行工

具、使用virsh命令来创建、使用具有图形界面的virt-manager等等。但是它们底层实现的原理都是一样的,而且它们基本上都是通过开源的虚拟化库Libvirt来开发的。下面就讲一讲三种用户可以创建虚拟机的方式。

1.1 利用kvm自带命令行工具进行创建

kvm常用命令如下:

参数

示例

说明

-hda

-hda /data/windows.img

指定windows.img作为硬盘镜像

-cdrom

-cdrom /data/windows.iso

指定windows.iso作为光盘镜像

-boot

-boot c

从硬盘启动

 

-boot d

从光盘启动

-m

-m 512

分配512M内存给虚拟系统

-vnc

-vnc :0

作为vnc服务器

-cpu

-cpu ?

列出支持的CPU

 

-cpu core2duo

指定CPU为core2duo

-smp

-smp 2

指定虚拟机有2个CPU

-net

-net nic

为虚拟机网卡(默认为tap0)

 

-net tap

系统分配tap设备(默认为tap0)1

 

-net nic -net tap

将虚拟机的网卡eth0连接真机里的tap0

具体创建一个虚拟机的步骤如下:

(1)生成硬盘镜像文件

root@host:kvm-img create -f rawtest.img 10G

其中“-f raw”指定镜像文件的格式为“raw”,“10G”指定镜像文件大小。

(2)从光盘启动虚拟机来安装操作系统

root@host:kvm -boot d -hda test.img-cdrom test.iso -m 512

其中“-boot d”指定虚拟机从光盘启动,“-hda test.img”指定硬盘镜像的位置,“-cdrom test.iso”指定光盘镜像的位置,“-m 512”指定虚拟机的内存为512M。

(3)安装操作系统后便可直接从硬盘启动虚拟机

root@host:kvm -boot c -hda test.img-m 512

1.2 利用virsh命令行工具进行创建

1.2.1 virsh工具简介

Virsh是由一个名叫libvirt的软件提供的管理工具,提供管理虚拟机比较高级的能力。Virsh可以管理KVM以及xen等虚拟机。

下面是virsh的一些常见的命令行选项:

Description

help

打印基本帮助信息。

list

列出所有客户端。

dumpxml

输出客户端 XML 配置文件。

create

从 XML 配置文件生成客户端并启动新客户端。

start

启动未激活的客户端。

destroy

强制客户端停止。

define

为客户端输出 XML 配置文件。

domid

显示客户端 ID。

domuuid

显示客户端 UUID。

dominfo

显示客户端信息。

domname

显示客户端名称。

domstate

显示客户端状态。

quit

退出这个互动终端。

reboot

重新启动客户端。

restore

恢复以前保存在文件中的客户端。

resume

恢复暂停的客户端。

save

将客户端当前状态保存到某个文件中。

shutdown

关闭某个域。

suspend

暂停客户端。

undefine

删除与客户端关联的所有文件。

migrate

将客户端迁移到另一台主机中。

Description

setmem

为客户端设定分配的内存。

setmaxmem

为管理程序设定内存上限。

setvcpus

修改为客户端分配的虚拟 CPU 数目。

vcpuinfo

显示客户端的虚拟 CPU 信息。

vcpupin

控制客户端的虚拟 CPU 亲和性。

domblkstat

显示正在运行的客户端的块设备统计。

domifstat

显示正在运行的客户端的网络接口统计。

attach-device

使用 XML 文件中的设备定义在客户端中添加设备。

attach-disk

在客户端中附加新磁盘设备。

attach-interface

在客户端中附加新网络接口。

detach-device

从客户端中分离设备,使用同样的 XML 描述作为命令attach-device

detach-disk

从客户端中分离磁盘设备。

detach-interface

从客户端中分离网络接口。

??

Description

version

显?示? virsh 版?本?

nodeinfo

有?关?管?理?程?序?的?输?出?信?息?

1.2.2 virsh命令来创建虚拟机步骤

(1)生成硬盘镜像文件

root@host:kvm-img create -f rawtest.img 10G

(2)编写xml配置文件,这一步在1.2.3节具体介绍

(3)创建并运行虚拟机

root@host:virsh create test.xml

其中“test.xml”指定步骤(2)中创建的xml文件

       这样一个虚拟机便创建起来了。

1.2.3 xml配置文件的编写

利用virsh工具创建虚拟机必须编写xml配置文件,该文件指定虚拟机的各项参数,比如虚拟机名称、磁盘镜像的位置、内存大小、显示配置等等。下面给出一个简单的配置文件的例子。

#test.xml

 

<domain type='qemu'>

  <name>windowsXP</name>

  <uuid></uuid>

  <memory>500000</memory>

  <currentMemory>500000</currentMemory>

  <vcpu>1</vcpu>

  <os>

    <type arch='i686'machine='pc'>hvm</type>  

    <boot dev='hd'/>

    <boot dev='cdrom'/>

  </os>

  <devices>

    <emulator>/usr/bin/qemu-system-x86_64</emulator>

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

      <sourcefile='/home/turnupthesun/kvm/windowsXP.iso'/>

      <target dev='hdc'/>

      <readonly/>

    </disk>

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

 

      <sourcefile='/home/turnupthesun/kvm/windowsXP.img'/>

      <target dev='hda'/>

    </disk>

       <graphicstype='vnc' port='14' listen='127.0.0.1'/>

  </devices>

</domain>

下面介绍其中几个比较重要的元素及属性。

(1)<domain>元素的type属性指定运行域的虚拟机管理器,针对kvm应当选择“qemu”。

(2)<name>元素的内容指定域的名字。

(3)<memory>元素和<currentMemory>元素的内容非别指定启动时为域分配的最大内存和实际分配的内存。

(4)<os></os>元素之间的内容用来指定操作系统启动的一些信息。其中重复的<boot>元素形成了一个启动顺序表,比如例子中先从磁盘启动,磁盘无法启动再从光盘启动。

(5)<disk>元素的device属性指明不同的设备,<source>标签的file属性指明这些设备的位置。

1.3 如何通过图形化界面virt-manager来创建虚拟机

   Virt-manger既虚拟机管理器,是创建和管理虚拟客户端的图形工具。具体的操作步骤为:

①   从控制台窗口启动这个工具,从root身份输入virt-manager命令,点击file菜单

的”新建”选项。


②   virt-manager显示两种虚拟化方法:Qemu/KVM或者Xen,这里选择Qemu/KVM作

为hypervisor。


③  选择虚拟机名称和指定一种安装方法,通过网络安装服务器或者本地CD/DVD驱动包括本地ISO文件,在此我用本地ISO的安装方法。


④ 输入本地ISO文件路径和文件名(假设本地ISO的路径就在根目录下,名称为Mini-BT3.6.1.iso)


⑤ 设置虚拟机使用的内存容量和处理器数量。

 ⑥  配置虚拟机的存储方法。对于存储后端有两种选择:物理存储设备或者使用之前建立的磁盘文件。如果处于简单测试,创建文件作为存储后端。当创建虚拟磁盘时,默认为10GB。


 ⑦ 网络配置,在这里选择NAT方式。


这样一个虚拟机就开始启动起来了,将会出现启动界面,最后出现虚拟机中操作系统的界面。



阅读(1289) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~