【运维】windows虚拟机安装arm(aarch64)服务器

windows虚拟机安装arm(aarch64)服务器

一、背景

在日常运维工作过程中,往往会遇到信创的服务器,且不一定能连通外网。我们需要用一台能连外网的机器进行服务信创化,此时可以使用本地电脑通过虚拟机安装基于arm的硬件环境下的服务器。后续的应用可以通过这个环境打成docker镜像再迁移到正式的内网机器进行部署。项目用到的中间件也可以通过这个机器进行联网下载。

二、安装前准备

三、安装步骤

3.1 创建虚拟机文件夹

比如在D盘创建文件夹:D:\qemu-machines\arm64-centos,将QEMU_EFI.fd引导工具拷贝放到该文件夹下。

3.2 安装qemu虚拟机

运行qemu-w64-setup-20210505.exe,进行安装,安装目录自定义,例如,D:\qemu

3.3 生成虚拟机硬盘文件

powershell 复制代码
D:
cd qemu
# 此时进入到qemu的安装目录下,然后执行:
qemu-img create -f qcow2 D:\qemu-machines\arm64-centos\disk1.qcow2 40G

3.4 安装虚拟机

powershell 复制代码
D:
cd qemu
# 此时进入到qemu的安装目录下,然后执行:
set disk=D:\qemu-machines\arm64-centos\disk1.qcow2 (硬盘文件路径)
set bios=D:\qemu-machines\arm64-centos\QEMU_EFI.fd (引导工具路径)
set iso=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 -drive if=none,file=%disk%,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=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

内容如下:

powershell 复制代码
d:
cd qemu
set disk=D:\qemu-machines\arm64-centos\disk1.qcow2 
set cdrom=
set bios=D:\qemu-machines\arm64-centos\QEMU_EFI.fd
set cpus=cortex-a72 -smp 6,sockets=1,cores=6
set memorysize=10812 
set netname=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 -drive if=none,file=%disk%,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=%cdrom%,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net tap,ifname=%netname%

保存该start.cmd文件后,即可双击启动虚拟机。

四、查看系统版本 & 内核

bash 复制代码
# 查看CPU详细信息,核心数、架构(会显示 aarch64)
cat /proc/cpuinfo

# 查看CPU总核心数
grep -c processor /proc/cpuinfo

# 查看架构(确认是arm64/aarch64)
uname -m
相关推荐
公子小六4 小时前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
Elastic 中国社区官方博客4 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜4 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨5 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven5 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘5 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
莫晓燚6 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器
爱和冰阔落6 小时前
【Linux网络】JsonCpp 怎么实现序列化?从 Request/Response 到网络计算器消息设计
linux·运维·网络·php
Decay__6 小时前
01_SQLServer 体系架构全解 —— 实例进程、关系引擎、SQLOS 与事务日志深入
运维·数据库·sql·mysql·架构
我是koten12 小时前
【运维杂谈】K8s遇到Terminating的名称空间删除不了怎么办?(解决方案亲测有效)
linux·运维·服务器·云原生·kubernetes·k8s·名称空间