天玑1200使用lxc安装pve管理kvm虚拟机

1、自行安装带kvm的安卓boot,获取最高权限root、安装面具(自行解决,这个是前提)

2、下载termux和两个面具模块

1、从链接下载面具模块及termux(本人提供zerotermux)

链接:https://pan.baidu.com/s/1zAw8-uFUhKtVgt9Ra3djnQ?pwd=doco 提取码:doco

2、安装模块和termux

略,不会有人还不会面具安装模块吧

3、配置zerotermux

安装必要的软件包

pkg install tsu root-repo

4、修改配置文件

检查cgroup版本,根据显示,我是cgroup而不是cgroup2

 mount | grep cgroup

修改配置文件

依据你获取的cgroup版本进行修改,我是c1,修改如下,#是注释的意思

cd /data/lxc/share/lxc/config
vi  common.conf 

关闭局域网轮询(不关貌似会杀lxc)   (经检查,关掉局域网轮询会导致lxc进入睡眠状态)(建议不关掉)

cd /data/adb/modules/LXC/
chmod +x 关闭局域网轮询.sh
./chmod +x 关闭局域网轮询.sh

5、接下来就是安装创建安装debian,然后转装成pve

1、重启一下手机,让模块动起来,脚本跑起来,网络好起来

2、转换命令环境

转换到脚本目录下

注意,一定要删除之前存在的/data/lxc

调用lxc的环境准备创建lxc

cd /data/adb/modules/LXC/
source env.sh

3、创建lxc

范例:my-container是你lxc的名字

lxc-create -t download -n my-container -- --server mirrors.tuna.tsinghua.edu.cn/lxc-images --no-validate

我创建的名字为:pve,所以指令为:

lxc-create -t download -n pve -- --server mirrors.tuna.tsinghua.edu.cn/lxc-images --no-validate

接下来他会让你输入linux发行版、版本、服务器架构:

我是debian bookworm arm64

所以我依次输入

debian
bookworm
arm64

以下是创好lxc的情况:

4、修改密码

-F是为了启动lxc同时使用命令行进入

lxc-start pve -d -F
cd /data/adb/modules/LXC
vi 配置.conf

将linux名字改成自己的名字,我这里的是pve

./配置.conf

5、开始安装pve

1、换debian源及添加pve源和公钥

回到之前打开的lxc命令内

自行输入root账号和123456密码

执行命令改换软件源为中科大源

sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

执行命令添加pve源以及公钥

echo "deb https://mirrors.apqa.cn/proxmox/debian/pve bookworm port">/etc/apt/sources.list.d/pveport.list
apt install curl
curl https://mirrors.apqa.cn/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg  

2、更换path位置,开始安装pve

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
apt update && apt install -y proxmox-ve

安装完成之后修改host

6、修改host

vi /etc/hosts

修改如下

7、重启pve组件

systemctl restart pvestatd pve-cluster pveproxy pvedaemon

报错

解决办法:使用命令修复:

mknod -m 666 /dev/fuse c 10 229

永久解决办法:

1、永久修复环境问题

使用debian的开机自启脚本方式修复,这里使用的是/etc/init.d方式进行开机自启

先创建一个文件

mkdir /opt/pveInit
vi /opt/pveInit/pveInit.sh

修改内容如下所示

#!/bin/bash

  mknod -m 666 /dev/fuse c 10 229
  mknod -m 666 /dev/kvm c 10 232
  mknod -m 666 /dev/vsock c 10 104
  mknod -m 666 /dev/vhost-net c 10 238
  mknod -m 666 /dev/vhost-vsock c 10 241
  systemctl start pvestatd pve-cluster pveproxy pvedaemon
  echo "nameserver 223.5.5.5" >>/etc/resolv.conf

创建服务内并设置启动

vi /etc/systemd/system/pveInit.service

添加以下内容

[Unit]
Description=PVE Initialization Script
After=network.target

[Service]
ExecStart=/opt/pveInit/pveInit.sh
Type=simple
Restart=on-failure

[Install]
WantedBy=multi-user.target

2、修复efi

