共计 4612 个字符,预计需要花费 12 分钟才能阅读完成。
这篇文章主要介绍了 qemu-kvm 如何创建虚拟机并设置网络,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
一:介绍
Hypervisor:是一种“虚拟机监视器(VMM)”,它介于裸机硬件和操作系统之间的组件,通过它,可以在物理服务器上安装多个操作系统。
VNC:是一个在 UNIX 和 Linux 平台上的远程控制开源程序,有:vncserver,vncviewer,vncpasswd,和 vncconnect。
KVM:Linux 2.6X 版本中加入的内核模块,分为两个:kvm.ko 和 kvm_intel.ko / kvm_amd.ko
QEMU-KVM:KVM 是一个可以虚拟 CPU 和内存的模块,但是不能够虚拟 I / O 等,所以它借鉴了 QEMU,形成了一个 QEMU-KVM 的工具。利用它,用户可以很方便的操作 KVM 内核,虚拟出虚拟机、虚拟磁盘等。
虚拟化分为:
半虚拟化:完全用软件模拟,不需要硬件支持,速度慢 = xen
全虚拟化:需要硬件支持,速度快 == KVM
二:创建虚拟机
1、查看 cup 是否支持虚拟
grep -E -o vmx|svm --color /proc/cpuinfo
注意:如果想在 vmwareWorkstation 的虚拟机中使用 KVM,
则需要在设置那里开启 VT- X 技术,如图:
2、查看 Linux 内核是否加载了 kvm 模块
lsmod | grep kvm
3、加载 KVM 模块
modprobe kvm
modprobe kvm_intel
4、安装 qemu-kvm,安装完成后会生成 /usr/libexec/qemu-kvm,是用户空间操作 kvm 内核的接口,安装后,会自动加载上面的 KVM 模块
yum install -y qemu-kvm
5、通过网络上传 ISO 镜像文件
通过 CRT 的 Alt + p 打开 ftp 客户端上传即可
6、生成一个 8G 的镜像文件,作为虚拟机的磁盘
qemu-img create -f raw /root/hadoop.img 8G 默认生成 raw 格式,给多少就一次性划分多少
qemu-img create -f qcow2 /root/hadoop.img 8G 生成 qcow2 格式,用多少算多少
7、使用 qemu-kvm 创建虚拟机 (参数说明 -m 指定内存大小 -smp 指定 cup 数量 -boot 启动顺序)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd
-cdrom /iso/CentOS-6.6-x86_64-minimal.iso -hda /cloud/CentOS.img -vnc :1
参数说明: -m 指定客户机内存大小,默认单位 MB
-smp 指定客户机 cpu 个数。SMP:(symmetric[sɪ metrɪk] Multi-processing) 对称多处理
-boot 指定客户机系统启动顺序,order=cd 是指先光盘再硬盘。c:CD-ROM d:Hard Disk
-hda 指定客户机的 IDE 硬盘(即前面的创建的镜像文件) -cdrom 指定客户机的光驱
8、安装 vnc 或使用 vnc 工具连接虚拟机,给虚拟机安装系统
9、关闭虚拟机并再次启动虚拟机, 指定 vnc 端口为 5901(不需要指定 cdrom,因为已经将操作系统安装到磁盘中了,当然指定也没有关系,因为会检测是否安装了操作系统!)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -vnc :1
三:配置网络(brigde、nat、host-only)注意:brctl 和 tunctl 只是临时创建,并不会修改 network-scripts 下面的 ifcfg-eth0 信息,所以开机会恢复。
说明:需要 bridge-utils 和 tunctl 的支持。
brctl 是 Linux 下用来创建和管理以太网桥,在内核中建立、维护、检查网桥配置的命令 tunctl 是用来创建 tap 以及 tun 模式的网桥端口。
在计算机网络中 TUN 与 TAP 是操作系统内核中的虚拟网络设备。不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能。
TAP 等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN 模拟了网络层设备,操作第三层数据包比如 IP 数据封包。
bridge 桥接配置
1、要安装 bridge-utils tunctl
yum install -y bridge-utils tunctl
2、添加一个 br0 网桥 (桥接类型)
brctl addbr br0
ifconfig br0 up
3、hypervisor 的 etho 也需要绑定到 bridge 上, 一步执行完成(注意修改成自己的 IP)
brctl addif br0 eth0 brctl stp br0 on ifconfig eth0 0.0.0.0
ifconfig br0 192.168.33.250 netmask 255.255.255.0 route add default gw 192.168.33.1
4、创建 TAP 类型虚拟网卡设备,用于绑定虚拟机的网卡绑定
tunctl -t vnet0
ifconfig vnet0 up
brctl addif br0 vnet0
brctl show
5、创建虚拟机并关联网卡(可以连续带多个 vnet)
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -cdrom /kvmhost/iso/centos-6.7.iso
-hda /kvmhost/kvms/test.img -net nic -net tap,ifname=vnet0,script=no,downscript=no
-net nic -net tap,ifname=vnet1,script=no,downscript=no -vnc :1
6、启动虚拟机并关联网卡(可以连续带多个 vnet)并添加 mac 地址
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img
-net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no
7、编辑 ifcfg-eth0 配置
静态 ip(和物理机在同一个网段) 配置子网掩码
配置 dns1
配置默认网关(和物理机同一网关)
8、重新启动 network service network restart 即可
host-only 配置
1、要安装 bridge-utils tunctl
yum install -y bridge-utils tunctl
2、添加一个 hostonlybr0 网桥 (桥接类型)
brctl addbr hostonlybr0
ifconfig hostonlybr0 up
3、给网桥设置一个随意的 ip 地址(不需要吧 eth0 绑定到此网桥上,也就是和 eth0 隔离)
4、创建 TAP 类型虚拟网卡设备,用于绑定虚拟机的网卡绑定
tunctl -t vnet0
ifconfig vnet0 up
brctl addif hostonlybr0 vnet0
brctl show
5、创建虚拟机并关联网卡
/usr/libexec/qemu-kvm -m 4096 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic -net tap,ifname=vnet0,script=no,downscript=no
6、启动虚拟机并关联网卡并添加 mac 地址
/usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no
7、编辑 ifcfg-eth0 配置
静态 ip(随意一个网段,大家都在一起即可) 配置子网掩码
配置 dns1
配置默认网关(和物理机同一网关)
8、重新启动 network service network restart 即可
四、qemu-img 是一个比较重要的工具,是 QEMU 的磁盘管理工具。
1、查看帮助信息
qemu-img -h
2、查看镜像文件信息
qemu-img info /cloud/CentOS.img
3、创建一个磁盘镜像文件
qemu-img create -f qcow2 /cloud/itcast.img 10G
4、将 raw 格式转换成 qcow2 格式
qemu-img convert -O qcow2 /cloud/itcast.raw /cloud/itcast.qcow2
5、修改镜像大小
qemu-img resize /cloud/test.img +2G
6、检查镜像
qemu-img check /cloud/itcast.qcow2
7、镜像格式
qemu-img 支持多种镜像格式,可通过 qemu-img - h 命令查看,常用的有 qcow2,raw
raw: 原始的磁盘镜像格式,是 qemu-img 命令默认的文件格式,这种格式的文件的优势在于它非常
简单且非常容易移植到其他模拟器上使用。特点一开始就让镜像实际占用了分配空间,但是写入速度稍快一下。 qcow2: 这种格式是 QEMU 目前推荐的镜像格式,它是功能最多的格式,它支持稀疏文件以节省存储空间, 支持加密、压缩、快照等功能
QEMU monitor 是 QEMU 与用户交互的一种控制台,一般用于为 QEMU 模拟器提供较为复杂的功能,
QEMU monitor 的切换
Ctrl + Alt + 2 -- QEMU monitor 状态
Ctrl + Alt + 1 -- 客户机标准显示窗口
显示系统命令状态:info
查看 QEMU 的版本信息
info versions
查看当前 QEMU 是否有 KVM 的支持
info kvm
info name
info status
查看客户机各个 vCPU 的信息
info cpus
查看块设备信息,如硬盘、软盘、光驱等
info block
查看客户机的网络配置信息
info network
显示当前系统中已保存的客户机快照信息
info snapshots
查看当前客户机的迁移状态
info migrate
显示当前客户机的 VNC 状态
info vnc
查看 QEMU monitor 中命令执行的历史
info history
创建快照
savevm snap20150406
恢复快照
loadvm snap20150406
删除快照
delvm snap20150406
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“qemu-kvm 如何创建虚拟机并设置网络”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!