ky818smKy818sm  2025-11-22 19:09 旷野小站 隐藏边栏 |   抢沙发  6 
文章评分 0 次,平均分 0.0

什么是 Proxmox VE?

Proxmox VE 是一个开源的、企业级的服务器虚拟化平台。它集成了两种虚拟化技术:

KVM: 用于全虚拟化的虚拟机。

LXC: 用于轻量级的容器。
它提供了一个强大且易于使用的 Web 管理界面,让你可以轻松管理虚拟机、容器、存储、网络和集群。

安装前的准备工作

硬件要求:

CPU: 64位处理器(Intel 64 或 AMD64),支持硬件虚拟化(Intel VT 或 AMD-V)。越新越好,核心越多越好。

内存: 至少 4GB,建议 8GB 或以上。运行多个虚拟机需要更多内存。

硬盘: 至少 32GB 的可用空间,建议使用 SSD 以获得更好的性能。对于生产和数据存储,需要更大容量的硬盘(HDD/SSD)。

网络: 至少一个网络接口卡(NIC)。

软件准备:

Proxmox VE ISO 镜像: 从官方网站下载最新版本:https://www.proxmox.com/en/downloads

刻录工具: 如 Rufus(推荐)、Balena Etcher 或 Ventoy,用于将 ISO 镜像写入 U 盘。

一个 U 盘(容量 >= 1GB)。

安装 Proxmox VE

步骤 1:制作启动 U 盘

使用 Rufus 或其他工具将下载的 Proxmox VE ISO 镜像写入 U 盘。模式选择 DD 或 ISO(如果一种模式失败,请尝试另一种)。

步骤 2:启动并开始安装

将 U 盘插入服务器,并从 U 盘启动。

你会看到 Proxmox VE 的启动菜单,选择 Install Proxmox VE 并按回车。

步骤 3:许可协议

阅读并同意最终用户许可协议(EULA),点击 I agree。

步骤 4:选择目标磁盘

选择你要安装 Proxmox VE 系统的硬盘。

重要提示: 这个磁盘将被格式化,所有现有数据都会丢失。

你可以选择文件系统类型,默认的 ext4 对大多数用户来说已经足够。如果你需要更高级的功能(如快照),可以选择 zfs(但需要更多内存)。

点击 Next。

步骤 5:配置国家和地区

设置你的国家、时区和键盘布局。这会影响系统时间。正确设置时区非常重要。

点击 Next。

步骤 6:设置管理员密码和邮箱

Password: 为 root 用户设置一个强密码。这是你登录 Web 界面和系统的最高权限账户。

Confirm: 再次输入密码。

E-Mail: 输入一个有效的邮箱地址。这个邮箱用于接收系统通知(例如备份任务失败、存储空间不足等警告)。

点击 Next。

步骤 7:配置网络

Management Interface: 选择用于管理 Proxmox VE Web 界面的网卡。

Hostname (FQDN): 设置主机名和域名。例如:pve.mydomain.com 或 pve.local.lan。

IP Address (CIDR): 设置 Proxmox VE 主机的静态 IP 地址、子网掩码和网关。强烈建议使用静态 IP,不要使用 DHCP。

例如:192.168.1.100/24,网关 192.168.1.1。

DNS Server: 输入你的 DNS 服务器地址,例如 8.8.8.8(Google DNS)或你的路由器 IP 192.168.1.1。

仔细检查配置,因为安装完成后修改网络配置会比较麻烦。

点击 Next。

步骤 8:确认安装

再次确认所有安装配置信息。

点击 Install,安装过程将开始。

安装完成后,系统会提示你重启。请拔出 U 盘,然后点击 Reboot。

初始配置与 Web 界面介绍

步骤 1:访问 Web 管理界面

服务器重启后,你会在控制台上看到一个地址,格式如下:
https://你的服务器IP:8006

例如:https://192.168.1.100:8006

在你的另一台电脑的浏览器中打开这个地址。

浏览器会显示安全警告,这是因为使用了自签名证书。点击 “高级” -> “继续前往(不安全)”。

步骤 2:登录

语言选择 Chinese (Simplified)。

用户名:root

密码:你在安装过程中设置的 root 密码。

领域:Linux PAM standard authentication

点击 Login。

步骤 3:界面概览
登录后,你会看到 Proxmox VE 的 Web 管理界面。

