利用u盘安装pve虚拟化

[TOC]

概述

Proxmox VE(Virtual Environment)是一个完整的、开源的企业虚拟化服务器管理平台。它将KVM管理程序和Linux Containers (LXC)、软件定义的存储和网络功能紧密集成在一个平台上。通过集成的基于web的用户界面,您可以轻松地管理vm和容器、集群的高可用性或集成的灾难恢复工具。

pve的特点

  • pve 的虚拟化核心是 QEMU/KVM
  • pve 的软件和社区支持都是免费的,企业用户则可以通过订阅制获得付费商业支持
  • 网络方面,pve 支持桥接和路由两种方式(默认是桥接

相对于 VMware Esxi 虚拟化,pve的优势如下

  • pve 是开源项目,可以认为 不存在授权问题,而 VMware Esxi 免费试用60天
  • 对硬件兼容性更好:支持笔记本、台式机、服务器等,且 pve 支持 Intel 和 AMD 的 cpu(vmware不支持AMD)
  • 去中心化:基于Web的管理界面,无需部署独立的vCenter管理节点,每个节点都是Master,可以在任意节点管理集群
  • 多台 pve 节点可以组成一个集群(cluster)

制作开机启动盘

1、制作开机启动u盘,请参考 制作启动u盘

2、下载最新的 proxmox-ve_7.4-1.iso 并将其拷贝到u盘根目录,示例版本 7.2-1

注:官方下载 https://pve.proxmox.com/wiki/Downloads

开始安装 PVE 系统

第1步,将u盘插入需要安装pve系统的服务器,开机按 DELETE 进入 BIOS,调整USB设备启动

第2步,进入如下界面,选择 Install Proxmox VE

第3步,选择要安装到哪个磁盘设备,并点击下一步

第4步,设置时区,建议设置为 Asia/Shanghai

第5步,设置管理员账号(root)密码和邮箱

第6步,设置网络及IP地址,默认第一片网卡,如果网线接在别的网卡上,请务必修改,否则会访问失败

第7步,确认配置无误后,点击安装

第8步,开始安装中 ...

第9步,安装完成后,重启

第10步,安装完成后,会显示 pve 的 Web管理界面

第11步,在上一步输入 root 及密码后,可以登录后台,执行 cat /etc/os-release 可以看出底层系统是 Debian 11 操作系统

root@node01:/dev/pve# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

第12步,登录Web管理界面

  • 地址:https://ip:8006
  • 账号:root
  • 密码:安装时设置的密码

注:安装pve会自动化格式化硬盘,无需单独格式化。

常用功能

安装第一台虚拟机

第1步,浏览器访问 https://ip:8006,上传os镜像文件到共享存储中

第2步,创建虚拟机,以虚拟光驱形式挂载该iso镜像到 CD/DVD 设备上,然后开始安装系统

创建模板并通过模板克隆虚拟机

第1步,选中需要设为模板的虚拟机,先关机(不要创建快照),再右键选择 Convert to templage

第2步,设为镜像模板之后,请注意该虚拟机的图标变了

第3步,选中该模板镜像,右键选择 Clone,注意 Mode 改为 Full Clone(默认为 Linked Clone)

注:不建议直接对某虚拟机右键选择 Clone 的方式来克隆虚拟机,如下是错误示范:

配置虚拟机为自启动

修改 nic

  • 假设服务器有3块网卡(enp2s0f0wlp3s0enx2c16dba9a0f3),安装pve的时候网卡选错为 enp2s0f0,需要改为 enx2c16dba9a0f3
root@pve:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback

iface enp2s0f0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.20.181/22
        gateway 192.168.23.254
        bridge-ports enp2s0f0
        bridge-stp off
        bridge-fd 0

iface enx2c16dba9a0f3 inet manual

iface wlp3s0 inet manual
  • 登录pve的 >_ Shell 控制台,修改如下文件,最后重启网卡服务以生效。
vi /etc/network/interfaces
  #.找到 bridge-ports enp2s0f0
  #.改为 bridge-ports enx2c16dba9a0f3

service networking restart

修改 ip

  • 登录pve的 >_ Shell 控制台,修改如下文件,其中 /etc/issue 修改的是欢迎界面的显示地址ip(不配置也不影响使用),最后重启网卡服务以生效。
oldip=192.168.4.195
newip=192.168.4.196

sed -i "s/$oldip/$newip/g" /etc/network/interfaces
sed -i "s/$oldip/$newip/g" /etc/hosts
sed -i "s/$oldip/$newip/g" /etc/issue

cat /etc/network/interfaces | egrep "(address|gateway)"
service networking restart

修改 dns

  • 登录pve的 >_ Shell 控制台,修改如下文件,并重启网卡服务以生效。
olddns=192.168.3.10
newdns=192.168.3.11

sed -i "s/$olddns/$newdns/g" /etc/resolv.conf

cat /etc/resolv.conf
service networking restart

修改 hostname

  • 登录pve的 >_ Shell 控制台,修改如下文件,执行 Reboot 以生效。
oldname=pve01
newname=pve02

hostnamectl set-hostname $newname
sed -i "s/$oldname/$newname/g" /etc/hostname
sed -i "s/$oldname/$newname/g" /etc/hosts
sed -i "s/$oldname/$newname/g" /etc/postfix/main.cf

reboot

修改虚机机的 vmid name

  • 方式1:登录pve控制台,选中该虚机的 Options 标签,点击 Name 直接修改 (推荐此方案
  • 方式2:登录pve的 >_ Shell 控制台,执行 qm list 找到这台虚机的 vmid(示例将102从 k8s-node2 改为 8s-node2-4.232),然后执行 qm config <vmid> 确认一下老的 vmid name,再执行 qm set <vmid> --name <newname> 来修改 vmid name。
root@node01:~# qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
       100 linux-template       stopped    4096              40.00 0         
       101 k8s-node1            running    4096              40.00 4963      
       102 k8s-node2            running    4096              40.00 8673      
       103 win10-4.240          running    4096              32.00 599826    
       104 ubuntu-template      stopped    4096              32.00 0         

root@node01:~# qm config 102 | grep name
name: k8s-node2

root@node01:~# qm set 102 --name k8s-node2-4.232
update VM 102: -name k8s-node2-4.232

root@node01:~# qm list | grep 102
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
       102 k8s-node2-4.232      running    4096              40.00 8673

注:同样的办法,可以使用 qm set 修改某 的其他参数。

修改虚拟机的 vmid

登录pve的 >_ Shell 控制台,执行 qm list 找到这台虚机的 vmid,示例将 k8s-node4-4.204 从 115 改为 114

root@node01:~# qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID       
       113 win10-yu-4.205       stopped    4096              50.00 0         
       115 k8s-node4-4.204      running    4096              40.00 0

先执行 qm stop <vmid> 将该虚拟机关机,然后调整vmid配置文件:

qm stop 115

cd /etc/pve/qemu-server
mv 115.conf 114.conf

快照与恢复

创建快照

  • 选中需要创建快照的虚拟机,依次选择 Snapshots - Take Snapshot,填写快照名称并创建。

恢复快照

  • 选中需要恢复快照的虚拟机,在 Snapshots 标签页,选择需要的快照,点击上面的 Rollback 按钮并恢复。

备份与迁移

有2台PVE服务器,但是没有做集群,现在需要把一个虚拟机从 node01 上迁移到 node02 上。

备份迁移的注意事项

  • 互相迁移的节点,需要虚拟机在同一个储存点。例如一个是local-lvm,那么另一个必须是local-lvm,否则不能迁移。
  • 互相迁移的节点,网卡一定要一样。例如一个是vmbr0,那么另外一个也要是vmbr0。
  • 迁移的虚拟机,挂载了ISO的话,迁移需要另外的虚拟机,在同样位置有同样的iso,否则不能迁移。最好的办法就是卸载iso。
  • 链接克隆的无法迁移。必须是完整克隆才能迁移
  • 热迁移只适合共享储存。例如SAN/NFS等储存。
  • 迁移后,原虚机的快照将会丢失

操作步骤

  • 第1步,打开 node01 的web页面将虚拟机关机(stop模式提供最强的数据一致性),并在 Backup 标签页,点击上面的 Backup now 按钮并备份

附1:以上操作也可以借助 vzdump 命令行来实现,参考如下:

root@node01:~# qm stop 100

root@node01:~# vzdump 100 --quiet 1 --mode stop --compress zstd --storage local

附2:关于虚拟机的3种备份模式,简单介绍如下:

备份模式 介绍 备注
stop模式 该模式能提供最强的数据一致性保障 代价是备份过程中虚拟机要先关机
suspend模式 提供该模式的唯一原因是兼容性 该模式首先会挂起虚拟机,然后执行snapshot模式
snapshot模式 采用该模式虚拟机停机时间最短 代价是备份数据有可能不一致,实际上采用的是pve在线备份
  • 第2步,登陆 node01 的终端(不是虚拟机),确认目录 /var/lib/vz/dump 下有新的备份文件产生,并转移备份文件到 node02 上
root@node01:~# ls -l /var/lib/vz/dump/
total 797288
-rw-r--r-- 1 root root      1790 Feb  3 10:25 vzdump-qemu-100-2023_02_03-10_25_04.log
-rw-r--r-- 1 root root 816408657 Feb  3 10:25 vzdump-qemu-100-2023_02_03-10_25_04.vma.zst
-rw-r--r-- 1 root root        12 Feb  3 10:25 vzdump-qemu-100-2023_02_03-10_25_04.vma.zst.notes

root@node01:~# scp /var/lib/vz/dump/vzdump-qemu-100-2023_02_03-10_25_04.vma.zst root@192.168.4.202:/root/
vzdump-qemu-100-2023_02_03-10_25_04.vma.zst                 100%  779MB 112.0MB/s   00:06
  • 第3步,登陆 node02 的终端,执行 qmrestore 备份文件 200 可指定恢复的虚机 vmid 为 200 (注:新恢复的虚拟机vmid不要与已有的虚拟机id冲突)
root@node02:~# qmrestore /root/vzdump-qemu-100-2023_02_03-10_25_04.vma.zst 200
restore vma archive: zstd -q -d -c /root/vzdump-qemu-100-2023_02_03-10_25_04.vma.zst | vma extract -v -r /var/tmp/vzdumptmp195877.fifo - /var/tmp/vzdumptmp195877
CFG: size: 420 name: qemu-server.conf
DEV: dev_id=1 size: 42949672960 devname: drive-scsi0
CTIME: Fri Feb  3 10:25:04 2023
  Logical volume "vm-200-disk-0" created.
new volume ID is 'local-lvm:vm-200-disk-0'
map 'drive-scsi0' to '/dev/pve/vm-200-disk-0' (write zeros = 0)
progress 1% (read 429522944 bytes, duration 0 sec)
progress 2% (read 859045888 bytes, duration 0 sec)
...
progress 99% (read 42520215552 bytes, duration 5 sec)
progress 100% (read 42949672960 bytes, duration 5 sec)
total bytes read 42949672960, sparse bytes 40431001600 (94.1%)
space reduction due to 4K zero blocks 5.36%
rescan volumes...
root@node02:~#
  • 第4步,打开 node02 的web页面,可以看到新的虚拟机已经创建,如下图示:

虚机在线迁移

  • 第1步,pve集群内的虚机,支持在线迁移。先找到要迁移的虚机,右键选择 Migrate,然后选择 Target nodeTarget storage 并开始迁移

  • 第2步,迁移完成则可以在新的节点上看到这台虚机,注意 vmid 没有变

在线迁移的注意事项

  • 迁移的虚拟机,不支持CD/DVD迁移。最好的办法就是卸载 CD/DVD驱动器
  • 迁移的虚拟机,建议先删掉快照和备份

附录

常用的qm命令

qm guest cmd <vmid> <command>
qm guest exec-status <vmid> <pid>
qm guest passwd <vmid> <username> [OPTIONS]
qm guest exec <vmid> [<extra-args>] [OPTIONS]

qm clone <vmid> <newid> [OPTIONS]
qm config <vmid> [OPTIONS]
qm create <vmid> [OPTIONS]
qm delsnapshot <vmid> <snapname> [OPTIONS]
qm destroy <vmid> [OPTIONS]       //删除某个虚机
qm list  [OPTIONS]       //列出所有虚机
qm listsnapshot <vmid>
qm migrate <vmid> <target> [OPTIONS]
qm move_disk <vmid> <disk> <storage> [OPTIONS]
qm pending <vmid>
qm reset <vmid> [OPTIONS]
qm resize <vmid> <disk> <size> [OPTIONS]
qm resume <vmid> [OPTIONS]
qm rollback <vmid> <snapname>
qm sendkey <vmid> <key> [OPTIONS]
qm set <vmid> [OPTIONS]
qm shutdown <vmid> [OPTIONS]
qm snapshot <vmid> <snapname> [OPTIONS]
qm start <vmid> [OPTIONS]       //启动某个虚机
qm stop <vmid> [OPTIONS]        //停止某个虚机
qm suspend <vmid> [OPTIONS]
qm template <vmid> [OPTIONS]
qm monitor <vmid>
qm mtunnel 
qm nbdstop <vmid>
qm rescan  [OPTIONS]
qm showcmd <vmid> [OPTIONS]
qm status <vmid> [OPTIONS]        //查看集群/虚机状态
qm terminal <vmid> [OPTIONS]
qm unlock <vmid>       //取消某个虚机的锁定状态
qm vncproxy <vmid>
qm wait <vmid> [OPTIONS]

qm help [<extra-args>] [OPTIONS]

常用的pve目录

目录 功能 备注
/dev/pve pve虚拟磁盘 -
/etc/network/interfaces 网络配置文件 可修改pve主机ip地址
/etc/pve/qemu-server 存放虚拟机的配置文件 -
/var/lib/vz/template/iso 存放iso文件 -
/var/lib/vz/dump/ 备份路径 -
Copyright © www.sqlfans.cn 2023 All Right Reserved更新时间: 2024-06-27 09:47:15

results matching ""

    No results matching ""