qemu-kvm、qemu-img命令使用方式

本文介绍使用qemu-kvm管理vms:

一、Qemu的作用:

  • 处理器模拟器
  • 仿真各种IO设备
  • 将仿真设备连接至主机的物理设备
  • 提供用户接口

二、qemu-kvm命令

格式:qemu-kvm [options] [disk_image]

1、选项类别:

标准选项、块设备相关选项、显示选项、网络选项、...

(1)、标准选项:
  • -machine [type=]name:-machine help来获取列表,用于指定模拟的主机类型;
  • -cpu cpu:-cpu help来获取列表;用于指定要模拟的CPU型号;
  • -smp n[,maxcpus=cpus处理器数量][,cores=cores内核数量][,threads=threads线程][,sockets=sockets插槽]:指明虚拟机上vcpu的数量及拓扑;
  • -boot [order=drives][,once=drives][,menu=on|off] [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]
  • order:各设备的引导次序:c表示第一块硬盘,d表示第一个光驱设备;-boot order=dc,once=d
  • -m megs:虚拟机的内存大小;
  • -name NAME:当前虚拟机的名称,要惟一;
(2)、块设备相关的选项:

传统表示方式:

  • -hda/-hdb file:指明IDE总线类型的磁盘映射文件路径;第0和第1个;
  • -hdc/-hdd file:第2和第3个;
  • -cdrom file:指定要使用光盘映像文件;
  • -drive [file=file][,if=type][,media=d][,index=i] [,cache=writethrough|writeback|none|directsync|unsafe][,format=f]:
  • file=/PATH/TO/SOME_IMAGE_FIL>E:映像文件路径;
  • if=TYPE:块设备总线类型,ide, scsi, sd, floppy, virtio,...
  • media=TYPE:介质类型,cdrom和disk;
  • index=i:设定同一类型设备多个设备的编号;
    cache=writethrough|writeback|none|directsync|unsafe:缓存方式;
  • format=f:磁盘映像文件的格式;

qemu-img创建磁盘实例:

#创建一个磁盘
[root@node-64 ~]# qemu-img create -f qcow2 -o preallocation=metadata,size=2G /vms/cirros/newdisk.qcow2
Formatting '/vms/cirros/newdisk.qcow2', fmt=qcow2 size=2147483648 encryption=off cluster_size=65536 preallocation='metadata' lazy_refcounts=off 
(3)、显示选项:
  • -display type:显示的类型,sdl, curses, none和vnc;
  • -nographic:不使用图形接口;
  • -vga [std|cirrus|vmware|qxl|xenfb|none]:模拟出的显卡的型号;
  • -vnc display[,option[,option[,...]]]]:启动一个vnc server来显示虚拟机接口; 让qemu进程监听一个vnc接口;
display有以下几种:
  • (1) HOST:N方式

    • 在HOST主机的第N个桌面号输出vnc;
      • 例如5900:1
  • (2) unix:/PATH/TO/SOCK_FILE

  • (3) none不显示

options:
  • password:连接此服务所需要的密码;

-monitor stdio:在标准输出上显示monitor界面;

Ctrl-a, c:在console和monitor之间切换;
Ctrl-a, h

(4)、网络选项:

-net nic[,vlan=n][,macaddr=mac][,model=type][,name=str][,addr=str][,vectors=v]
为虚拟机创建一个网络接口,并将其添加至指定的VLAN;

  • model=type:指明模拟出的网卡的型号,ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio;

-net nic,model=?

  • macaddr=mac:指明mac地址;52:54:00:

-net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile]:
通过物理的TAP网络接口连接至vlan n;

  • script=file:启动虚拟机时要执行的脚本,默认为/etc/qemu-ifup
  • downscript=dfile:关闭虚拟机时要执行的脚本,/etc/qemu-ifdown
  • ifname=NAME:自定义接口名称;
(5)、其它选项:

-daemonize:以守护进程运行;

注意:创建磁盘映像文件,用于存放虚拟机虚拟磁盘,稀疏格式的,实际占用空间要远小于创建声明空间大小:

示例1:创建虚拟机实例

~]# qumu-dmg create -f qcow2 -o preallocation=metadata,size=10G /vms/centos/centos7.img
#查看新创建映像文件信息
~]# qemu-img info centos7.img

~]#  qemu-kvm -name c2 -smp 2,maxcpus=4,sockets=2,cores=2 -m 128 -drive file=/vms/centos/centos7.img,if=virtio -vnc  :1 -daemonize -net nic,model=e1000,macaddr=52:54:00:00:00:11 -net tap,script=/etc/qemu-ifup

示例2:创建虚拟机实例

#添加一个网桥
~]# brctl addbr br0 

# 查看创建的网桥
~]# brctl show 

#将创建的网桥开启
~]# ifconfig br0 up 

#安装qemu-kvm工具包
~]# yum install qemu-kvm 

#由于安装好的qemu不在/usr/bin/下所以需要链接至其下
~]# ln -sv /usr/libexec/qemu-kvm /usr/bin/ 

#查看所支持模拟机器的类型
~]# qemu-kvm -machine ?

#查看模拟所支持的cpu的类型
~]# qemu-kvm -cpu ?  

CentOS磁盘镜像文件下载:
https://cloud.centos.org/centos/7/images/

#新建一个网卡脚本,使虚拟机网卡自动添加网桥
~]# vim  /etc/qemu-ifup  

#!/bin/bash
#
bridge=br0

if [ -n “$1” ];then
ip link set $1 up
sleep 1
brctl addif $bridge $1
[ $? -eq 0 ] && exit 0 || exit 1
else
echo “Error: no interface specified.”
exit 2
fi

#检查脚本的语法错误
~]# bash -n /etc/qemu-ifup   

#添加执行权限
~]# chmod +x /etc/qemu-ifup   

#创建文件夹。来存放磁盘镜像文件
~]# mkdir /data/VMs/c1   -p 

# 进入此目录下
~]# cd /data/VMs/c1/   进入此目录下

#将此镜像文件下载到本目录下
~]#wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

#将文件重新命名
~]# mv cirros-0.4.0-x86_64-disk.img c1.img   

#创建虚拟机
~]#  qemu-kvm -name c1 -smp 2 -m 128 -cpu host -drive file=/data/VMs/c1/c1.img,if=virtio,media=disk,cache=writeback,format=qcow2 -net nic,macaddr=52:54:00:00:00:11,model=virtio -net tap,script=/etc/qemu-ifup -vnc :0 (回车查看5900的端口 已经打开了)

通过桌面上的vnc链接到本机的IP地址192.168.1.64:0  (就可以连接上了)

连接上之后,给此虚拟机添加一个IP地址:ifconfig eth0 10.0.0.4/16

查看添加的网卡接口位:tap0

远程ssh也是可以来凝结本虚拟机的。

如果需要关闭虚拟机直接将qemu进程杀掉就可以了。

如果再创建一个虚拟机,vnc的编号要改;mac地址也要改;磁盘镜像文件也要添加新的

 

参考链接:
http://www.178linux.com/103971

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,110评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,443评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,474评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,881评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,902评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,698评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,418评论 3 419
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,332评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,796评论 1 316
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,968评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,110评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,792评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,455评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,003评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,130评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,348评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,047评论 2 355

推荐阅读更多精彩内容