您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > Mac

基于libvirt 和QEMU在macOS安装Ubuntu

时间:2020-08-28 12:57:50  来源:  作者:
基于libvirt 和QEMU在macOS安装Ubuntu

 

在流行的虚拟架构体系中,最重要的技术当然要数libvirt和QEMU了。包括linux虚拟化技术中KVM和xen都使用了QEMU。关于Xen和KVM进行虚拟化,以及在Window下使用Vmware,VirtualBox和hyper-v构建虚拟机,可能大家都有过很多的尝试。今天我们来探索一下在macOS的用libvirt和QEMU构建虚拟机的方法。

概述

首先我们概要介绍一下QEMU和libvirt。

QEMU

QEMU由Fabrice Bellard开发的的CPU开源模拟器,QEMU支持高性能扩平台,可以虚拟出不同架构的虚拟机,如在x86平台上可以虚拟出Solaris来。

基于libvirt 和QEMU在macOS安装Ubuntu

 

libvirt

libvirt是当最常用的KVM虚拟机管理的开源工具和API。以Libvirtd为守护进程,可以被本地或者远程调用,Libvirtd通过调用qemu-kvm操作虚拟机。libvirt由红帽公司开发并用于KVM管理,也支持Xen等虚拟架构下的管理。libvirt旨在为各种虚拟机架构提供一套通用的编程接口,而且支持与JAVAPython多种语言的绑定,所以涌现了一批基于基libvirt的虚拟机管理工具,比如virt-manager(GUI工具),virsh(命令行工具)。其架构示意图如下:

基于libvirt 和QEMU在macOS安装Ubuntu

 

MacOS下的虚拟方案

在MacOS支持收费的虚拟机方案,比如Parallels Desktop和VMWare Fusion,也有一个开源的VirtualBox。但是,VirtualBox不支持macOS的Hypervisor.Framework。

安装libvirt和QEMU

首先,确保macOS安装了,软件包管理器homebrew。此后其他包都用它来安装。

运行一下命令安装qemu和libvirt:

brew install qemu gcc libvirt

如果安装了libvirt6.6.0版本会导致安装失败,这时候请在Terminal中运行以下命令:

