PVE初始化及硬盘部分操作

PVE初始化及硬盘部分操作

一、PVETooles

pvetooles Github

中国用户:
方式一:命令行安装

需要用root账号来运行

在终端中按行分别执行以下内容:

强烈建议先删除企业源:rm /etc/apt/sources.list.d/pve-enterprise.list

export LC_ALL=en_US.UTF-8
apt update && apt -y install git && git clone https://github.com/ivanhao/pvetools.git
cd pvetools
./pvetools.sh
方式二:下载zip安装
  • 建议使用方式一来安装,不建议直接下载单sh脚本使用,因为那样更新的功能会无法使用!
  • 如果网络无法使用,或命令行使用有困难,可以使用方式二下载zip包拷入系统中使用。
运行

在shell中进入pvetools目录,输入 ./pvetools.sh

  • 如果提示没有权限,输入chmod +x ./*.sh

二、pve_source

pve-source X86玩家

方式一:命令行安装

稳定版

wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2023-11-28/file/01ac88d7d2b840cb88c15cb5e19d4305b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source

开发版 (PVE 系统配置 IOMMU、核显直通、核显 SR-IOV 调整为定制向导+推荐方案)

wget -q -O /root/pve_source.tar.gz 'https://bbs.x86pi.cn/file/topic/2024-01-06/file/24f723efc6ab4913b1f99c97a1d1a472b2.gz' && tar zxvf /root/pve_source.tar.gz && /root/./pve_source
方式二:下载压缩包安装

使用方法:

①下载后改名为 pve_source.tar.gz

②上传到 /root

③解压压缩包 tar zxvf pve_source.tar.gz

④执行程序./pve_source

三、手动更换PVE源

更换源前将原配置文件备份

cp /etc/*/*.* /etc/*/*.*_bak
Debian源(清华大学源)

大部分 Debian 的软件源配置文件使用传统的 One-Line-Style,路径为 /etc/apt/sources.list;但是对于容器镜像,从 Debian 12 开始,其软件源配置文件变更为 DEB822 格式,路径为 /etc/apt/sources.list.d/debian.sources。一般情况下,将对应文件中 Debian 默认的源地址 http://deb.debian.org/ 替换为镜像地址即可。

Debian Buster 以上版本默认支持 HTTPS 源。如果遇到无法拉取 HTTPS 源的情况,请先使用 HTTP 源并安装:

apt install apt-transport-https ca-certificates
  • 传统格式(/etc/apt/sources.list
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
  • DEB822 格式(/etc/apt/sources.list.d/debian.sources
Types: deb
URIs: https://mirrors.tuna.tsinghua.edu.cn/debian
Suites: bookworm bookworm-updates bookworm-backports
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
# Types: deb-src
# URIs: https://mirrors.tuna.tsinghua.edu.cn/debian
# Suites: bookworm bookworm-updates bookworm-backports
# Components: main contrib non-free non-free-firmware
# Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
Types: deb
URIs: https://security.debian.org/debian-security
Suites: bookworm-security
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# Types: deb-src
# URIs: https://security.debian.org/debian-security
# Suites: bookworm-security
# Components: main contrib non-free non-free-firmware
# Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
  • 备用源
    • 阿里云源
deb http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb http://mirrors.aliyun.com/debian-security buster/updates main
deb http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian-security buster/updates main
deb-src http://mirrors.aliyun.com/debian/ buster main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
    • 中科大源
# 默认注释了源码仓库,如有需要可自行取消注释
deb http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian bookworm main contrib non-free non-free-firmware
deb http://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware
# deb-src http://mirrors.ustc.edu.cn/debian bookworm-updates main contrib non-free non-free-firmware
PVE软件源(清华大学源)
  • 删除或屏蔽默认软件源
rm -rf /etc/apt/sources.list.d/pve-enterprise.list
# 删除企业源
mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak
#屏蔽企业源
  • 新建 /etc/apt/sources.list.d/pve-no-subscription.list
deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian/pve bookworm pve-no-subscription
  • 备用源:中科大源
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list
CT容器源(清华大学源)

如果你需要加速 Proxmox 网页端下载 CT Templates,可以替换 CT Templates 的源。

具体方法:将 /usr/share/perl5/PVE/APLInfo.pm 文件中默认的源地址 http://download.proxmox.com
替换为

https://mirrors.tuna.tsinghua.edu.cn/proxmox

或直接用命令

cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back
sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm

中科大源

sed -i.bak 's|http://download.proxmox.com|https://mirrors.ustc.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm
更新CEPH分布式源(修复源401错误)
nano /etc/apt/sources.list.d/ceph.list
#注释原语句,增加
deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-quincy bookworm no-subscription
#或直接用命令
if [ -f /etc/apt/sources.list.d/ceph.list ]; then
CEPH_CODENAME=`ceph -v | grep ceph | awk '{print $(NF-1)}'`
source /etc/os-release
echo "deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-$CEPH_CODENAME $VERSION_CODENAME no-subscription" > /etc/apt/sources.list.d/ceph.list
fi
更新索引并升级安装软件包
apt update
sudo apt-get update
apt dist-upgrade 升级软件包
删除无效订阅弹窗
  • 备份源文件
cd /usr/share/javascript/proxmox-widget-toolkit
#备份原文件,一定要记得备份哈!要不就惨了
cp proxmoxlib.js proxmoxlib.js.bak
  • 修改proxmoxlib.js文件
#可以用nano、vim、vi,总之随便一种文本编辑器就行
vi proxmoxlib.js
  • 查找包含orig_cmd的这句话
#找到如下现实的这行
checked_command: function(orig_cmd) {
  • 在后面加上orig_cmd();和return;即可,如下
checked_command: function(orig_cmd) {
orig_cmd(); #<-----这里是第一个加的地方
return; #<-----这里是第二个加的地方,后面的不要动
Proxmox.Utils.API2Request(
{
url: '/nodes/localhost/subscription',
method: 'GET',
failure: function(response, opts) {
重启服务等

重启PVE代理服务,注销PVE,重启浏览器

systemctl restart pveproxy.service

四、pve的loval和local-lvm

PVE的默认安装磁盘分区结构
fdisk -l
Disk /dev/sdd: 111.79 GiB, 120034123776 bytes, 234441648 sectors
Disk model: ADATA SP550 120G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: B398B161-5590-4C7F-9BEA-526CA1CE1BD9
Device Start End Sectors Size Type
/dev/sdd1 34 2047 2014 1007K BIOS boot #
/dev/sdd2 2048 2099199 2097152 1G EFI System #
/dev/sdd3 2099200 234441614 232342415 110.8G Linux LVM #
lsblk
lvs
cat /etc/pve/storage.cfg
删除lvm-thin
  • 编辑local,勾选内容里所有项目,并确认
root@pve:~# lvremove /dev/pve/data
Do you really want to remove active logical volume pve/data? [y/n]: y
Logical volume "data" successfully removed
#删除分区
root@pve:~# lvextend -rl +100%FREE /dev/pve/root
#转移空间到pve-root
  • 在web端,数据 中心存储里删除local-lvm,在终端里检查一下
root@pve:~# tree /var/lib/vz/

六、pve硬盘类操作和虚拟机磁盘类操作

挂载已有数据硬盘

web端只能添加新盘,pve支持brtfs-ext-xfs-ntfs-EXFAT-FAT等文件系统,可以手动挂载。以NTFS为例。

#查看连接到pve上的NTFS硬盘
root@pve:~# lsblk -f /dev/sdb
#安装NTFS识别
root@pve:~# apt install ntfs-3
#创建挂载点
root@pve:~# mkdir /mnt/pve/hdd
#修复磁盘(有错误提示时)
root@pve:~# ntfsfix /dev/sdb2
#挂载磁盘
mount /dev/sdb2 /mnt/pve/hdd

之后在web端添加目录存储。选择/mnt/pve/hdd。pve重启后需重新挂载。需开机挂载,需需将硬盘PARTUUID写进fstab.

root@pve:~# blkid /dev/sdb2
#编辑/etc/fstab,通过查看硬盘的PARTUUID将对应的条目添加到fstab
PARTUUID=96568858-ed5c-4705-8ab9-e6833ff64232 /mnt/hdd_softwares ntfs-3g nofail,x-systemd.device-timeout=15s
PARTUUID=b31e969a-e11a-4d9d-adb7-409c59627442 /mnt/hdd_fnos ntfs-3g nofail,x-systemd.device-timeout=15s
PARTUUID=d44906a9-4e31-4346-a492-b0c2bb020ecf /mnt/hdd_photosvideos ntfs-3g nofail,x-systemd.device-timeout=15s
PARTUUID=e2cab0a2-90f3-4d2c-b4f6-ae4a9f83fba0 /mnt/hdd_self_photos ntfs-3g nofail,x-systemd.device-timeout=15s
PARTUUID=6f0c6749-435c-4b96-adcc-832fab0bd319 /mnt/hdd_self_videos ntfs-3g nofail,x-systemd.device-timeout=15s
#重启服务或重启主机
systemctl daemon-reload
PARTUUID:96568858-ed5c-4705-8ab9-e6833ff64232
/mnt/hdd_photos 挂载位置
ntfs-3g 硬盘分区格式
nofail,x-systemd.device-timeout=15s 设置超时时间15秒,防止挂在失败启动不了系统—重新加载fstab
systemd自动挂载硬盘或分区

Systemd是一个强大的Linux管理工具,可以用来进行硬盘分区,或者也称作文件系统的挂载。相较于使用fstab文件来进行管理,采用systemd不会发生因为配置错误而无法开机的问题,所以比较适合折腾。

假设我们新增加了1个硬盘sda,并且将它划分了3个分区, sda1、sda2、sda3,则需要为这3个分区选择挂载点,以便开机后可以直接使用。 我们建立了3个文件夹 /home/disk1、 /home/disk2 、/home/disk3,分别对应上述的3个硬盘分区

要想使用systemd实现自动挂载,必须要建立对应的“.mount”文件,放置在/etc/systemd/system/这个文件夹下面就可以,文件的命名方式,是将要挂载到的目的文件夹的绝对路径中的斜杠给成横线, 例如 /home/disk1 则对应的.mount文件

就是:home-disk1.mount,可以有更多层的目录,如xxx-xxx-xxx.mount

以/dev/sda1 开机挂载到 /home/disk1为例

vi /etc/systemd/system/home-disk1.mount

[Unit]
Description=mount a local disk
[Mount]
What=/dev/sda1
Where=/home/disk1
Type=ext4
Options=defaults
[Install]
WantedBy=local-fs.target
[Unit]
Description=mount a local disk
[Mount]
What=UUID=daf79ec6-d3a9-4aec-b46d-95f1edc5a275
Where=/home/disk1
Type=ext4
Options=defaults
[Install]
WantedBy=local-fs.target
#设置开机自启
systemctl enable home-disk1.mount
#重启守护进程
systemctl daemon-reload
What:要挂载的设备,可以使用UUID或设备路径。
Where:挂载点目录。
Type:文件系统类型,根据实际情况设置(如ext4、ntfs等)。
Options:挂载选项,defaults通常足够,但可以根据需要添加其他选项。
查看uuid
lsblk -f
qm importdisk 及 qm 命令

qm importdisk 是用来将创建好的镜像文件导入到虚拟机中,并可指定磁盘格式。

qm importdisk <vmid> <images-name> <storage pool> --format=<disk-fs>
vmid:vm的id 例如102
images-name:磁盘镜像的名字
storage pool: 存储磁盘镜像的位置,如lvm-thin local
disk-fs: 磁盘镜像格式 raw/vmdk/qcow2

qm 是 Proxmox Virtual Environment (PVE) 中用于管理虚拟机的命令行工具

#启动虚拟机
qm start VMID
#停止虚拟机
qm stop VMID
#重启虚拟机
qm reset VMID
#查看虚拟机状态
qm status VMID
#列出虚拟机
qm list
#从PVE终端进入虚拟机终端
qm terminal VMID
退出虚拟机终端用 ctrl+o
#重启虚拟机
qm reboot VMID
#查看虚拟机配置信息
qm config VMID
#克隆虚拟机
qm clone <vmid> <newid> --name <name>
qm clone 111 112 --name newvm 例子
qemu命令

QEMU是一种开源的虚拟机监视器

  • 安装

    #Debian/Ubuntu #pve不用装
    sudo apt-get update
    sudo apt-get install qemu-kvm qemu-system-x86
    #CentOS/RHEL
    sudo yum install qemu-kvm qemu-img virt-install
  • 主要用法qemu-img convert

    qemu-img convert -p -f qcow2 -O vmdk .\my_centos7.qcow2 .\my_centos7.vmdk
    -p : 显示镜像的转换进度
    -f : 指定被转换的镜像是什么格式
    -O: 指定转换后的镜像格式
硬盘直通

RDM 直通:CPU性能越好,性能越趋近于宿主机,磁盘由PVE宿主机管理

控制器直通:性能接近裸机,磁盘由虚拟机管理。

  • RDM直通

    #查看磁盘ID
    ls -l /dev/disk/by-id/
    nvme开头的是nvme硬盘,ata开头是走sata或者ata通道的设备。,scsi是scsi设备-阵列卡raid或者是直通卡上的硬盘
    #直通
    qm set <vm_id> –<disk_type>[n] /dev/disk/by-id/<type>-$brand-$model_$serial_number
    <disk_type>[n]: 导入后的磁盘的总线类型及其编号,总线类型可以选择IDE、SATA、VirtIO Block和SCSI类型,编号从0开始,最大值根据总线接口类型有所不同,IDE为3,SATA为5,VirTIO Block为15,SCSI为13。/dev/disk/by-id/-brand-brand−model_$serial_number : 为磁盘ID的具体路径和名称。
    #例
    qm set 102 -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG
    update VM 102: -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG
    #显卡上述信息为正常
    #取消直通
    qm set <vmid> -delete –<disk_type>[n]
  • 控制器直通(需开启IOMMU)

    #查看本机PCI设备
    lspci
    #查看直通硬盘的控制器
    ls -la /sys/dev/block/|grep -v loop |grep -v dm
    #直通
    web端添加PCI设备给虚拟机
posted @   一壶缘  阅读(970)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示