首页 > 其他分享 >PVE初始化及硬盘部分操作

PVE初始化及硬盘部分操作

时间:2024-12-14 22:13:09浏览次数:5  
标签:初始化 non mirrors free pve PVE deb debian 硬盘

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设备给虚拟机
    

标签:初始化,non,mirrors,free,pve,PVE,deb,debian,硬盘
From: https://www.cnblogs.com/yihuyuan/p/18607283

相关文章

  • PVE开启IOMMU(硬件直通)
    PVE开启IOMMU(硬件直通)硬件直通确认主板支持启用VT-d启用amd-v(amdcpu)禁用CSM#i44fx机型建议开启此项,并且设置csm里的其他项目为UEFIACSEnable#如果存在,设置为已启用(自动不起作用)启用4G解码4GDecoding禁用ResizableBAR/SmartAccessMemory智能访问内存......
  • QT 定义全局变量、通过函数初始化变量
    1.头文件中定义全局变量#ifndefZ3_GVARS_H#defineZ3_GVARS_H#include<QString> classZ3_GVARS{ public: staticQStringJSON_FILE_NAME; staticQStringSERVER_IP; staticintSERVER_PORT; staticvoidinitConfig();};#endif//!Z3_GVARS_H 2.在cpp......
  • BP 神经网络的初始化技巧及影响
    BP神经网络的初始化技巧及影响一、引言BP(BackPropagation,反向传播)神经网络在机器学习和人工智能领域中占据着重要地位。其训练过程高度依赖于网络中权重和偏差的初始值,不同的初始化技巧会对网络的训练效果、收敛速度以及最终的性能产生显著影响。本文将深入探讨BP神经......
  • 网络字节序本地字节序点分十进制转换函数总结&&两种初始化socket并bind的步骤
    网络字节序本地字节序点分十进制转换函数总结&&两种初始化socket并bind的步骤文章目录网络字节序本地字节序点分十进制转换函数总结&&两种初始化socket并bind的步骤1.网络字节序、本地字节序和点分十进制的数据长啥样1.点分十进制2.本地字节序(主机字节序)和网络字节序3.......
  • 【SDRAM】从官方数据手册出发,实现SDRAM控制器(初始化部分)
    前言“温故而知新,可以为师矣。”回首一年前初涉FPGA学习领域之际,首个学习项的目便是AD采集卡,当时就用到了SDRAM控制器来进行数据存储。忆及那段学习历程,实可谓备受煎熬、苦不堪言,然不可否认的是,自身能力亦获大幅提升。现在重新审视这段过往,我打算开启一个专栏,再次深......
  • 硬盘开盘数据恢复是什么意思?硬盘坏了不识别数据能恢复吗?
    硬盘不小心摔坏了或突发故障,插入电脑没反应识别不了,通电后还有咯哒咯哒敲盘异响的声音,咨询电脑维修公司或数据恢复中心基本都会被告知需要开盘恢复数据。什么是硬盘开盘数据恢复?狭义的讲,开盘就是在无尘室把硬盘拆解打开,更换新磁头的过程。广义理解则是在无尘室更换磁头,然后通过PC3......
  • SpringBoot初始化几大招式,看了终于明白了
    背景在日常开发时,我们常常需要在SpringBoot应用启动时执行某一段逻辑,如下面的场景:获取一些当前环境的配置或变量向数据库写入一些初始数据连接某些第三方系统,确认对方可以工作..在实现这些功能时,我们可能会遇到一些"坑"。为了利用SpringBoot框架的便利性,我们不得不将整个......
  • 笔记本电脑蓝屏 硬盘损坏数据恢复
    当笔记本电脑出现蓝屏故障,并且怀疑硬盘已损坏需要恢复数据时,可以参考以下步骤和建议:一、初步处理断开电源:在尝试任何数据恢复操作之前,首先要断开笔记本电脑的电源,以避免进一步的数据损坏或丢失。评估蓝屏原因:蓝屏可能是由驱动程序错误、系统文件损坏、硬件故障等多种原因引起的......
  • 移动硬盘开盘数据恢复
    移动硬盘开盘数据恢复是一种针对移动硬盘物理故障导致的数据丢失问题的解决方案。以下是对移动硬盘开盘数据恢复的详细解释:一、开盘数据恢复的概念开盘数据恢复是指当移动硬盘出现物理故障,如硬盘磁头损坏、电路板故障等,导致电脑无法识别或读取硬盘数据时,通过专业技术和设备打开......
  • [一行代码搞定!如何快速初始化多种语言模型]
    #一行代码搞定!如何快速初始化多种语言模型##引言在开发语言模型应用时,许多场景需要允许终端用户指定希望应用所使用的模型提供商和模型版本。为了应对这种需求,我们需要编写逻辑来根据用户配置初始化不同的聊天模型。然而,通过使用`init_chat_model()`方法,我们可以轻......