Win10/Win11 借助qume模拟器安装arm64麒麟v10
前言
近两年的国产化进程一直在推进,基于arm架构的国产系统也在积极发展,这里记录一下基于麒麟v10arm版安装常见数据库的方案。
麒麟软件介绍: 银河麒麟高级服务器操作系统V10 - 国产操作系统、银河麒麟、中标麒麟、开放麒麟、星光麒麟——麒麟软件官方网站
arm与x86_64架构存在差异,故无法通过vmware,virtualbox等虚拟机软件直接安装arm版本的麒麟v10,可以通过qume模拟器来模拟。网上方案比较多,这里以win11,qume7.1.0进行演示。
如果不进行OceanBase的安装演示,qume的虚拟硬盘可以少分一点,比如20G,内存8G即可。如果要实验oceanbase 推荐60G以上,内存16G,否则会出现问题。
软件版本一览
| 宿主机器: win11,32G,Intel11代i7,64位 | 
| Qume软件版本: 7.1.0 | 
| 麒麟v10版本: 4.19.90-24.4.v2101.ky1,aarch64 | 
| Mysql 8.0.33-1.el8.aarch64 | 
| Redis redis-5.0.5-1.el7.aarch64 | 
| Mongo mongo-4.0.6-1.el7.aarch64 | 
| Oceanbase oceanbase-all-in-one-4.2.0.0-100120230915135249.el7.aarch64 | 
安装虚拟机
| 步骤 | 
| 
 银河麒麟v10下载(服务器版 桌面版) - 2022-11-24更新_银河麒麟v10镜像iso下载-CSDN博客 | 
| 
 https://qemu.weilnetz.de/w64/2021/qemu-w64-setup-20210505.exe 直接安装,没有硬性要求 
 | 
| 
 qemu-img create -f qcow2 E:\kylin\kylindisk.qcow2 40G | 
| 
 注意替换路径 qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios E:\kylin\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\kylin\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=E:\mirror\Kylin-Server-10-SP2-Release-Build09-20210524-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp::2222-:22 | 
| 
 qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,sockets=4,cores=2 -M virt -bios E:\kylin\QEMU_EFI.fd -device VGA -device nec-usb-xhci -device usb-mouse -device usb-kbd -drive if=none,file=E:\kylin\kylindisk.qcow2,id=hd0 -device virtio-blk-device,drive=hd0 -drive if=none,file=,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -net nic -net user,hostfwd=tcp::2222-:22 | 
| 参考文献: WIN10 x86环境部署ARM虚拟机(银河麒麟)实例_kylin-server-10-sp2-aarch64-release-build09-202105-CSDN博客 https://itas109.blog.csdn.net/article/details/109453945 | 
安装mysql
| 
 根据资料与实际测试,发现 8.0.33-1.el8.aarch64 版本最合适,该版本可以直接通过官网获取。 
 实测在模拟环境中,需要以下依赖(可以借助在能连接外网的环境下,使用yundownloader获得) 
 依次rpm 安装依赖包 然后rpm mysql系列的包 | 
| 
 mv -f /var/lib/mysql /data/ -----> 放到本地挂载硬盘中 ln -s /data/mysql/ /var/lib/mysql 如果遇到权限问题,记得 chown -R mysql:mysql /data/mysql | 
| 
 mysqld --initialize --console | 
| 
 grep 'temporary password' /var/log/mysqld.log |awk -F ' root@localhost: ' '{print $2}' | 
| 
 ALTER USER 'root'@'localhost' IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '你的密码'; flush privileges; 然后退出重新登录 | 
| 
 Use mysql; CREATE USER ‘root’@'%' IDENTIFIED WITH mysql_native_password BY ‘你的密码’ GRANT ALL ON *.* TO 'root'@'%'; flush privileges; | 
安装mongo
| 
 https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongo-4.0.6-1.el7.aarch64.rpm https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/mongodb-tools-4.0.6-1.aarch64.rpm | 
| 
 rpm -ivh mongo-4.0.6-1.el7.aarch64.rpm rpm -ivh mongodb-tools-4.0.6-1.aarch64.rpm | 
| 
 vim /etc/mongod.conf | 
| storage: dbPath: "/data/mongo" #数据存放位置 systemLog: destination: file path: "/data/mongo/mongodb.log" #日志存放位置 net: bindIp: 0.0.0.0 #对远程连接ip不限制 port: 27017 #端口号 processManagement: fork: true #后台启动 security: authorization: enabled | 
| 
 vim /etc/profile.d/mongodb.sh #mongoDB export MONGODB_HOME=/usr/local/mongo export PATH=$PATH:$MONGODB_HOME/bin | 
| 
 | 
| 
 [Unit] Description=mongodb-service After=network.target [Service] Type=forking ExecStart=/usr/local/mongo/bin/mongod --config /etc/mongod.conf PrivateTmp=true [Install] WantedBy=multi-user.target | 
| systemctl daemon-reload | 
| 启动 systemctl start mongodb.service 加入自启动 systemctl enable mongodb.service | 
安装redis
| 0 获取安装包 华为开源镜像站_软件开发服务_华为云 arm类别 华为鲲鹏 依次去找,或者直接下载如下地址 wget https://repo.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/bigdata/redis-5.0.5-1.el7.aarch64.rpm | 
| 
 rpm -ivh redis-5.0.5-1.el7.aarch64.rpm | 
| 
 vim /etc/redis.conf 将bind 127.0.0.1 改成了 bind 0.0.0.0 把6379改成自己想要的端口 启动守护进程 daemonize no 改为 daemonize yes 修改Redis密码 requirepass foobared 改为 requirepass 你的密码 | 
| 
 redis-server /etc/redis.conf | 
| 
 redis-cli auth 你的密码 | 
安装OceanBase社区版
| 0 获取安装包(OceanBase All in One) https://open.oceanbase.com/softwareCenter/community 选择arm版本 | 
| 
 mkdir /data/oceanbase tar -xzf oceanbase-all-in-one.4.0.0.0-beta-100120221102135736.el7.x86_64.tar.gz -C /data/oceanbase | 
| 
 执行 ./install.sh | 
| 
 复制配置文件到home路径,且cd ~ /data/oceanbase/oceanbase-all-in-one/obd/usr/obd/example | 
| 
 | 
| 
 obd cluster deploy lo -c mini-local-example.yaml 
 | 
| 
 obd cluster start lo 
 | 
| 
 obclient -h127.0.0.1 -P2881 -uroot -Doceanbase | 
| 报错及处理方案: 问题1: open files must not be less than 20000 临时: 永久: vim /etc/profile ulimit -HSn 1048576 source /etc/profile | 
| 问题2: 卡initial 通常不超过5分钟,如果超过5分钟,请检查资源 | 
| 一些命令: obd cluster list 查看集群列表 obd cluster deploy <集群名称> 销毁集群 | 
资料备份
| 华为信创镜像: https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/Packages/database/ mv /etc/yum.repos.d/ /etc/yum.repos.d-bak mkdir /etc/yum.repos.d echo -e "[kunpeng]\nname=CentOS-kunpeng - Base - mirrors.huaweicloud.com\nbaseurl=https://mirrors.huaweicloud.com/kunpeng/yum/el/7/aarch64/\ngpgcheck=0\nenabled=1" > /etc/yum.repos.d/CentOS-Base-kunpeng.repo 鲲鹏使能: https://www.hikunpeng.com/document/detail/zh/kunpengdbs/ecosystemEnable/MongoDB/openmind_mangodb3613_03_0025.html | 