左上角: 数据中心和节点(服务器)树状图。

资源视图: 显示选中的节点或虚拟机的 CPU、内存、存储和网络使用情况。

菜单栏: 包含各种功能按钮,如“创建VM”、“备份”、“Shell”等。

步骤 4:配置软件源(可选但推荐)
为了获得更快的更新速度(特别是在国内),可以替换为国内镜像源。

点击节点名称 -> Shell。

备份原来的源列表:

cp /etc/apt/sources.list /etc/apt/sources.list.bak
cp /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak

编辑 sources.list,注释掉默认的 deb.debian.org 行,添加清华源:

nano /etc/apt/sources.list
# 默认行注释掉
# deb http://deb.debian.org/debian bookworm main contrib
# deb http://deb.debian.org/debian bookworm-updates main contrib

# 安全更新
# deb http://security.debian.org/debian-security bookworm-security main contrib

# 替换为清华源
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free-firmware

(按 Ctrl+X,然后按 Y,最后回车保存)

编辑 PVE 源,注释掉付费企业版源(如果你没有订阅),添加社区源:
nano /etc/apt/sources.list.d/pve-enterprise.list

# 注释掉这一行
# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
nano /etc/apt/sources.list.d/pve-no-subscription.list

(如果文件不存在则创建)

deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription

更新:

apt update && apt dist-upgrade -y

创建你的第一台虚拟机(以 Ubuntu Server 为例)

步骤 1:上传 ISO 镜像

在左侧树状图中选择你的节点(例如 pve)。

点击 local 存储 -> ISO Images -> Upload。

选择你下载的 Ubuntu Server ISO 镜像文件并上传。

步骤 2:创建虚拟机

点击右上角的 创建VM 按钮。

常规:

节点: 保持默认。

VM ID: 自动生成,保持默认。

名称: 给你的虚拟机起个名字,例如 ubuntu-server-01。

操作系统:

ISO 镜像: 选择你刚刚上传的 Ubuntu Server ISO。

客户机操作系统类型: 选择 Linux,版本选择 6.x - 2.6 Kernel。

系统:

保持默认即可(SCSI 控制器,VirtIO SCSI,QEMU Agent 可以先不勾选)。

机器类型: 默认 i440fx,对于新硬件和系统,建议选择 q35(支持 PCIe 直通等新特性)。

磁盘:

总线/设备: 默认 VirtIO Block(性能最佳)。

存储: 选择 local。

磁盘大小: 根据你的需求设置,例如 32GB。

其他保持默认。

CPU:

核心数: 分配给虚拟机的 CPU 核心数量,例如 2。

类型: 默认 x86-64-v2-AES 即可。

内存:

内存大小: 例如 2048 MB(2GB)。

网络:

桥接: 默认 vmbr0(这是 Proxmox 创建的虚拟网桥,连接到你的物理网卡)。

模型: 默认 VirtIO (paravirtualized)(性能最佳)。

确认:

检查所有配置,确认无误后,点击 完成。

步骤 3:安装操作系统

在左侧树状图中,找到你新创建的虚拟机,点击其名称。

点击右上角的 启动 按钮。

然后点击 控制台 -> NoVNC,这会打开一个浏览器内的虚拟机窗口。

现在,你将像在物理机上一样,开始安装 Ubuntu Server 系统。按照 Ubuntu 的安装向导完成安装。

进阶操作与管理

1. 创建 CT 容器(LXC)
过程与创建 VM 类似,但通常更快、更轻量。

点击右上角 创建CT。

配置模板、密码、资源等。你需要先下载一个容器模板(例如 Ubuntu、Debian),可以在 local 存储的 CT Templates 中下载。

2. 制作模板与克隆

安装并配置好一个虚拟机或容器后,可以将其转换为模板。

右键点击该虚拟机/容器 -> 转换为模板。

之后,你可以右键点击这个模板 -> 克隆,快速创建多个相同配置的实例。

3. 备份与恢复

选择要备份的虚拟机或容器。

点击 备份 -> 添加 来创建备份任务。

你可以设置备份计划(每天、每周)、存储位置和保留策略。

4. 快照
快照可以保存虚拟机在某个时间点的状态,非常适合在安装软件或进行配置更改前使用。

选择虚拟机 -> 快照 -> 拍摄快照。

