proxmox openwrt软路由 群晖折腾总结

proxmox openwrt软路由 群晖折腾总结

  • 无订阅升级proxmox
  • 直通硬盘
  • 安装openwrt
  • 修改虚拟机ID
  • 磁盘镜像和恢复
  • 备份虚拟机到USB设备
  • 群晖移动套件安装位置
  • docker安装calibre-web

无订阅升级proxmox

1、添加下面一行到/etc/apt/sources.list

deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription

2、将/etc/apt/sources.list.d/pve-enterprise.list内容注销掉
3、执行

apt update apt upgrade apt dist-upgrade

4、从7.4-15升级到8.0,执行下面命令检查,保证没有错误

pve7to8 pve7to8 --full

5、修改源地址

sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list echo "#deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list echo "deb http://download.proxmox.com/debian/ceph-quincy bookworm no-subscription" > /etc/apt/sources.list.d/ceph.list

6、升级

apt update apt dist-upgrade

直通硬盘

1、查看硬盘列表

ls -la /dev/disk/by-id/ | grep -v dm | grep -v lvm | grep -v part

2、根据vmid和类型(sata或scsi)编号直通硬盘

qm set <vmid> --sataX /dev/disk/by-id/xxxxxxx qm set <vmid> --scsiX /dev/disk/by-id/xxxxxxx

安装openwrt

1、新建虚拟机,删除默认添加的硬盘
2、将镜像文件,比如openwrt-x64-R22.5.5-generic-squashfs-combined-efi.img通过scp上传到proxmox目录
3、执行下面命令(虚拟机ID为100,文件位于/root)

qm importdisk 100 /root/openwrt-x64-R22.5.5-generic-squashfs-combined-efi.img local-lvm

4、如果觉得硬盘容量太小,可以在proxmox管理页面直接调整硬盘容量

修改虚拟机ID

1、关闭需要更改ID的虚拟机
2、proxmox打开shell,进入节点目录:cd /etc/pve/nodes/nodename/
kvm虚拟机进入qemu-server目录下,将配置文件名的ID修改为目标ID,编辑对应文件,修改其中的硬盘镜像ID
3、进入pve目录:cd /dev/pve/
修改对应ID文件名为目标ID
4、修改vg名称:lvrename pve vm-(oldId)-disk-0 vm-(newId)-disk-0

磁盘镜像和恢复

1、关闭虚拟机
2、执行以下命令生成qcow2文件

qemu-img convert -O qcow2 -f raw /dev/pve/vm-100-disk-0 VM100.qcow2

3、恢复到虚拟机

qm importdisk 100 VM100.qcow2 local-lvm

备份虚拟机到USB设备

1、插入usb设备,在node下面的Disks选项查看usb设备名称(比如sdf),打开proxmox shell,首先建立挂载目录(/mnt/usbdisk),然后执行下面命令挂载usb设备

mount /dev/sdf1 /mnt/usbdisk

2、打开DataCenter中的Storage选项,左上角Add添加Directory,填入ID(存储名称:自定义),Directory(挂载目录:/mnt/usbdisk),Content选择VZDump backup file,添加以后左侧会显示出对应的存储名称
3、在DataCenter中选择多个虚拟机备份,或者在每个虚拟机下面选择备份
4、proxmox备份选项:

  • snapshot mode 不需要很长的停机时间,代价为可能的一小部分数据不一致,执行 Proxmox VE Live backup,当 VM 在运行的时候拷贝 data blocks
  • suspend mode 因兼容原因提供,在调用 snapshot mode 之前 suspend VM,因为 suspend VM 会导致较长时间的停机时间
  • stop mode 这个模式以短暂停止 VM 的代价提供了高一致性备份。这个模式会先关闭 VM,然后在后台执行 Qemu 进程来备份 VM 数据,一旦备份完成,如果之前 VM 在运行会继续 VM 的运行状态

5、虚拟机每个硬盘的Backup选项表示是否要备份该硬盘

群晖移动套件安装位置

#!/bin/bash #usage: synomove app srcVol dstVol echo $1 echo $2 echo $3 mv /$2/\@appconf/$1/ /$3/\@appconf/ mv /$2/\@apphome/$1/ /$3/\@apphome/ mv /$2/\@appstore/$1/ /$3/\@appstore/ mv /$2/\@apptemp/$1/ /$3/\@apptemp/ mv /$2/\@appdata/$1/ /$3/\@appdata/ ln -sf /$3/\@appconf/$1 /var/packages/$1/etc ln -sf /$3/\@apphome/$1 /var/packages/$1/home ln -sf /$3/\@appstore/$1 /var/packages/$1/target ln -sf /$3/\@apptemp/$1 /var/packages/$1/tmp ln -sf /$3/\@appdata/$1 /var/packages/$1/var

docker安装calibre-web

mount --make-shared /volume1/ admin admin123 docker run -d \ --name=calibre-web \ -e PUID=1026 \ -e PGID=100 \ -e TZ=Europe/Lisbon \ -e DOCKER_MODS=ghcr.io/linuxserver/mods:universal-calibre \ -e OAUTHLIB_RELAX_TOKEN_SCOPE=1 \ -e TP_THEME=aquamarine \ -p 8083:8083 \ -v /volume1/docker/calibre-web/config:/config \ -v /volume1/book:/book \ --restart unless-stopped \ lscr.io/linuxserver/calibre-web