qemu是什么
qemu全称Quick Emulator, 即快速的模拟器,它本质是一个硬件模拟器,他以小巧,开源,快速著称
qemu本质是一个硬件模拟器,而不是虚拟机,不过搭配上kvm即可称作虚拟机。
qemu VS 其他虚拟机
之前说过,qemu是模拟器, 那么他和主流的虚拟机软件有什么区别呢。首先就是qemu是纯命令行操作的(在不安装其他可视化管理工具的前提下),者也就意味着qemu有更好的自定义性。
再者就是速度快,像vmware之类的虚拟机在启动的时候可能会加载一大堆没必要的服务,浪费内存和cpu,同时qemu本身也很小巧,不会占用太多内存。以下是具体的总结:
qemu |
VMware
|
速度快 |
速度慢
|
占用内存小 |
占用内存大
|
管理简单 |
管理项繁多
|
性能更好 |
性能稍差
|
相反的,qemu也有些些缺点,比如基础版是纯cli界面,对新手不友好,功能较少等
安装qemu
在arch上安装在qemu很简单,在官方仓库里就有,直接使用pacman安装即可:
# 安装qemu
pacman -S qemu
安装好之后,可以通过 ls -l /usr/bin | grep qemu看到在qemu里面有很多命令,不过我们常用的就两个,一个是qemu-img, 另一个是qemu-system-x86_64,这两个命令
会在下一节讲解。
创建和使用qemu
注: 本章是以命令行为基础讲解qemu,如果在上一节安装了完整版的qemu,那么其包含了GUI管理界面,本章不作讲解,因为当你命令行学会了,GUI自然是手到擒来的事儿了。
qemu模拟器的创建和使用和传统的vmware,virtualbox等软件不太一样,vmware等软件的流程是 创建虚拟机 -> 配置虚拟机 -> 启动虚拟机,而qemu的流程是
创建虚拟磁盘文件 -> 启动模拟器
可能有些人不明白qemu的使用流程,为什么没有配置这一步骤,因为在启动模拟器的时候,在命令中就指定了模拟机的各种配置,包括但不限于内存,cpu,磁盘,网络等
创建虚拟磁盘
创建虚拟磁盘其实很简单,使用qemu-img命令即可,他是用来管理虚拟磁盘文件的命令,以下是创建虚拟磁盘的示例: (具体参数参阅qemu-img --help)
# 语法
qemu-img -f FORMAT_TYPE FIELNAME VIRT_DISK_SIZE
# 参数解释
FORMAT_TYPE: 虚拟磁盘的类型
FIELNAME: 虚拟磁盘的名字,也可以写路径
VIRT_DISK_SIZE: 虚拟磁盘的容量
# 示例
qemu-img -f qcow2 arch.qcow2 30G
也可以写路径
qemu-img -f qcow2 /home/cancerai/vm/arch.qcow2 30G
其中qcow2是虚拟磁盘的类型,这也是最推荐的,因为他是弹性的容量,在创建完虚拟磁盘时,占用的容量非常小. 虚拟磁盘的大小会随着虚拟机真实的占用而增大或减小
创建完成后,会生成一个虚拟磁盘文件,具体路径由你创建时的命令决定
使用qemu
之前说过,qemu是个硬件模拟器,也就是说,qemu可以模拟不同的硬件, 具体可以通过以下命令来查看能模拟哪些硬件平台:
ls -l /usr/bin | grep -o "qemu-system-\w\+"
其中 qemu-system- 之后的都是硬件架构名称, 如arm, x86_64等.