如果需要恢复,选择快照点,点击 回滚。

故障排除与提示
无法访问 Web 界面: 检查 IP 地址、防火墙是否放行了 8006 端口,以及服务器是否正常运行。

网络问题: 如果虚拟机无法上网,检查 Proxmox 主机的网络配置(/etc/network/interfaces)和虚拟机的网络设置(是否桥接到正确的网桥)。

性能问题: 确保为虚拟机使用了 VirtIO 驱动(磁盘和网络),这能提供接近原生的性能。

订阅警告: 因为没有购买官方订阅,登录后可能会看到“No valid subscription”的警告。这不会影响功能。可以通过修改文件 /etc/apt/sources.list.d/pve-enterprise.list 并更新源来消除,或者点击“确定”忽略它。

添加物理硬盘并给虚拟机分配硬盘

方法一:作为本地存储挂载(最常用)

假设你给服务器新增了一块硬盘,系统识别为 /dev/sdb。

步骤:

在物理层面连接硬盘并启动服务器。

在 Proxmox Shell 中识别新硬盘:
lsblk
你会看到新硬盘,比如 /dev/sdb,没有分区。

格式化硬盘(以 ext4 为例):
mkfs.ext4 /dev/sdb

创建挂载点:
mkdir -p /mnt/storage1

临时挂载并测试:

mount /dev/sdb /mnt/storage1
df -h # 查看是否挂载成功

设置开机自动挂载:
nano /etc/fstab

在文件末尾添加一行:

/dev/sdb /mnt/storage1 ext4 defaults 0 0

在 Web 界面中添加存储:

点击 “数据中心” -> “存储” -> “添加” -> “目录”。

ID:起个名字,如 storage1。

目录:输入 /mnt/storage1。

内容:全选或按需选择(如磁盘映像、容器、备份等)。

点击 “添加”。

完成! 现在你创建虚拟机或备份时,就可以选择这个新的存储空间了。

方法二:作为 LVM 存储(更高级,性能更好)

如果你希望有卷管理、快照等功能,可以创建 LVM。

步骤:

创建物理卷:
pvcreate /dev/sdb

创建卷组:
vgcreate vg-storage /dev/sdb

在 Web 界面中添加存储:

点击 “数据中心” -> “存储” -> “添加” -> “LVM”。

ID:起个名字,如 lvm-storage。

卷组:选择刚创建的 vg-storage。

点击 “添加”。

方法三:添加新硬盘到ZFS

步骤 1:通过命令行创建 ZFS 池
打开 Proxmox 的 Shell(通过 Web 界面或 SSH)。
识别新硬盘:
lsblk
确认新硬盘的设备名,例如 /dev/sdb。请务必确认设备名正确!

创建 ZFS 池:
zpool create -f data /dev/sdb
data:这是你给新存储池起的名字(可以自定义,如 storage, vmdata 等)。
/dev/sdb:这是你的新硬盘设备。

在创建 ZFS 池时,你还可以添加一些优化参数:

# 创建带压缩的 ZFS 池
zpool create -f -o compression=lz4 data /dev/sdb

# 或者设置其他属性
zpool create -f -o compression=lz4 -o ashift=12 data /dev/sdb

compression=lz4:启用压缩,节省空间且几乎不影响性能。
ashift=12:针对 4K 扇区硬盘优化(对现代硬盘推荐)。

如果你已经创建了池,也可以事后设置:
zfs set compression=lz4 data

验证池是否创建成功:

zpool status
zpool list

你应该能看到新的池 data。

在 Web 界面中添加存储
请按照以下步骤操作:

登录 Proxmox Web 界面

点击 "数据中心" (Datacenter)

点击 "存储" (Storage)

点击 "添加" (Add) → "ZFS"

在弹出的窗口中配置:

ZFS 池:从下拉菜单中选择 GT120 (这就是你刚创建的池)

ID:可以保持默认 GT120,或者改成你喜欢的名字(如 data、storage 等)

内容:建议全选,或者至少选择:

✅ 磁盘映像 (Disk image) - 用于存储虚拟机硬盘

✅ 容器 (Containers) - 用于 LXC 容器

✅ 容器模板

✅ 备份 (Backups)

精简配置:保持启用状态(推荐)

节点:保持默认(所有节点)