for f in /usr/local/Cellar/libvirt/6.6.0/lib/libvirt/*/*.bundle; do

ln -s $f ${f%.bundle}.so;

done

由于macOS不支持QEMU安全功能,因此禁用:

echo 'security_driver = "none"' >> /usr/local/etc/libvirt/qemu.conf

echo "dynamic_ownership = 0" >> /usr/local/etc/libvirt/qemu.conf

echo "remember_owner = 0" >> /usr/local/etc/libvirt/qemu.conf

最后启动libvirt服务:

brew services start libvirt

Ubuntu Server 20.04镜像准备和安装

有两种方法可以使用VNC客户端或virt-viewer来,查看虚拟机界面。推荐RealVNC Viewer。VNC客户端响应迅速且安装迅速,但是如果有多个VM,则需要手动管理不同的端口。使用virt-viewer,会弹出一个弹出窗口,其中包含当前正在运行的所有VM,但是它很耗时,并且安装需要很长时间。

在主目录中创建一个文件夹vms,并生成一个磁盘映像。更改50g为首选磁盘的大小:

mkdir ~/vms && cd ~/vms

qemu-img create -f qcow2 ubuntu.qcow2 50g

下载Ubuntu Server 20.04安装包和和libvirt XML配置模板,然后将.iso和.xml文件放在同一文件夹中。

修改ubuntu.xml文件中的以下元素,以匹配VM首选项和对应文件路径。

<domain type='qemu' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

<name>ubuntu</name>

<memory unit='GB'>50</memory>

<vcpu>2</vcpu>

...

<disk type='file' device='disk'>

<source file='qcow2文件绝对路径'/>

...

<disk type='file' device='cdrom'>

<source file='安装ISO截止绝对路径'/>

保存,然后运行virsh define ubuntu.xml之后virsh start ubuntu。

启动RealVNC Viewer并连接到localhost。单击Ctrl+Alt+Del按钮重新启动计算机,然后快速按Esc进入启动菜单。按与Ubuntu Server映像匹配的数字。

基于libvirt 和QEMU在macOS安装Ubuntu

 

正常安装Ubuntu Server,确保启用SSH服务器。重新启动后,可以通过运行从终端连接到VM ssh -p 2222 user@localhost。

要将关闭VM,请运行virsh shutdown ubuntu。

要强制关闭,请运行virsh destroy ubuntu。

要将端口(例如,端口443)从VM转发到本地的端口8443,请运行以下命令:

ssh -p 2222 -L8443:localhost:443 user@localhost

多个虚拟机支持

如果要创建多个VM,请为每台计算机创建一个具有唯一UUID,VM名称和VNC端口的XML文件。由于不支持桥接,虚拟不能自动网络,所以更改hostfwd参数,给每个VM的SSH公开一个不同的端口,例如2223代替2222。

定义所有它们之后,可以获得当前正在运行的VM的列表:

virsh list。



Tags:macOS Ubuntu   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在流行的虚拟架构体系中,最重要的技术当然要数libvirt和QEMU了。包括Linux虚拟化技术中KVM和xen都使用了QEMU。关于Xen和KVM进行虚拟化,以及在Window下使用Vmware,VirtualBox...【详细内容】
2020-08-28  Tags: macOS Ubuntu  点击:(99)  评论:(0)  加入收藏
▌简易百科推荐
MacBook上有不少像IINA、Downie等强大的神器,有像预览、文档编辑等基础软件,也有一些像快捷指令、Automator以及活动监视器等这样一些效率工具软件。 但是在大部分时候,Mac上自...【详细内容】
2021-12-23  Seek思科    Tags:macOS   点击:(16)  评论:(0)  加入收藏
# macos查看cpu支持的指令集sysctl -a | grep machdep.cpu.features # macos 查看cpu是否支持SSE 4.2sysctl -a | grep machdep.cpu.features | grep SSE # 查看cpu的所有...【详细内容】
2021-12-22  软件架构    Tags:指令集   点击:(10)  评论:(0)  加入收藏
12月14日,苹果正式为Mac用户带来macOS Monterey 12.1版本更新。伴随着新版系统的亮相,“同播共享”功能也来到了Mac上。现在用户可以在Mac上利用FaceTime和对方一同看剧、听音...【详细内容】
2021-12-14  手机中国    Tags:macOS   点击:(19)  评论:(0)  加入收藏
新版MacBook Pro一出来就有个“杀疯了”的头衔,无论是搭载首次为专业用户设计的超高速 M1 Pro 或 M1 Max芯片:拥有最高10核中央处理器, 32核图形处理器,让大项目做起来轻轻松松;...【详细内容】
2021-11-17  果粉iOS    Tags:MacBook   点击:(41)  评论:(0)  加入收藏
新版Mac发布后相信很多人都蠢蠢欲动,尤其据说它运行大项目时“快得十分吓人”&mdash;&mdash;以MI MAX芯片为例,不但拥有 10 个中央处理器核心、最多达 32 个图形处理器核心和...【详细内容】
2021-11-15  Apper    Tags:Macbook   点击:(40)  评论:(0)  加入收藏
MacBook上有不少像IINA、Downie等强大的神器,也有一些像预览、文档编辑、截图等不可替代的基础软件和功能,但是往往这一类自带软件的功能都会存在一些限制。 另外M1 MacBook大...【详细内容】
2021-11-15  Seek思科    Tags:macOS软件   点击:(37)  评论:(0)  加入收藏
苹果新发布的 MacBook Pro 系列产品,是硬生生地给了一个免费的刘海。如果你没法忍受这个有缺陷式的设计,那就继续往下看这篇文章,它将教如何隐藏这个奇怪的刘海设计。 苹果为...【详细内容】
2021-11-09  友爱科技    Tags:MacBook Pro   点击:(95)  评论:(0)  加入收藏
你听过很多播客的内容吗?你有时也会在 Mac 上收听播客吗?或者你可能有兴趣将播客下载到 Mac 离线收听,这样你就可以在旅行或没有网络的情况下使用。 苹果发布的 Podcasts 应用...【详细内容】
2021-11-09  友爱科技    Tags:Mac   点击:(46)  评论:(0)  加入收藏
Safari 标签页分组:macOS Monterey 对 Safari 浏览器进行了一次重大更新。最直观的是,Safari 窗口的标签页颜色会根据网页的颜色进行自动变化,仿佛这个窗口都是网页的内容,带来...【详细内容】
2021-10-27  高效码农    Tags:Monterey   点击:(297)  评论:(0)  加入收藏
CleanMyMac是一款专业且高效的苹果电脑清理软件。一键智能清理功能帮助了许多Mac用户恢复电脑性能,优化运行速度。CleanMyMac不仅颜值高,功能全面,同时,它还能个性化地进行相关...【详细内容】
2021-10-25  miqimiaomiaowu923    Tags:CleanMyMac   点击:(61)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条