ubuntu上利用qemu-kvm创建虚拟机

本文详细介绍了如何在Ubuntu14.04上使用KVM和QEMU技术创建并启动虚拟机的过程,包括配置虚拟化支持、安装KVM相关服务、设置网桥、安装及测试虚拟机等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   kvm是Kernel-based Virtual Machine的缩写,即基于内核的虚拟机技术,运行在具备Intel vt或者AMD-V功能的x86平台上。

在linux2.6.20之后的版本中kvm成为了linux内核的一个模块。

    qemu是独立虚拟软件,能完全独立运行虚拟机,kvm虚拟技术虽然很成熟,但是无法虚拟出真实的机器,qemu-kvm使用

kvm进行虚拟处理,使用qemu做上层界面进行虚拟机管理。

   qemu-kvm在创建虚拟机之前需要创建一个虚拟网桥,将网卡关联到虚拟网桥上。openstack创建虚拟机也是使用的qemu

技术,因此在创建虚拟机时也需要创建网桥设备,我最初做openstack安装时,没有仔细了解qemu-kvm创建虚拟机,后来

通过qemu-kvm创建虚拟机得到了启发,原来需要创建一个网桥,并且要关联网卡,这样openstack安装后来也顺利完成了。

   今天介绍ubuntu1404上通过qemu-kvm创建并启动虚拟机。

第一步、准备虚拟机,设置支持Intel vt或amd-v;

我使用的是mac上的VMware Fusion创建的虚拟机,内存设置4G,硬盘指定20G,高级选项中钩上虚拟化选项,这样就可以

在虚拟机中虚拟化安装虚拟机。


ubuntu1404虚拟机安装完成之后,检查是否支持虚拟化:


我配置的IP和host分别是:192.168.61.122、openstack

第二步、安装kvm相关服务;
root@openstack:~# apt-get install qemu-kvm libvirt-bin virt-manager bridge-utils -y

安装完成之后检查是否安装成功


也可以运行virsh list --all,查看


第三步、检查网桥设备;

第二步安装bridge-utils之后,会在机器上建立一个网桥br0,这时候需要我们设置网桥和eth0关联。

虚拟机网络需要进行如下设置:

root@openstack:~# vi /etc/network/interfaces
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet manual


auto br0
iface br0 inet static
address 192.168.61.122
netmask 255.255.255.0
network 192.168.61.0
gateway 192.168.61.2
dns-nameservers 192.168.61.2
bridge_ports eth0
然后网络重启
root@openstack:~# ifdown br0
root@openstack:~# ifup br0

重启之后查看网络和网桥,网桥IP换成了eth0的ip。


查看网桥,查看到网桥br0是从eth0的网卡出去的。


第四步、安装虚拟机;

查看ubuntu1404虚拟机操作操作系统名称,后面创建虚拟机时需要。

root@openstack:~# virt-install --os-variant list |grep ubuntu
ubuntutrusty         : Ubuntu 14.04 LTS (Trusty Tahr)
ubuntusaucy          : Ubuntu 13.10 (Saucy Salamander)
ubunturaring         : Ubuntu 13.04 (Raring Ringtail)
ubuntuquantal        : Ubuntu 12.10 (Quantal Quetzal)
ubuntuprecise        : Ubuntu 12.04 LTS (Precise Pangolin)
ubuntuoneiric        : Ubuntu 11.10 (Oneiric Ocelot)
ubuntunatty          : Ubuntu 11.04 (Natty Narwhal)
ubuntumaverick       : Ubuntu 10.10 (Maverick Meerkat)
ubuntulucid          : Ubuntu 10.04 LTS (Lucid Lynx)
ubuntukarmic         : Ubuntu 9.10 (Karmic Koala)
ubuntujaunty         : Ubuntu 9.04 (Jaunty Jackalope)
ubuntuintrepid       : Ubuntu 8.10 (Intrepid Ibex)
ubuntuhardy          : Ubuntu 8.04 LTS (Hardy Heron)

创建虚拟机需要指定镜像,这里可以先挂载一个镜像,然后指定该挂载的镜像

root@openstack:~# mount -o loop /home/hadoop/ubuntu-14.04.2-server-amd64.iso /home/hadoop/trustyos
然后就可以创建虚拟机,创建命令如下
root@openstack:~# virt-install --connect=qemu:///system 
--name trustyos     // 虚拟机的名称,可以随便定义
--ram 1024           //内存
--vcpus=2            //虚拟机CPU个数
--os-type=linux      //虚拟机操作系统
--os-variant=ubuntutrusty //操作系统名称,就是前面通过 virt-install --os-variant list得到的对应虚拟机的操作系统名称
--accelerate    //
--hvm           //
--disk path=/home/hadoop/ubuntu-os.img,size=6,bus=virtio //指定虚拟机存储在系统的位置
--location /home/hadoop/trustyos         //指定镜像位置
--extra-args='console=tty0 console=ttyS0' //额外参数
--network bridge=br0,model=virtio        //网络
--graphics none                          //是否开启图形化界面

安装过程会很缓慢,慢慢等待


终于快完了


通过这样安装的虚拟机无法通过ssh连接,除非知道IP地址,或者是带图形界面的虚拟机安装了view-manager之后,通过

view-manager工具访问虚拟机。

这里介绍另外一种安装启动虚拟机的方式。

qemu-system-x86_64 -m 1024 -hdc cirros-0.3.3-x86_64-disk.img -vnc 0.0.0.0:2180 --no-kvm

	

这条命令创建一个内存为1g,对外访问的端口是2180,使用的镜像是cirros-0.3.3-x86_64-disk.img

这里可以使用一个叫checken of the vnc(我的机器是mac)的工具就可以连接了。

	

连接之后,就得到如下界面,输入用户名和密码就可以登录了。cirros   和  cubswin:)

	

	
第五步、虚拟机测试。

 这最后介绍几个命令

virsh destroy trustyos //如果需要删除某个虚拟机,建议先强制关闭虚拟机
virsh undefine trustyos //然后删除虚拟机

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值