点击 "添加" (Add)

验证存储添加成功
添加完成后,你应该能在存储列表中看到新的 GT120 存储:

text
存储
├── local
├── local-zfs (rpool) # 你的系统池
└── GT120 # 你新添加的存储

技术解释:精简配置:

启用精简配置:
你创建一个 100GB 的虚拟机磁盘。

实际物理空间只占用几MB(元数据)。

随着你在虚拟机里存文件、装软件,物理空间才逐渐增加。

最大不会超过 100GB。

禁用精简配置:

你创建一个 100GB 的虚拟机磁盘。

立即占用 100GB 的物理空间。

即使虚拟机是空的,这100GB也被占用了。

技术解释:add to HA

HA 是什么意思?
HA = 高可用性

它的作用是:当集群中的一个节点发生故障时,Proxmox VE 会自动将上面运行的虚拟机重新启动在其他健康的节点上。

HA 的工作原理(需要满足严格条件)
多节点集群:至少需要 2 台 Proxmox 服务器。

共享存储:虚拟机磁盘必须放在所有节点都能访问的存储上(如 NFS, Ceph, iSCSI)。

仲裁机制:需要投票决定哪个节点是健康的,防止"脑裂"。

当这些条件满足时,如果你将一台虚拟机加入 HA,那么:

节点 A 宕机 → 系统自动在节点 B 上启动该虚拟机。

为什么单节点环境绝对不能勾选?
你是单节点环境:

你只有一台服务器 pve。

如果它宕机了,根本没有其他节点可以接管服务。

HA 功能完全无用武之地。

你的存储是本地存储:

你的 gt120 存储是直连到 pve 节点的本地硬盘。

即使你有第二台节点 pve2,它也根本无法访问 pve1 上的本地硬盘。

如果 pve1 宕机,pve2 节点会因为找不到虚拟机磁盘而启动失败。

勾选的后果:

系统会尝试为你配置高可用,但因为条件不满足,最终会报错或进入错误状态。

会给系统添加不必要的复杂配置。

通过Shell直接用命令行为虚拟机添加硬盘

操作步骤:

  1. 确定虚拟机的ID
    你可以通过以下方式找到:
    在 Proxmox Web 界面中,查看虚拟机列表,每个虚拟机前面都有一个数字ID
    或者在 Shell 中运行:qm list
  2. 登录Proxmox Shell(通过Web界面或SSH)。
  3. 使用以下命令格式添加硬盘(请替换其中的变量):
    qm set <VMID> --scsi1 /dev/disk/by-id/你的硬盘ID
    qm set 100:修改ID为100的虚拟机配置
    --scsi1:添加为SCSI控制器上的第一个设备
  4. 删除磁盘的命令
    qm set <VMID> --delete scsi1
    或者更详细的写法:

    #如果磁盘正在使用,可能需要 --force 参数
    qm set 102 --delete scsi1 --force
  5. 如何找到正确的硬盘ID(这比用/dev/sdb更安全):
    ls -la /dev/disk/by-id/
  6. 找到你的Win11硬盘,它应该包含物理硬盘的型号和序列号,例如:
    ata-ST2000DM008-2FR102_ABC12345
    或者
    scsi-SATA_ST2000DM008-2FR102_ABC12345
  7. 执行添加命令(假设你的Ubuntu VM ID是102,硬盘ID是上面的例子):
    qm set 102 --scsi1 /dev/disk/by-id/ata-ST2000DM008-2FR102_ABC12345

    命令执行成功后,你会在Web界面的虚拟机硬件列表中看到新添加的SCSI硬盘。

  8. 检查Proxmox服务状态
    在Shell中运行:
    systemctl status pveproxy

    如果服务异常,尝试重启:

  9. systemctl restart pveproxy

命令行方法详解

qm set 命令的参数说明:

102:你的Ubuntu虚拟机的ID

--scsi1:添加一个SCSI控制器上的第一个设备(scsi0可能已被系统盘占用)

/dev/disk/by-id/...:使用唯一的硬盘ID,避免设备名变化

在Ubuntu虚拟机中挂载硬盘

