PVE虚拟平台常用简明操作,三分钟搞定虚拟机更换安装配置
Proxmox Virtual Environment是一个基于QEMU/KVM和LXC的开源服务器虚拟化管理解决方案,本文简称PVE,与之相类似的虚拟化平台是VMWARE的ESXi虚拟平台,相较于商业产品ESXi虚拟平台,由于PVE基于Debian系统,Linux系统的优势太强,在硬件驱动支持方面无敌,在可扩展方面无敌,在性能和稳定性方面与ESXi相当,只是在易用性上稍逊,不过对于偏向命令行喜好的玩家来说,PVE易用方便高效秒杀ESXi虚拟平台了。
当然,PVE也提供了WEB操作界面,但若要高效方便还得是命令行。命令很多,但常用的就下面几条,更复杂的直接查看PVE手册,随用随查。
#qm list //列出当前PVE平台中所有虚拟机
#qm snapshot <虚拟机编号> <快照文件名> //给指定虚拟机生成快照
#qm importdisk <虚拟机编号> <img\vmdk格式文件> local-lvm //导入系统文件到指定虚拟机
#qm shutdown <虚拟机编号> //关闭指定虚拟机
#qm start <虚拟机编号> 启动虚拟机编号
PVE可以通过一个集成的、易于使用的Web界面或通过CLI来管理虚拟机、容器、高可用集群、存储和网络。需要说明,QEMU/KVM虚拟机和Linux容器是Proxmox VE支持的两种类型的虚拟化技术。在Proxmox VE主机上常见任务:例如设置软件包库、配置网络、系统更新、主机启动程序、外部度量服务器、磁盘健康监测、逻辑卷管理器LVM、Linux上的ZFS等,PVE主机支持集群,运行在PVE平台上的的虚拟机和容器可以配置高可用性,PVE主机支持的存储架构也很丰富,例如:Ceph RBD、ZFS、用户模式iSCSI、iSCSI、ZFS over iSCSI、LVM、LVM thin、GlusterFS、NFS和Proxmox Backup Server。
三分钟搞定PVE虚拟机的过程
第一步:准备好虚拟机系统镜像,将镜像文件传到PVE虚拟平台中,这里以openwrt的镜像openwrt21.02.img.gz为例,操作环境为MX Linux系统,如果使用Windows系统,可以使用WinSCP软件传输虚拟机镜像文件到PVE平台中,这里PVE平台管理IP为192.168.5.2//scp命令将虚拟机系统镜像文件复制进PVE平台的root目录
$scp openwrt21.02.img.gz root@192.168.5.2:/root
$ssh root@192.168.5.2 //进入PVE平台命令行
$gunzip openwrt21.02.img.gz //解压镜像文件为img格式
第二步,建立PVE虚拟机,导入准备好的系统镜像,需要重启虚拟机$ssh root@192.168.5.2 //进入PVE平台命令行
//qm 命令导入img系统镜像文件到编号100的PVE虚拟机中,显示为未用硬盘
$qm importdisk 100 openwrt21.02.img local-lvm
#qm shutdown 100 关闭100编号的PVE虚拟机
#qm start 100 //启动100编号的PVE虚拟机
#passwd 修改root用户密码
#vi /etc/config/network //修改PVE虚拟机管理IP,例如lan口IP设置为192.168.5.1
#/etc/init.d/network restart 重启网络服务,使管理IP生效
至此,PVE虚拟机切换完成,如果有其他系统镜像,直接重复前面三步,都不用删除现存的虚拟机,一个虚拟机导入多个scsi硬盘,然后在BootOder启动顺序中选择,想用哪个系统用哪个,惬意……
本来想写篇短文章,结果一写收不住,干脆多写一点,网上流传什么内置硬盘直通、外挂USB硬盘直通,都是既麻烦又有硬件损坏风险的方案,最方便稳妥好用的方案是使用PVE搭建Samba共享服务,再使用PVE虚拟机Openwrt去访问Samba共享服务,间接访问存储设备,这个方案与硬盘文件系统无关,支持NTFS、EXT4、EXFAT、HPFS+等主流操作系统的文件系统格式,兼容性无敌。
下图为PVE平台中搭建Samba服务,需要修改smb配置以提供写盘权限。
下图为在PVE虚拟机中挂载PVE共享,使用存储设备进行下载等后续应用。
延伸阅读
啥是容器?
容器是完全虚拟机的轻量级替代品,它使用所宿主主机系统的内核,而并不像完全虚拟平台台那样直接虚拟一个完整的操作系统,因此容器可以直接访问主机系统上的资源,其运行效率高,与在主机上直接运行的应用相比差别很小,主要目标是提供一个环境,提供使用虚拟机的好处,但没有虚拟机那样巨大的额外开销。
系统容器和应用容器的不同?相当于PVE之于VirtualBox,ESXi之于Vmware WorkStation
目前,PVE容器中只提供对Linux发行版支持,不能在容器内运行其他操作系统,例如:FreeBSD、Windows。容器在安全性上天然弱于完全虚拟机,通常都需要技术隔离,限制对主机资源的访问,特别是涉及到系统调用功能,即用户空间对Linux内核的请求在容器内是禁止的。因此,PVE容器属于系统容器,而不是“应用容器”,如果需要运行应用容器,例如Docker镜像则需要在PVE虚拟机中运行Docker。
Qemu(Quick Emulator的简称)是一个开源的管理程序,可以模拟物理计算机。从Qemu运行的主机系统的角度来看,Qemu是一个用户程序,它可以访问一些本地资源,如分区、文件、网卡,然后将其传递给模拟计算机,模拟计算机将其视为真实设备。
在模拟计算机中运行的客户操作系统访问这些设备,并像在真实硬件上运行一样运行。例如,将一个操作系统ISO镜像作为参数传递给Qemu,在被模拟的计算机中运行的操作系统将看到一个真正的CD-ROM插入到CD驱动器。Qemu可以模拟从ARM到Sparc的各种硬件,PVE只关注32位和64位的PC模拟,基本上代表了绝大多数的服务器硬件。
软件模拟的硬件有兼容性问题吗?完全没有
由于有了处理器扩展,当仿真的架构与主机架构相同时,Qemu的仿真速度也是最快的之一。在Linux系统中使用KVM(基于内核的虚拟机)来实现原生虚拟,这意味着Qemu是在虚拟化处理器扩展的支持下,通过linux内核KVM模块运行的,因此PVE中的Qemu性能很高,虚拟设备和准虚拟化的设备,包括主板、网络控制器、SCSI、IDE和SATA控制器、串行端口等PC硬件,所有这些都是通过软件模拟的。如果在客户中运行的操作系统有适当的驱动程序,它将使用这些设备,就像它在真正的硬件上运行一样。这使得Qemu可以运行未经修改的操作系统。
软件模拟的硬件和直通硬件的性能差异,直通不一定最好
因为在软件中运行本应在硬件中运行的东西,主机CPU负担比较重,存在性能损失,为了缓解这个问题,Qemu可以向虚拟机中的操作系统直通准虚拟化设备,从而使虚拟机操作系统知道它正在Qemu内运行。
Qem遵循virtio虚拟化标准,因此能够呈现准虚拟化的virtio设备,其中包括准虚拟化的通用磁盘控制器、准虚拟化的网卡、准虚拟化的串口、准虚拟化的SCSI控制器等。强烈建议尽可能地使用virtio设备,因为它们提供了很大的性能改进。依据bonnie++测试结果,使用 virtio 通用磁盘控制器与模拟的 IDE 控制器相比,连续写入的吞吐量将增加一倍;类似地,依据iperf测试结果,使用 virtio 网络接口可以提供三倍于模拟的 Intel E1000 网卡的吞吐量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-12-21 深入理解Fabric环境搭建的详细过程
2017-12-21 Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器
2017-12-21 java visual VM使用简介
2016-12-21 阿里云大数据三次技术突围:Greenplum、Hadoop和“飞天”
2016-12-21 海量数据处理利器greenplum——初识