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 //然后删除虚拟机
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)