一、
虚拟化平台简单介绍
市面上虚拟化工具或者说虚拟机平台是非常多的,比如,openshifit,open stack,华为云的魔改open stack 的HCE,VMware workstation,VMware sphere,VMware esix,xen,hyper等等,非常多,但有一个虚拟化平台,简称PVE的,也就是proxmox-ve 这个还是非常不错的
proxmox-ve的优势是开箱即用,部署简单,方便,基本正常情况下半个小时左右就可以部署完成,proxmox-ve的功能是类似VMware workstation,可以在它的基础上创建各种各样的虚拟机,最关键的一点是,它的设备穿透功能非常强大,在创建的虚拟机内可以使用宿主机的各类设备,这一点能够让我们使用各类显卡,其次是proxmox-ve可以模拟非常多的cpu型号,但需要注意的一点是:proxmox-ve不能跨越异构,也就是说,比如你的宿主机是x86_64架构的cpu,那么,在安装完pve后,你可以选择使用x86_64架构的AMD 的cpu,比如速龙,也可以选择inter的,比如睿频类的
那么,proxmox-ve的功能是比VMware workstation这些平台要更多的,但安装部署基本是没有什么太多难度,总结起来就是三个优点:1、设备穿透 2、多种cpu模拟 3、部署使用基本没有难度
下面以在VMware workstation里安装pve,再在该虚拟机内安装win7为例
二、
实验环境简介
VMware的nat网络如下图:
VMware的版本如下图:
proxmox-ve的下载地址:
ISO - Proxmox Virtual Environment
下载完毕后,将镜像随意存放到某个地方,安装过程和其它虚拟机是一样的,只是个别地方需要注意一点
这里选择VMware,原因是可以省掉后面的一些手动配置:
一般不要把虚拟机放置到c盘,因此在d盘新建一个目录,目录名称随意:
考虑到这次安装时虚拟机嵌套虚拟机,因此,配置应该比平常的虚拟机高一些,四核cpu:
同理,内存也给高点,至少8G:
网络选择nat模式,后面服务器的IP就配置为192.168.123.XXX的形式:
磁盘控制器默认了,当然选择其它的也没什么问题,只是我的VMware版本比较高而已,选择第二个也是可以的:
磁盘类型仍然默认:
磁盘容量大小,默认也可以,随意,但不要太低,如果想以后真的使用的话:
设置完成后,必须开启虚拟化,也就是至少第一个要选上,后面两个无所谓,如何开启虚拟化,请自行百度,这里不废话了,然后cdrom那里选择前面下载的iOS文件,挂载,这个时候就可以开始安装了:
开启虚拟机后,界面如下,这里只选择第一个
当然,如果选择第三个也可以,这样会多点选项:
automated需要一个配置文件,如果没有,那就老老实实的选择第一个:
初始化完毕后,进入安装界面,第一个界面是最终用户说明,没什么好说的,直接同意,不用废话:
这里是磁盘选择的地方,默认就好了,不要折腾,说的是一切自动安装,如果不做什么改动的化,还提示了一下,说sda这个磁盘所有数据会重置,如果原来该磁盘有数据的话:
如果不喜欢ext4磁盘格式,可以点options修改一下,几个空白不要修改,没必要,只是资源限制,既然用了这个pve,自然是统统都用的。
有ext4,xfs,zfs,btrfs, 这里面xfs性能最好,其它都或多或少有点毛病,这里也不做详细介绍,建议使用xfs
键盘,时区,语言什么的,自然是选china,这里摁下c就出来china了,时区会自动给你选成shanghai:
管理员用户和密码设置,这里是默认root,输入密码即可,随意,不要忘记就行:
管理用的网卡,该服务器的IP地址,网关,这些基本pve都给你写好了,域名要自己想好了写,pve.local里面的pve就是主机名了:
配置总结,让你确认下是否配置正确,如果正确就开始安装了,注意那个勾,如果点了,自动安装完就重启了:
非常简单的,这个pve虚拟机就安装好了,可以看到有提示web管理界面的地址:
🆗,安装完毕后,配置xshell连接,以及打开浏览器登陆这些就不需要废话太多了
这里有两个选项,一个是linux操作系统认证,一个是web认证,只选Linux认证,web认证需要在登陆网页后自行配置,用户是root,密码就是root用户的密码
三、
pve的web界面简单介绍
概要是pve的总体的一个比较简单的监控页面,软件包版本这里可以看到pve安装了哪些组件,实际参考意义不大
内存和cpu什么的基本符合前面创建VMware虚拟机的时候的情况,需要注意的是,可以看到cpu并没有穿透,但显示了宿主机的cpu名称,linux的内核版本也比较高
而中间的企业存储库指的是apt仓库,这个是可以点击跳转到下面的更新---存储库的
跳转到存储库,可以看到一个大警告,由于没有付费,因此,这些apt仓库是禁用的,下面配置阿里云的apt源,解除这些限制
建议使用nano注释掉,vi不太好使,vim还没有安装
root@pve:~# cat /etc/apt/sources.list.d/pve-enterprise.list
deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterprise
这一行注释掉
root@pve:~# cat /etc/apt/sources.list.d/ceph.list
deb https://enterprise.proxmox.com/debian/ceph-quincy bookworm enterprise
这一行也注释掉
主配置文件修改成如下,因为是8.1版本,所以使用debian12的配置
root@pve:~# cat /etc/apt/sources.list
#deb http://ftp.debian.org/debian bookworm main contrib
#deb http://ftp.debian.org/debian bookworm-updates main contrib
# security updates
#deb http://security.debian.org bookworm-security main contrib
deb https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb-src https://mirrors.aliyun.com/debian-security/ bookworm-security main
deb https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb-src https://mirrors.aliyun.com/debian/ bookworm-updates main non-free non-free-firmware contrib
deb https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contribxq
deb-src https://mirrors.aliyun.com/debian/ bookworm-backports main non-free non-free-firmware contrib
如果是7,那么,使用debian11的
deb http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye main non-free contrib
deb http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb-src http://mirrors.aliyun.com/debian-security/ bullseye-security main
deb http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ bullseye-backports main non-free contrib
完事之后,更新apt源就可以愉快的使用了,至少先安装一个vim:
apt update && apt upgrade -y
更新完后,apt就彻底可以自由使用了,前提是有网:
系统---网络有点意思,还一个是系统 ---系统日志,这个在出错的时候还是需要优先看的,剩下的没什么看的价值,需要注意最下面的实时日志,这个是比较有用的:
PVE默认将硬盘分成两个分区,存放备份和镜像的local 和 存放实际虚拟机数据的local-lvm
local一般是上传存放镜像ISO文件的地方,对应于服务器上的/var/lib/vz/template/iso/ 这个目录
下面安装Windows10
四、
安装虚拟机Windows10
安装虚拟机有好几种方式,有命令行,也可以web界面操作,不过既然有web界面,自然还是使用图形化方式了
名称随意,无所谓
前面提到的/var/lib/vz/template/iso/ 这个目录,上传镜像ISO文件,什么方法都可以
注意,还需要一个virto驱动,我这里是用virtio-win-0.1.102.iso,和操作系统ISO文件在一起
系统这里都默认的,磁盘控制器一般都是这个:
磁盘这里也都默认:
cpu 这里稍微调高点,2核2cpu,cpu型号默认这个就可以:
内存也稍微给大点,4G:
网络不修改,直接下一步,下一步,等系统安装完了在安装网卡驱动
双击虚拟机,打开vnc,如下:
接受协议后,选择自定义:
可以看到正常认到盘了,下一步
概要里,可以看到内存基本用完了:
安装完成后,自动重启
这个时候没有安装网卡驱动:
打开设备管理器,更新网卡驱动,路径选择如下:
打开远程连接:
这个时候就可以激活这个win10了
五、
备份虚拟机
选择到虚拟机,然后点击立即备份就可以了
三种模式,快照,挂起和停止,一般使用快照就可以了,这个操作主要是备份kvm虚拟机文件并压缩,存放到/var/lib/vz/dump/ 这个目录下
压缩也是三种,一般默认zstd就可以了,虚拟机状态没有要求,最好时关闭状态,这样备份的文件会小一点
备份虚拟机的日志大概如下:
INFO: starting new backup job: vzdump 100 --mode snapshot --notes-template '{{guestname}}' --notification-mode auto --storage local --compress zstd --node pve --remove 0
INFO: Starting Backup of VM 100 (qemu)
INFO: Backup started at 2024-06-08 22:25:14
INFO: status = stopped
INFO: backup mode: stop
INFO: ionice priority: 7
INFO: VM Name: mywin10
INFO: include disk 'scsi0' 'local-lvm:vm-100-disk-0' 60G
INFO: creating vzdump archive '/var/lib/vz/dump/vzdump-qemu-100-2024_06_08-22_25_14.vma.zst'
INFO: starting kvm to execute backup task
INFO: started backup task '1d308831-dde9-43c0-884b-9d49fd46d55d'
INFO: 2% (1.6 GiB of 60.0 GiB) in 3s, read: 549.8 MiB/s, write: 341.7 MiB/s
INFO: 3% (2.2 GiB of 60.0 GiB) in 6s, read: 184.9 MiB/s, write: 184.1 MiB/s
INFO: 4% (2.8 GiB of 60.0 GiB) in 9s, read: 205.4 MiB/s, write: 205.2 MiB/s
INFO: 5% (3.5 GiB of 60.0 GiB) in 12s, read: 262.2 MiB/s, write: 250.9 MiB/s
INFO: 7% (4.3 GiB of 60.0 GiB) in 15s, read: 259.8 MiB/s, write: 218.4 MiB/s
INFO: 8% (4.9 GiB of 60.0 GiB) in 18s, read: 209.0 MiB/s, write: 208.5 MiB/s
INFO: 9% (5.7 GiB of 60.0 GiB) in 21s, read: 259.8 MiB/s, write: 241.8 MiB/s
INFO: 10% (6.5 GiB of 60.0 GiB) in 24s, read: 302.1 MiB/s, write: 296.9 MiB/s
INFO: 11% (7.2 GiB of 60.0 GiB) in 27s, read: 222.3 MiB/s, write: 221.0 MiB/s
INFO: 15% (9.6 GiB of 60.0 GiB) in 30s, read: 820.5 MiB/s, write: 261.5 MiB/s
INFO: 17% (10.3 GiB of 60.0 GiB) in 33s, read: 247.7 MiB/s, write: 199.7 MiB/s
INFO: 31% (19.0 GiB of 60.0 GiB) in 36s, read: 2.9 GiB/s, write: 0 B/s
INFO: 48% (29.3 GiB of 60.0 GiB) in 39s, read: 3.4 GiB/s, write: 0 B/s
INFO: 66% (39.6 GiB of 60.0 GiB) in 42s, read: 3.4 GiB/s, write: 0 B/s
INFO: 83% (50.1 GiB of 60.0 GiB) in 45s, read: 3.5 GiB/s, write: 0 B/s
INFO: 100% (60.0 GiB of 60.0 GiB) in 48s, read: 3.3 GiB/s, write: 1.3 KiB/s
INFO: backup is sparse: 52.30 GiB (87%) total zero data
INFO: transferred 60.00 GiB in 48 seconds (1.2 GiB/s)
INFO: stopping kvm after backup task
INFO: archive file size: 3.88GB
INFO: adding notes to backup
INFO: Finished Backup of VM 100 (00:00:49)
INFO: Backup finished at 2024-06-08 22:26:03
INFO: Backup job finished successfully
INFO: notified via target `mail-to-root`
还原如下 ,选择备份文件,点击还原就可以了
六、
虚拟机快照的制作和使用
PVE的快照制作非常简单快速,选中虚拟机后,点击做快照即可,这里只是需要注意一点,不能有数字出现,纯字母快照名称
很奇怪,在查看其它资料的时候,有人说什么虚拟机类型不能是raw而必须是qcow2,否则无法做快照,但其实这个无关紧要,名称一定要纯字母不带数字
以上图为例,first快照,win10桌面没有一个自定义的文本文件,second快照有一个自定义的文本文件,选中second快照,回滚,在启动虚拟机就可以看到文本文件了
🆗,虚拟机的快照功能非常nice,在使用上基本和VMware workstation没任何区别,完全可以做到平替VMware,快照详情也是值得一看的,建议每次做快照的时候把说明写一写,省的自己后面忘记了:
七、
pve利用命令行进行简单的虚拟机管理
命令行管理虚拟机的主要命令是qm,当然,kvm的其它命令也是可用的,比如qemu-kvm
root@pve:~# qm --help\
>
ERROR: unknown command 'qm --help'
USAGE: qm <COMMAND> [ARGS] [OPTIONS]
qm cloudinit dump <vmid> <type>
qm cloudinit pending <vmid>
qm cloudinit update <vmid>
qm disk move <vmid> <disk> [<storage>] [OPTIONS]
qm disk resize <vmid> <disk> <size> [OPTIONS]
qm disk unlink <vmid> --idlist <string> [OPTIONS]
qm disk import <vmid> <source> <storage> [OPTIONS]
qm disk rescan [OPTIONS]
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 pending <vmid>
qm reboot <vmid> [OPTIONS]
qm reset <vmid> [OPTIONS]
qm resume <vmid> [OPTIONS]
qm rollback <vmid> <snapname> [OPTIONS]
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 cleanup <vmid> <clean-shutdown> <guest-requested>
qm import <vmid> <source> --storage <string> [OPTIONS]
qm importovf <vmid> <manifest> <storage> [OPTIONS]
qm monitor <vmid>
qm mtunnel
qm nbdstop <vmid>
qm remote-migrate <vmid> [<target-vmid>] <target-endpoint> --target-bridge <string> --target-storage <string> [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]
这里就简单的说一下虚拟机的启动,停止,重启,因为web界面操作有时候会卡很长时间,而命令行还是比较快的:
下面的命令是启动虚拟机100,查看虚拟机配置,查看虚拟机状态
root@pve:~# qm start 100
root@pve:~# qm config 100
boot: order=scsi0;ide0;ide2;net0
cores: 2
cpu: x86-64-v2-AES
ide0: local:iso/virtio-win-0.1.102.iso,media=cdrom,size=156988K
ide2: local:iso/cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso,media=cdrom,size=3732320K
machine: pc-i440fx-8.1
memory: 4048
meta: creation-qemu=8.1.5,ctime=1717853444
name: mywin10
net0: virtio=BC:24:11:4F:12:45,bridge=vmbr0
numa: 0
ostype: win10
parent: secont
scsi0: local-lvm:vm-100-disk-0,iothread=1,size=60G
scsihw: virtio-scsi-single
smbios1: uuid=3a10eb17-8f1d-48d1-b9e2-6102e95306a1
sockets: 2
vmgenid: 92bbea6a-ed9d-44dc-a548-0a2d34f19e20
root@pve:~# qm status 100
status: running
重启虚拟机100
oot@pve:~# qm reboot 100
八、
pve的启动U盘制作
这里在重申一次pve的ISO文件下载地址: ISO - Proxmox Virtual Environment
pve的ISO镜像文件和其它操作系统的ISO镜像文件不太一样,好像是要三个分区,因此,U盘制作也和普通的ISO启动U盘不太一样
需要使用rufus-4.5 这样的软件来制作,经实验,uiso9_cn并不能制作成功pve的启动U盘
rufus-4.5的下载地址:Rufus download latest version
rufus制作启动U盘基本和普通启动U盘一样,只是在pve这里,需要选择dd制作其它就没什么好说的了
🆗,pve的部署和初步使用就介绍到这里了