By accessing the website and accepting the Cookie Policy, you agree to use the cookies provided by the Site in accordance with to analyze traffic, remember your preferences, and optimize your experience.

分类 - PVE

2023-12-08 15:04:59    515    0    0

默认LXC容器不允许docker嵌套。要启动虚拟化嵌套功能,需要按照以下步骤在proxmox的母鸡上进行后续操作。

本教程使用新创建的虚拟机进行讲解 (假设创建了 CT100) :

cd /etc/pve/lxc

需要先停止lxc容器,之后对配置文件进行修改

nano 100.conf

在cores字段下加入以下代码:

features: nesting=1,fuse=1,
2023-12-08 15:04:59    3547    0    0

当创建kvm虚拟机后忘记密码、某些文件丢失或损坏无法继续使用虚拟机,宿主机挂载镜像来解决这样的难题。

1 raw格式

方法一

对于未分区镜像文件直接使用loop:

第一步:

file image.img 查看什么格式

第二步:
mount -o loop p_w_picpath.img /mnt/p_w_picpath

lxc容器在这一步,已经可以直接挂载文件到指定位置了

已分区的镜像文件:
如果已知分区的起始位置
mount -o loop,offset=32256 p_w_picpath.img /mnt/p_w_picpath
方法二:

使用losetup + kpartx
losetup /dev/loop0 p_w_picpath.img
kpartx -a /dev/loop0
mount /dev/mapper/loop0p1 /mnt/p_w_picpath
kpartx命令的作用,是让Linux内核读取一个设备上的分区表,然后生成代表相应分区的设备。
kpartx -l p_w_picpathfile 可以查看一个映像文件中的分区,使用 kpartx -a p_w_picpathfile 命令后,就可以通过 /dev/mapper/loop0pX (其中X是 分区号)来访问映像。

2 qcow2格式
对于qcow2格式需要使用qemu-nbd这个工具,如果没有请用yum安装.
modprobe nbd max_part=63
qemu-nbd -c /dev/nbd0 p_w_picpath.img
mount /dev/nbd0p1 /mnt/p_w_picpath

3 如果是LVM格式的镜像:
vgscan
vgchange -ay
mount /dev/VolGroupName/LogVolName /mnt/p_w_picpath

4 最后使用结束需释放资源:
umount /mnt/p_w_picpath
vgchange -an VolGroupName
killall qemu-nbd
kpartx -d /dev/loop0
losetup -d /dev/loop0

 

2023-12-08 15:04:59    495    0    0

图片[1]-KIMSUFI使用proxmox开【IPv4nat+IPv6】小鸡-科技密码