现在启动Ubuntu虚拟机并挂载硬盘:

  1. 启动Ubuntu虚拟机:
    在Web界面中启动VM ID 100,或者用命令:qm start 100
  2. 登录Ubuntu系统,查看新硬盘:
    sudo lsblk -f
    你应该能看到一个新设备,比如 /dev/sdb,而我的从win11系统拆过来的硬盘包含NTFS分区。
  3. 如果含NTFS分区,需要安装NTFS支持:
    sudo apt update && sudo apt install ntfs-3g
  4. 创建挂载点并挂载:
    sudo mkdir -p /mnt/windows_drive
    sudo mount -t ntfs-3g /dev/sdb1 /mnt/windows_drive
    注意:如果 /dev/sdb1要使用你的分区,请根据 lsblk 输出调整
  5. 访问文件:
    ls -la /mnt/windows_drive/Users/

设置自动挂载

有几种方法,我推荐方法二,最安全可靠。

方法一:编辑 /etc/fstab(传统方法)
  1. 在 Ubuntu 中,先获取分区的 UUID(更安全,不依赖设备名):
    sudo blkid
  2. 找到你的 NTFS 分区,记下 UUID,例如:
    /dev/sdb1: UUID="1234ABCD-5678" TYPE="ntfs"
  3. 编辑 fstab 文件:
    sudo nano /etc/fstab

    在文件末尾添加一行(根据你的实际情况修改):
    UUID=1234ABCD-5678 /mnt/windows_data ntfs-3g defaults,uid=1000,gid=1000,umask=022 0 0

    uid=1000,gid=1000:让你的普通用户有读写权限
    umask=022:设置文件权限

  4. 测试配置是否正确:
    sudo mount -a

    如果没有报错,说明配置正确。

方法二:使用 systemd mount 单元(推荐)

这是更现代、更灵活的方式。

  1. 创建挂载点目录(如果尚未创建):
    sudo mkdir -p /mnt/windows_data
  2. 获取分区 UUID:
    sudo blkid
    记下你的 NTFS 分区 UUID。
  3. 创建 mount 单元文件:
    sudo nano /etc/systemd/system/mnt-windows_data.mount
    添加以下内容(替换为你实际的 UUID):

    [Unit]
    Description=Mount Windows Data Drive
    Before=local-fs.target
    
    [Mount]
    What=UUID=1234ABCD-5678
    Where=/mnt/windows_data
    Type=ntfs-3g
    Options=defaults,uid=1000,gid=1000,umask=022
    
    [Install]
    WantedBy=multi-user.target
  4. 启用并测试:
    # 重新加载 systemd 配置
    sudo systemctl daemon-reload
    
    # 立即挂载测试
    sudo systemctl start mnt-windows_data.mount
    
    # 设置开机自动挂载
    sudo systemctl enable mnt-windows_data.mount
    
    # 检查状态
    sudo systemctl status mnt-windows_data.mount

推荐操作步骤

  1. 首先确认手动挂载正常:
    sudo mount -t ntfs-3g /dev/sdb1 /mnt/windows_data
    ls -la /mnt/windows_data/
    如果正常,选择一种自动挂载方法(推荐方法二)
  2. 重启测试:
    sudo reboot
  3. 重启后验证:
    df -h | grep windows_data
    ls -la /mnt/windows_data/

重要注意事项

  • 先测试再设置:确保手动挂载正常工作后再配置自动挂载
  • 使用 UUID:不要使用 /dev/sdb1,因为设备名可能在启动时变化
  • 权限设置:uid=1000,gid=1000 确保你的用户账户有读写权限
  • 备份重要数据:任何磁盘操作都有风险

格式化硬盘

警告:这会清除3TB盘上的所有数据!

# 查看当前分区情况
sudo fdisk -l /dev/sdc

# 使用parted创建GPT分区表(适合大容量硬盘)
sudo parted /dev/sdc mklabel gpt

# 创建单个分区占用整个磁盘
sudo parted /dev/sdc mkpart primary 0% 100%

# 格式化为ext4文件系统(适合Linux备份)
sudo mkfs.ext4 /dev/sdc1

# 为备份盘创建挂载点并挂载
sudo mkdir -p /mnt/backup_drive
sudo mount /dev/sdc1 /mnt/backup_drive
声明:本站许多内容均从网上收集整理,若有内容侵犯到您的权益,请通过邮件【6167555@qq.com】联系本站,我们将及时删除!

有问题请点我联系站长

「点点赞赏,手留余香」
HIDE

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享