windows虚拟机安装arm(aarch64)服务器
一、背景
在日常运维工作过程中,往往会遇到信创的服务器,且不一定能连通外网。我们需要用一台能连外网的机器进行服务信创化,此时可以使用本地电脑通过虚拟机安装基于arm的硬件环境下的服务器。后续的应用可以通过这个环境打成docker镜像再迁移到正式的内网机器进行部署。项目用到的中间件也可以通过这个机器进行联网下载。
二、安装前准备
- qemu-w64-setup-20210505.exe (虚拟机)
- QEMU_EFI.fd (引导工具,bios)
- CentOS-7-aarch64-Minimal-2009.iso 镜像,可自行下载:https://mirrors.bfsu.edu.cn/centos-altarch/7/isos/aarch64/CentOS-7-aarch64-Minimal-2009.iso
- tap-windows-9.21.2.exe (虚拟机与宿主机建立通信的网卡)
三、安装步骤
3.1 创建虚拟机文件夹
比如在D盘创建文件夹:D:\qemu-machines\arm64-centos,将QEMU_EFI.fd引导工具拷贝放到该文件夹下。
3.2 安装qemu虚拟机
运行qemu-w64-setup-20210505.exe,进行安装,安装目录自定义,例如,D:\qemu
3.3 生成虚拟机硬盘文件
D: cd qemu# 此时进入到qemu的安装目录下,然后执行:qemu-img create-f qcow2 D:\qemu-machines\arm64-centos\disk1.qcow2 40G3.4 安装虚拟机
D: cd qemu# 此时进入到qemu的安装目录下,然后执行:setdisk=D:\qemu-machines\arm64-centos\disk1.qcow2(硬盘文件路径)setbios=D:\qemu-machines\arm64-centos\QEMU_EFI.fd(引导工具路径)setiso=CentOS-7-aarch64-Minimal-2009.iso (操作系统镜像路径)# 执行(可默认按照下方命令执行,参数不用改,这个执行命令只为安装操作系统):qemu-system-aarch64.exe-m 8192-cpu cortex-a72-smp 8,sockets=4,cores=2-M virt-bios%bios%-device VGA-device nec-usb-xhci-device usb-mouse-device usb-kbd-driveif=none,file=%disk%,id=hd0-device virtio-blk-device,drive=hd0-driveif=none,file=%iso%,id=cdrom,media=cdrom-device virtio-scsi-device-device scsi-cd,drive=cdrom-net nic-net user,hostfwd=tcp::2222-:22执行完会自动弹窗按照vmware安装centos7一样的步骤安装即可。
3.5安装网卡,与本机网卡进行共享
1.安装tap-windows-9.21.2.exe后,网络适配器会增加一个网卡,我们需要手动改一下名称,这里改为“mytap”。
2.然后右键正在上网的网卡进入属性,然后点击共享,勾选页面上的两个“允许”,然后家庭网络连接处,选择“mytap”,最终点击确定。
3.6启动虚拟机
创建一个cmd文件: D:\qemu-machines\arm64-centos\start.cmd
内容如下:
d: cd qemusetdisk=D:\qemu-machines\arm64-centos\disk1.qcow2setcdrom=setbios=D:\qemu-machines\arm64-centos\QEMU_EFI.fdsetcpus=cortex-a72-smp 6,sockets=1,cores=6setmemorysize=10812setnetname=mytap qemu-system-aarch64.exe-m%memorysize%-cpu%cpus%-M virt-bios%bios%-device VGA-device nec-usb-xhci-device usb-mouse-device usb-kbd-driveif=none,file=%disk%,id=hd0-device virtio-blk-device,drive=hd0-driveif=none,file=%cdrom%,id=cdrom,media=cdrom-device virtio-scsi-device-device scsi-cd,drive=cdrom-net nic-net tap,ifname=%netname%保存该start.cmd文件后,即可双击启动虚拟机。
四、查看系统版本 & 内核
# 查看CPU详细信息,核心数、架构(会显示 aarch64)cat/proc/cpuinfo# 查看CPU总核心数grep-cprocessor /proc/cpuinfo# 查看架构(确认是arm64/aarch64)uname-m