手动将网盘里的AAVMF_CODE.ms.fd 替换掉pve里面的   /usr/share/pve-edk2-firmware/AAVMF_CODE.ms.fd

6、注意事项

1、 网络暂时使用user模式(即增设args的内容并且不增设网络设备)如下

args: -netdev user,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=02:11:32:2a:76:f2
balloon: 0
bios: ovmf
boot: order=scsi0;scsi2
cores: 8
efidisk0: local:100/vm-100-disk-0.qcow2,efitype=4m,pre-enrolled-keys=1,size=64M
memory: 4096
meta: creation-qemu=8.1.5,ctime=1718692188
name: debian
numa: 0
ostype: l26
scsi0: local:100/vm-100-disk-1.qcow2,aio=threads,iothread=1,size=32G,ssd=1
scsi2: local:iso/debian-testing-arm64-netinst.iso,media=cdrom,size=588076K,aio=threads
scsihw: virtio-scsi-pci
smbios1: uuid=0351e25d-1dd2-403f-a9bf-fe01fcc4188a
sockets: 1

ps:可以增设端口转发

2、注意设备参数

1、bios: ovmf

2、操作系统选择linux

3、系统控制器选择virtio scsi,bios选ovmf

4、 硬盘控制器的io,选择threads,如果有cd,cd需要手动添加aio=threads

5、网络注意设置为无

6、删除预设的cdrom

我这里已经删掉了,没截到图

7、结果发现还是起不来,经检查发现外部启动未给他挂载kvm,手动给启动文件增设kvm

去lxc之外进行操作

cd /data/adb/modules/LXC/share/lxc/config/
vi common.conf

重启lxc,成功启动kvm

7、安装debian虚拟机

debian下载链接 https://www.debian.org/CD/http-ftp/

arm debian iso的下载链接https://cdimage.debian.org/debian-cd/current/arm64/iso-dvd/

1、给虚拟机添加cd,注意格式

2 、修改cd的格式

vi /etc/pve/qemu-server/100.conf

修改为如下所示:(也就是在末尾增加aio=threads)

添加启动项并启动虚拟机

3、端口映射的方法

在id=hostnet0后面加参数hostfwd=tcp::22-:22,hostfwd=tcp::8006-:8006 示例:

args: -netdev user,id=hostnet0,hostfwd=tcp::1022-:22,hostfwd=tcp::18006-:8006 -device e1000,netdev=hostnet0,id=net0,mac=02:11:32:2a:76:f2

4、结束了,以后的路自己走了,各位兄弟如果有空可以一起研究以下内容:

1、网桥用不了,暂时lxc跑的是host网络,虚拟机跑的是user网络

2、lxc的配置,pve底下创建lxc会报loop找不到

3、关于使用8核重启虚拟机之后cpu莫名吃满的情况:

1、猜测原因是qemu或者debian对异构cpu的优化不到位

解决办法:绑核,绑定同架构核心,我这里是4-7为A78大核,所以我绑4-7

5、分享下使用中的快乐

新的内容:解决了网络只能使用user模式,现在网络可以使用nat模式:

做法:先在外部termux创建vmbr0
sudo ip link add name vmbr0 type bridge
sudo ip addr add 10.1.2.2/24 dev vmbr0修改lxc的配置文件:
vi /data/lxc/share/lxc/config/common.conf

在lxc内部创建相应名字的网桥vmbr0
修改初始化文件,添加命令:

在lxc内使用ip link set vmbr0 up 启动网桥
虚拟机使用
e1000网络设备桥接到vmbr0  虚拟机内手动设置  ip为10.1.2.x/24   网关是10.1.2.2
经再次检查,可以再手机内ping通该虚拟机ip,但是无法联网,暂未解决练武问题

手机lxc交流群:835361653        armpve交流群:750937440

版权声明:
作者:maxhonor
链接:https://foxi.buduanwang.vip/arm/3226.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
分享
二维码
海报
天玑1200使用lxc安装pve管理kvm虚拟机 1、自行安装带kvm的安卓boot,获取最高权限root、安装面具(自行解决,这个是前提) 2、下载termux和两个面具模块 1、从……
<<上一篇
下一篇>>
文章目录
关闭
目 录