Proxmox VE
ProxmoxVE(PVE) 7.0配置国内软件源并删除订阅弹窗
参考:
因PVE7.0更换了Debian11作为内核,软件源管理方式也发生了变更,故原软件源配置方法已失效。
默认是企业订阅版,如果不做修改,在使用 pveceph init 进行 ceph 初始化安装的时候会将整个环境破坏,切记!
登陆Shell控制台
【重要】将/etc/apt/sources.list.d/pve-enterprise.list 文件内的唯一一条记录注释掉:
1 | echo "#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list |
Proxmox软件源更换
以下任选其一
- 中科大源
1 | wget https://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg #替换pgp验证身份 |
- Proxmox中文社区源
1 | wget http://download.proxmox.wiki/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg |
Debian系统源更换
以下任选其一
- 阿里Debian源
1 | sed -i.bak "s#ftp.debian.org/debian#mirrors.aliyun.com/debian#g" /etc/apt/sources.list #阿里Debian源 |
- 163-Debian源
1 | sed -i.bak "s#ftp.debian.org/debian#mirrors.163.com/debian#g" /etc/apt/sources.list #163Debian源 |
删除订阅弹窗
去掉PVE登录网页界面时候的订阅提醒
1 | sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service |
更新软件及系统
1 | apt update && apt dist-upgrade #更新 |
开启硬件直通
硬件直通:即外部物理硬件直接可以供给PVE下的虚拟机使用,而不用通过虚拟层进行转换,由于通过虚拟层转换后的硬件性能略减,故要开启硬件功能。
需软件包:vim
参考:
Intel CPU
Grub配置文件更改:
1 | vim /etc/default/grub |
找到:
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet" |
然后修改为:
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" |
更新一下Grub配置到/boot/grub/gru b.cfg
才可以重启生效:
1 | update-grub |
AMD CPU
输入命令:
1 | vim /etc/default/grub |
找到:
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet" |
然后修改为:
1 | GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on" |
更新一下Grub配置:
1 | update-grub |
新增所需模块
修改文件/etc/modules,加入如下的行:
1 | echo "\nvfio \nvfio_iommu_type1 \nvfio_pci \nvfio_virqfd" >> /etc/modules |
执行命令来更新initramfs:
1 | update-initramfs -u -k all |
重启PVE虚拟机
1 | reboot |
LXC/LXD
之前用的是爱快的软路由,它的总体使用感受更适合入门级,还可以用来赚钱,推荐小白入门软路由的系统,其次爱快客打电话推荐开了个繁星业务,同意开了之后,申请关闭好久,差评。除了这些之外,实测Windows7测网速,OpenWRT快与爱快,可能和一个是容器一个是虚拟机有关。我更喜欢专业一点的系统,哪怕是软路由。
参考:
BiliBili-比尔迈克:复合体超级软路由(8)-PVE虚拟机下的复合路由完全打造教程
LXC and LXD: Explaining Linux Containers
安装OpenWRT
选择一个Storage,选择存储为CT Templates(容器模板):
访问 LXC and LXD: Explaining Linux Containers-> OpenWRT复制rootfs.tar.xz的URL:
选择Download from URL:
粘贴URL,为文件起一个名字,.tar.xz
命名。
点击网页SHA256SUMS,复制红框内容:
点击Download:
下载验证完成后就会出现一个OpenWRT.tar.xz
文件。
选择要安装容器的节点,点击shell:
此时ssh方式连接到你的节点。
执行命令:
1 | pct create 108 /mnt/seagate-disk0/PVE-Files/template/cache/OpenWRT.tar.xz --arch amd64 --hostname OpenWrt --rootfs local-lvm:60 --memory 2048 --cores 4 --ostype unmanaged --unprivileged 1 |
- 108 虚拟机ID,此id不能重复
- LXC模板路径一定要写对
- –hostname 虚拟机名称
- –arch 值是你的cpu指令集类型
- –rootfs 值是Storage名称:大小(G)
- –memory 虚拟机的内存大小
- –cores 虚拟机核心数,建议填写CPU核心数
- –ostype 容器系统类型不指定
- –unprivileged 这个应该是启动优先级
首先理清节点下的网络:
- enp1s0,后面有个Type意思是这个是一个网络设备,我的机器只有一个网口,可理解为此项PVE自动加载的网口
- vmbr0,手动添加,理解为添加了一个网域,后面有个enp1s0,意思是将主机的物理网口enp1s0添加到vmbr0网域,此时的enp1s0网口配置了IP(192.168.123.123)、子网(255.255.255.0)、网关(192.168.123.1),相当于PVE系统网口加入了192.168.123.0/24这个网域,至于路由器就是我的物理网口接入的路由器了,可理解为此网域的路由器就是192.168.123.1
- vmbr2,手动添加的另一个网域,网域vmbr1之间不相互干扰,等同于路由隔离,这个网域的路由器将设置为OpenWRT
OpenWRT容器添加WAN网口:
- 网口名称不能随便命名,实验得知eth*可被系统识别
- IPv4 可以DHCP也可以Static,选择Static要保证信息填写正确(如图),选择DHCP要保证路由器开启DHCP
- Bridge选择vmbr0,可理解为加入了我家路由器管理的网域
OpenWRT容器添加LAN网口:
- 网口名称不能随便命名
- IPv4 Static,由于这个是路由器的LAN网口
- MAC address 不用填写
- 防火墙不要
重启,改密码:
由于是容器重启速度非常快。
填入之前修改的密码
成功登陆路由器后台
去掉未订阅的提示
通用
Proxmox VE 6.3 / 6.4 / 7.0 / 7.1 / 7.2 / 7.3 / 7.4 / 8.0 / 8.1 / 8.2 去掉未订阅的提示
1 | sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js |
无误后重启即可
磁盘管理
常用命令
mount
用于挂载设备,Linux系统一般插入某个磁盘需要进行挂载之后才可以进行访问
1 | 输出系统下mount信息 |
findmnt
1 | 显示设备上所有挂载树状图 |
df
1 | 显示挂载的文件系统及其磁盘使用情况 |
blkid
常用于/etc/fstab磁盘挂载查询分区UUID
1 | 显示所有分区的UUID |
lsblk
1 | 显示所有块设备关系,包括lvm卷关系信息等信息 |
LVM
安装完PVE后,PVE默认会将磁盘进行分区,其中包括真实的物理分区/boot和一个虚拟分区lvm,此虚拟分区包含了两个部分,1.系统所在分区 2.虚拟化池,1分区中包含一个物理分区,调整其大小需要先对物理分区进行调整(例如ext4 使用
resize2fs
),后对包含这个物理分区的逻辑卷进行调整(例如lvreduce -L 10G /dev/vg_name/lv_name
)顺序不能错。2虚拟化分区采用使用 Thin Provisioning 技术的存储管理方案,允许你创建逻辑卷的虚拟容量,而不需要立即分配所有实际的存储空间(物理),说百了就是可灵活的加多个磁盘,对这些磁盘存储资源可进行灵活分配,比如我可以将一个新插入的磁盘规划到2分区,2分区就会被逻辑上被看作一个大的存储池,这个池可以被所有的虚拟机灵活取用,按需分配,无论加入多少设备,都可以逻辑上按需规划这些资源到不同的池,不同的池也可以包含所有设备部分/全部资源。扩展知识:ext4上需要lvm扩展这些新的特性,但Btrfs文件系统自带这些新的特性,可以不创建lvm可直接使用lvm这种特性,我觉得少一层lvm或许会有性能提升。
特性
- 动态调整存储空间
扩展卷组:可以动态添加新的物理卷(PV)到现有的卷组(VG)中,以增加存储容量。
扩展逻辑卷:可以动态扩展逻辑卷(LV)的大小,而不需要停机或重新分区。
缩小逻辑卷:可以动态缩小逻辑卷的大小(需要先缩小文件系统)。 - 创建快照
快照卷:可以创建逻辑卷的快照,这些快照可以用于数据备份、测试或恢复操作。快照是写时复制(COW)的,因此只存储自快照创建以来的更改。 - 磁盘条带化(Striping)
提高性能:通过将数据分布在多个物理卷上,可以实现并行I/O操作,从而提高磁盘性能。 - 磁盘镜像(Mirroring)
数据冗余:可以创建逻辑卷的镜像,将数据实时复制到多个物理卷上,提高数据的可靠性和冗余性。 - 移动物理卷
在线移动:可以在系统运行时将数据从一个物理卷移动到另一个物理卷,以便进行硬件维护或升级。 - 硬盘快照和恢复
灵活备份:LVM 的快照功能可以在不停止服务的情况下进行数据备份,并在需要时轻松恢复。 - Thin Provisioning
节省存储:LVM 支持 Thin Provisioning,可以动态分配存储空间,避免预分配未使用的空间,提高存储利用率。 - 卷组管理
卷组:通过卷组管理多个物理卷,简化了存储管理和扩展。可以在卷组内创建和管理多个逻辑卷。
创建
物理卷(Physical Volume,PV)
1 | 物理设备初始化为物理卷 |
卷组(Volume Group,VG)
1 | 将一个或多个物理卷加入到一个卷组中 |
逻辑卷(Logical Volume,LV)
1 | 卷组中创建逻辑卷,lv_name 替换为逻辑卷的名称,10G 为逻辑卷的大小,vg_name 为卷组的名称。 |
查看
查看物理卷、卷组和逻辑卷
1 | 需 sudo |
调整容量
有一个这样的场景:某个磁盘上有一个lvm区,其中包含两个逻辑卷,现将其中一个减小容量后,增加另一个的容量
列出所有逻辑卷及其当前大小
1 | lvdisplay |
确认要调整大小的逻辑卷。例如:
- 逻辑卷1:
/dev/vg_name/lv_name1
- 逻辑卷2:
/dev/vg_name/lv_name2
检查文件系统的大小
1 | df -h |
调整
注意:建议在调整之前备份重要数据,以免造成损失。
- 调整大小时要注意顺序,先进行物理调整,再进行逻辑调整
- 调小某个物理卷时一定要大于存储数据的总容量,才可进行无损调整
1 | 卸载逻辑卷1 |
数据池
在 LVM (Logical Volume Manager) 中,数据池 (Data Pool) 是用于管理存储的高级功能,尤其是涉及快照、克隆等功能时。数据池通常由两个主要的逻辑卷组成:数据池元数据 (Metadata) 和数据池数据 (Data)。数据池是使用 Thin Provisioning 技术的存储管理方案。Thin Provisioning 允许你创建逻辑卷的虚拟容量,而不需要立即分配所有实际的存储空间。这有助于提高存储效率和灵活性。
数据池的主要组件
数据池数据 (Data Pool Data)
作用: 存储实际的数据内容。
详细信息:
- 逻辑卷用于存放文件系统、虚拟机磁盘映像等实际数据。
- 这是数据池的主要部分,用于保存用户数据或虚拟机数据。
命名示例:
1
2├─pve-data_tdata
│ └─pve-data-tpool这里,
pve-data_tdata
是数据池的数据逻辑卷,pve-data-tpool
是数据池的实际存储池。数据池元数据 (Data Pool Metadata)
作用: 管理数据池的元数据,包括跟踪数据块的分配情况、空闲空间、快照信息等。
详细信息:
- 逻辑卷用于存储数据池的元数据。
- 这个部分包含数据池的管理信息,不直接存储用户数据。
命名示例:
1
2├─pve-data_tmeta
│ └─pve-data-tpool这里,
pve-data_tmeta
是数据池的元数据逻辑卷,pve-data-tpool
是数据池的实际存储池。
如需调节数据池大小需调节pve-data-tpool
大小,pve-data_tmeta
的大小到0.1%-1%的pve-data-tpool
的大小。