swap
命令
cat /proc/sys/vm/swappinessPVE 杂项与初始配置合并目录。
cat /proc/sys/vm/swappinesscat /etc/sysctl.confqm importdisk 111 /var/lib/vz/template/iso/openwrt_x86-64-2502030953_6.6.74_uefi-gpt_dev_Lenyu.img local-lvmqm importdisk 900 /var/lib/vz/images/debian-12-generic-amd64.qcow2 local-lvmapt install virt-customizevirt-customize -a /var/lib/vz/images/debian-12-generic-amd64.qcow2 --root-password password:yourpasswordqm set 900 --ide2 local-lvm:cloudinitps aux | grep lxcnano lxc.sh#!/bin/bash
# 检查是否以 root 用户运行
if [ "$(id -u)" -ne 0 ]; then
echo "请以 root 用户运行此脚本。"
exit 1
fi
# 询问需要挂载的 LXC 容器 ID 或名称
read -p "请输入要挂载目录的 LXC 容器 ID:" CONTAINER_ID
# 检查容器配置文件是否存在
CONF_FILE="/etc/pve/lxc/${CONTAINER_ID}.conf"
if [ ! -f "$CONF_FILE" ]; then
echo "容器配置文件 $CONF_FILE 不存在,请检查容器 ID 是否正确。"
exit 1
fi
# 查找已有的 mp 数量,确定下一个可用的 mp 编号
LAST_MP=$(grep -E '^mp[0-9]+:' "$CONF_FILE" | tail -n1 | sed -E 's/^mp([0-9]+):.*/\1/')
if [ -z "$LAST_MP" ]; then
NEXT_MP=0
else
NEXT_MP=$((LAST_MP + 1))
fi
# 询问主机目录
read -p "请输入主机上要挂载的目录(例如 /data):" HOST_DIR
# 检查主机目录是否存在,不存在则创建
if [ ! -d "$HOST_DIR" ]; then
echo "主机目录 $HOST_DIR 不存在,是否创建?(y/n)"
read CREATE_DIR
if [ "$CREATE_DIR" = "y" ] || [ "$CREATE_DIR" = "Y" ]; then
mkdir -p "$HOST_DIR"
echo "已创建主机目录 $HOST_DIR。"
else
echo "主机目录 $HOST_DIR 不存在,且未创建。退出。"
exit 1
fi
fi
# 询问容器内的挂载点目录
read -p "请输入容器内的挂载目录(例如 /var/data):" CONTAINER_DIR
# 确认信息
echo "即将在容器 $CONTAINER_ID 中将主机目录 $HOST_DIR 挂载到容器内的 $CONTAINER_DIR。"
read -p "确认继续吗?(y/n) " CONFIRM
if [ "$CONFIRM" != "y" ] && [ "$CONFIRM" != "Y" ]; then
echo "操作已取消。"
exit 0
fi
# 调整主机目录的权限
echo "正在调整主机目录的权限..."
chown -R 100000:100000 "$HOST_DIR"
chmod -R 755 "$HOST_DIR"
# 添加挂载点到容器配置文件
MP_ENTRY="mp${NEXT_MP}: ${HOST_DIR},mp=${CONTAINER_DIR},backup=0"
echo "$MP_ENTRY" >> "$CONF_FILE"
echo "已将以下挂载点添加到容器配置文件 $CONF_FILE:"
echo "$MP_ENTRY"
# 重启容器以使配置生效
echo "是否现在重启容器 $CONTAINER_ID 以使配置生效?(y/n)"
read RESTART
if [ "$RESTART" = "y" ] || [ "$RESTART" = "Y" ]; then
echo "正在重启容器 $CONTAINER_ID..."
pct stop "$CONTAINER_ID"
pct start "$CONTAINER_ID"
echo "容器 $CONTAINER_ID 已重启。"
else
echo "请稍后手动重启容器 $CONTAINER_ID 以使配置生效。"
fi
echo "操作完成。"sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"/' /etc/default/grub && update-grubecho -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | sudo tee -a /etc/modules > /dev/nullsystemctl restart rsyslogapt updateapt full-upgradenano /etc/systemd/network/10-persistent-net.link[Match]
MACAddress=a0:36:9f:50:b4:1a
[Link]
Name=enp68s0lscpu -els -la /sys/dev/block/|grep -v loop |grep -v dmls -la /dev/disk/by-id/|grep -v dm|grep -v lvm|grep -v partqm set 112 --sata2 /dev/disk/by-id/nvme-KIOXIA-EXCERIA_G2_SSD_33VA30VJKMG5定时任务
crontab -lcrontab -e0 0 * * 7 /usr/sbin/zpool scrub rpoolservice cron reloadvifo
echo -e "vfio\nvfio_iommu_type1\nvfio_pci\nvfio_virqfd" | sudo tee -a /etc/modules > /dev/nullgrep -qxF "vfio" /etc/modules || echo "vfio" | sudo tee -a /etc/modules
grep -qxF "vfio_iommu_type1" /etc/modules || echo "vfio_iommu_type1" | sudo tee -a /etc/modules
grep -qxF "vfio_pci" /etc/modules || echo "vfio_pci" | sudo tee -a /etc/modules
grep -qxF "vfio_virqfd" /etc/modules || echo "vfio_virqfd" | sudo tee -a /etc/modulesnewaliasesls /etc/aliases*systemctl stop rrdcachedmv rrdcached rrdcached.bcksystemctl start rrdcachedsystemctl restart pve-clusterapt install build-* dkmsapt install proxmox-headers-6.2.16-6-pvedkms install -m i915-sriov-dkms -v 6.1 --forcecd /usr/srcdkms install -i -m i915-sriov-dkms -v 6.1nano /etc/default/grubintel_iommu=on i915.enable_guc=3 i915.max_vfs=7iommu=pt pcie_acs_override=downstreamupdate-grubupdate-initramfs -urebootsystemctl enable sriov.service --nowcat /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfsnano /etc/systemd/system/sriov.service[Unit]
Description=Enable SR-IOV
After=network.target
[Service]
Type=oneshot
# 创建VF
ExecStart=/usr/bin/bash -c '/usr/bin/echo 2 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs'
[Install]
WantedBy=multi-user.targetapt-mark hold linux-image-xxx linux-headers-xxxapt-mark unhold