活动昨天跟风入手了KIMSUFI-LE独服,配置和价格都很不错。唯一槽点是机器只有下行是G口,上行被限制在了100M。听说有几率中奖开到上下都是G口,还听说有几率IPV6的上下行都是G口(仅IPV4限速)。结果我开的机器2个奖都没中(′⌒`)。

 

写这个教程主要是给IPV6中奖者开小鸡一个参考。IPv4设置较简单,这里只设置了小鸡可以访问IPv4外网,并没有给小鸡分配端口转发(

2023-12-08 15:04:59    100    0    0

启动救援模式,开启qemu虚拟机挂载本机系统

apt -y update
apt -y install qemu qemu-kvm

wget http://download.proxmox.com/iso/proxmox-ve_7.1-1.iso

qemu-system-x86_64 \
-enable-kvm \
-nodefaults \
-cdrom /root/proxmox-ve_7.1-1.iso \
-hda /dev/sda \
-hdb /dev/sdb \
-cpu host \
-smp 4 \
-m 8G \
-net nic \
-net user \
-vga std \
-vnc 0.0.0.0:0 \
-usbdevice tablet \
-k en-us​

使用VNC连接ip:5900,通过root登陆后排出故障项


2023-12-08 15:04:59    1091    0    0

一:zfs arc缓存介绍

zfs的raid,就像软raid,通过计算机的计算来实现raid,但是缓存从哪里来?内存啊,速度比硬盘快的多,而sun的 Solaris,以前就是怪物一样的超级大内存,所以ZFS在设计的时候,就很耗内存,移植到linux之后还带着这样的基因,占用50%的物理内存做zfs缓存。


二:检查内存占用

我的32G内存,就占了一半多一点,系统还得占点。

arcstat,pve管理界面,这些地方都能看到。


三:设置arc最大内存

这就是ZFS允许减小允许使用ARC大小的最大大小的原因。此设置在/etc/modprobe.d/zfs.conf文件中完成。

例如,如果您希望ARC永远不要超过32 GB,请添加以下行:

options zfs zfs_arc_max=34359738368
# 设置为1G
options zfs zfs_arc_max=1073741824

简单设置命令为:

echo "options zfs zfs_arc_max=1073741824" >> /etc/modprobe.d/zfs.conf

根据你的物理内存,自己计算吧,1G:1*1024*1024*1024*1024

如果根文件系统也使用了ZFS,你必须在每次修改该参数后更新initramfs,如下:

update-initramfs -u

四:测试效果

内存占用从16G多变成1G多了。

你就自己看arcstat或PVE的管理界面吧。

2023-12-08 15:04:59    879    0    0

移除未使用的Linux内核

  • 若不存在pvekclean,请先安装
git clone https://github.com/jordanhillis/pvekclean.git
cd pvekclean
chmod +x pvekclean.sh

安装完成后执行pvekclean即可

./pvekclean.sh

Proxmox VE 7 (PVE 7) 配置更新源, 移除自带的企业源

echo 'deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription' >> /etc/apt/sources.list.d/pve-no-subscription.list

日常软件更新命令:

apt update -y && apt dist-upgrade -y

更新PVE,并安装常用软件

apt-get update && apt-get install vim lrzsz unzip net-tools curl screen uuid-runtime git -y && apt dist-upgrade -y

Proxmox VE 6.3 / 6.4 / 7.0 / 7.1 去掉未订阅的提示

sed -i_orig "s/data.status === 'Active'/true/g" /usr/share/pve-manager/js/pvemanagerlib.js
sed -i_orig "s/if (res === null || res === undefined || \!res || res/if(/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
sed -i_orig "s/.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy
  • 确认无误后,重新启动服务器
reboot


如果更新时出现错误 E: Sub-process /usr/bin/dpkg returned an error code

https://blo

PVE    2023-12-08 15:04:59    430    0    0

方案是用zfs做raid0,并且把zfs作为proxmox的根文件系统。那现在问题就来了,想实现这一套方案的话,安装proxmox就只能用iso来装了,但是这机器没有ipmi,咋办呢?

好在kimsufi后台还提供了一个基于debian的救援系统!我们可以在这个救援系统里面安装kvm然后把硬盘直通给虚拟机来安装proxmox。这里就记录一下折腾的过程。

首先登录到kimsufi的后台,把这个监控关了:

这里说下为啥要把这个关了,因为如果你开着这个,到时候装系统要是配置哪里出了问题导致机器网络不通的话,你在后台执行硬重启会卡很久,因为它这个监控会ping你的机器ip,如果不通的话就会卡很久才有反应,很浪费时间,所以这里先关了,后面等配置全部好了后再打开。

接着点右上角的Netboot,在里面选择Rescue,然后点Next:

点Confirm:


再点右上角的Restart执行硬重启,等待片刻,邮箱里面会收到救援系统的ssh登录ip/账号/密码。

登录到救援系统内,首先查看硬盘的基本情况:

lsblk

可以看到之前系统做了raid1:


查看阵列状态:

mdadm --detail /dev/md127

可以看到这个阵列当前正在工作:

我们需要先停止这个阵列:

mdadm --stop /dev/md127

然后删除两块硬盘的分区表:

wipefs -a /dev/sda
wipefs -a /dev/sdb

在这个救援系统内查看机器的公网ip,并记录备用:

ip a

回显类似:

eth0:...
  link/ether ...
  inet xx.xx.xx.xx ...

查看网关ip:

ip route list

回显类似:

default via xx.xx.xx.xx dev eth0

查看dns:

cat /etc/resolv.conf

回显类似:

nameserver 213.186.33.99

查看机器的ipv6地址:

ip -6 a

回显类似:

查看机器的ipv6网关:

ip -6 route list

回显类似:

kimsufi的网站上虽然标明每台机器只有/128的ipv6,但实际可用应该是/64,为了后续的步骤能够正常进行,这里先简单检查一下机器到底能用多少个ipv6,可以先往机器的主网卡接口添加一个ipv6测试:

ip addr add 2001:41d0:x:xxxx::2/128 dev eno1

在别的机器上能p