mac(OSX) Big Sur上使用libvirt+qemu安装和运行ubuntu 20.04 LTS虚拟机(VM)

概述

主力电脑使用Mac的情况下,有的项目会需要Linux环境来编译项目。这个时候有很多选择,比如docker容器(docker mac desktop 今年开始对200人以上团队的公司收费了)、服务器开发机等等。

当然还有就是安装Linux虚拟机(virtual machine),成熟的商业版虚拟机环境提供商VirtualBox, Parallell等等。本文介绍了在mac osx x86版本上使用Linux常用的虚拟机qemu和和管理工具libvirt搭建Linux虚拟机。

qemulibvirt是啥关系?

qemu是实际的虚拟机,而用来配置qemu的参数有很多。libvirt可以理解为是用来配置管理参数的。

本文接下来记录了安装Ubuntu 20.0.4 LTS服务器版本的流程。

安装virshqemu

首先使用Homebrew安装virshqemu

brew install libvirt qemu

另一个,从Github拉取qemu的源代码后再进行build安装qemu的方法是

git clone https://github.com/qemu/qemu.git
cd qemu
mkdir build
cd build
../configure
make

从源码安装qemu可以参考qemu wiki

准备Ubuntu的镜像文件和virsh的配置文件

Ubuntu镜像文件

准备Ubuntu的镜像安装文件,从发行版的官网选择镜像文件,这里使用的是Ubuntu 20.0.4 LTS服务器的版本。

这里假设我们存放镜像文件的的路径是

~/Downloads/ubuntu-20.04.4-live-server-amd64.iso

virsh配置文件

准备一个文件夹vm_ubuntu存放配置文件和虚拟机qcow2文件。

mkdir vm_ubuntu
cd vm_ubuntu

这里假设vm_ubuntu文件夹的路径是

~/Documents/vm_ubuntu/

这里我们需要创建一个qcow2的文件作为虚机的镜像和硬盘,使用到了qemu-img的命令。

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

准备工作完成了一半,接下来是最重要的virsh配置文件的准备。

文件名 ubuntu_server.xml,文件内容如下。


    ubuntu_server
    9ba74175-00e8-4837-a0ff-00ac74b732cb
    2
    
        Westmere
    
    2
    
        
        
    
    
        hvm
        
    
    
    destroy
    restart
    destroy
    
        
        
    
    
        /usr/local/bin/qemu-system-x86_64
        
        
            
            
            
        
        
            
            
        
        
            
        
        
        
        
        
    
    
    
        
        
        
        
        
        
    

Build和运行虚机

按照顺序调用命令来构建虚机

virsh define ubuntu_server.xml

运行虚机

virsh start ubuntu_server

这个时候,我们需要VNC来访问虚机的可交互界面,这里使用TigerVNC

按照上述的配置,访问地址和端口为

127.0.0.1:5900

在一次启动虚机的时候需要按ctrl+shift+delet,之后按esc,剩下的就是标准的Ubuntu安装流程,这里不做叙述。

关闭虚机的命令

virsh shutdown ubuntu_server

或者删除虚机(注意备份)

virsh destroy ubuntu_server

更多关于virsh配置文件需要注意的地方

因为参数过多,就不一一解释,这里来说说CPU的架构,经测试目前mac上面只能构建SandyBridge之前的x86_64架构的虚拟机,这里我们定义是Westmere架构的cpu。

如果想多了解你安装的qemu支持的虚拟机型号和cpu型号可以调用下面的命令。

qemu-system-x86_64 -machine help

q35型号机器对应的cpu型号列表。

qemu-system-x86_64 -machine q35 -cpu help

另外提醒这里

...

...
/usr/local/bin/qemu-system-x86_64
...

...

需要完整的路径比如

/usr/data/vm_ubuntu/ubuntu.qcow2

此外,qemu-system-x86_64还需要定义可执行文件的存放路径,查找路径可以使用命令。

which qemu-system-x86_64

你可能感兴趣的:(mac(OSX) Big Sur上使用libvirt+qemu安装和运行ubuntu 20.04 LTS虚拟机(VM))