27 使用命令列指令及工具
27 使用命令列指令及工具
在前面的绝大多数内容当中,我们完全使用PVE的图形化界面进行操作,可以降低使用的难度,并且经由界面上的防呆设计,避免管理者不小心误删重要设定,或者是改动了重要的系统设定参数,而导致无法正常运作。
27.1 进入节点命令列
要使用命令列,请先选取节点后,再切换至【命令列】页签,即可在右方出现命令列界面。
需要更大的可视画面,也可以点选右上方的【命令列】按钮,即可启用一个独立的命令列视窗,画面更大,使用弹性也高。
27.2 常用系统指令
** 系统版本**
-
显示PVE版本资讯
root@host-106:~# pveversion
-
显示PVE所有套件版本资讯
~# pveversion -v
-
检查套件更新清单:效果等同于【apt-get update】
~# pveupdate
-
进行套件升级作业:效果等同于【apt-get dist-upgrade】,它是经过二次包装并加上适用于WebUI使用时的参数
~# pveupgrade
虚拟机操作
-
检视所有虚拟机
qm list
-
启动虚拟机:后方参数为目标虚拟机,请输入VMID编号
qm start 102
-
关闭虚拟机
qm shutdown 102
-
停止虚拟机
qm stop 102
-
重新启动虚拟机
qm reboot 102
-
重置虚拟机
qm reset 102
-
解锁虚拟机:主要使用于虚拟机作业中被无预警中断或发生错误造成中断后,无法正常对虚拟机进行操作,例如:启动、停止、备份等,就需要先将虚拟机解锁,才能继续操作。
qm unlock 102
-
检视虚拟机快照
qm listsnapshot 102
-
制作虚拟机快照:后方第一个参数为目标虚拟机,请填入VMID编号;第二个参数是要制作的快照名称。
qm snapshot 102 install_before
-
倒回虚拟机快照
qm rollback 102 test_before
-
删除虚拟机快照
qm delsnapshot 102 test_before
-
汇入磁碟:后方第一个参数为来源档案,第二个参数为汇入后的储存区,可以使用的格式包括raw、qcow2、vmdk、img等,方便将现有取得的虚拟机磁碟档案汇入给虚拟机使用。依据目标储存不同,汇入过程会自动转换格式。
qm importdisk 102 /tmp/new.vmdk vmdisk-2
** 容器操作**
-
检视所有容器
pct list
-
启动容器
pct start 105
-
关闭容器
pct shutdown 105
-
停止容器
pct stop 105
-
重新启动容器
pct reboot 105
-
解锁容器
pct unlock 105
-
检视容器快照
pct listsnapshot 105
-
制作容器快照
pct snapshot 102 install_before
-
倒回容器快照
pct rollback 105 test_before
-
删除容器快照
pct delsnapshot 105 test_before
** 备份还原**
-
制作备份档:后方第一个参数为目标客体机;第二个参数是备份档要放置的路径;第三个参数是采用的模式(快照、停止、暂停);最后一个参数是压缩方式(gzip/lzp/zstd)
vzdump 101 --dumpdir /tmp/ --mode snapshot --compress zstd
-
从备份还原虚拟机
qmrestore /tmp/vzdump-qemu-101-2021.vma.zst 101 --force --storage=vmdisk-2
-
从备份还原容器
pct restore 105 /tmp/vzdump-lxc-105-2021.tar.zst --force --storage=vmdisk-2
** 范本管理 **
-
检视储存区现有范本
pveam list local
-
检视范本库可用范本
pveam available
-
更新范本库清单
pveam update
** 丛集管理**
-
检视丛集状态
pvecm status
-
重新产生节点凭证并复写至其他节点
pvecm updatecerts
-
设定丛集运作的最低节点数
pvecm expected 1
-
建立丛集
pvecm create cluster1
-
加入丛集
pvecm add 192.168.1.86
** 防火墙管理**
-
检视防火墙状态
pve-firewall status
-
启动防火墙
pve-firewall start
-
停止防火墙
pve-firewall stop
效能测试
-
检视作业系统区效能:后方参数未指定,是表示以PVE作业系统所在的储存区做测试。FSYNC/SECOND的效能最低标准为【150】,若低于【150】,会有非常糟糕的写入效能。
pveperf
-
检视指定储存区效能:后方参数为指定测试的储存区位置,本例为【vmdisk-2】
pveperf /vmdisk-2
** ZFS档案系统**
-
检视储存集区状况
zpool status
-
检视储存集区资讯:显示储存集区的容量、压缩率、重新资料删率以及健康状况。
zpool list
-
检视磁区与资料集资讯:显示所有磁区(zvol)与资料集(dataset)状况,前者是Block等级方式使用,后者是File等级方式使用。栏位包括容量资讯、挂接点位置。
zfs list
-
检视目前快照清单
zfs list -t snapshot
-
检视目前快照清单
zfs list -t snapshot
-
建立ZFS镜像两颗磁碟集区
zpool create vmdisk-2 mirror <disk1> <disk2>
-
建立ZFS RAIDZ1三颗磁碟集区
zpool create vmdisk-3 raidz <disk1> <disk2> <disk3>
-
建立ZFS RAIDZ2四颗磁碟集区
zpool create vmdisk-4 raidz2 <disk1> <disk2> <disk3> <disk4>
-
建立ZFS RAIDZ3五颗磁碟集区
zpool create vmdisk-5 raidz3 <disk1> <disk2> <disk3> <disk4> <disk5>
-
建立ZFS Mirror+Mirror,两颗+两颗磁碟集区,这种作法可以理解为传统的RAID10
zpool create vmdisk-10 mirror <disk1> <disk2> mirror <disk3> <disk4>
-
建立ZFS RAIDZ1+RAIDZ1,五颗+五颗磁碟集区:这种作法可以理解为传统的RAID50
zpool create vmdisk-50 raidz1 <disk1> <disk2> <disk3> <disk4> <disk5> raidz1 <disk6> <disk7> <disk8> <disk9> <disk10>
-
替换储存集区磁碟
zpool replace vmdisk-3 <olddisk> <newdisk>
-
将储存集区汇出(卸离):不使用储存集区时,可以将它从系统中汇出,在最后一个参数放置储存集区名称
zpool export <zpoolname>
-
将储存集区汇入(挂接):将系统上的ZFS储存集区挂接起来使用,最常应用的场景是将一批磁碟拔下至另一台PVE节点上,让这个节点使用ZFS储存集区。如果出现警告,可以使用【-f】选项强制汇入
zpool import <zpoolname> -f
27.3 安装效能监测工具
** glances **
检视系统各项效能状况的工具,并且提供磁碟与网路相关数据。
~# apt install python3 phthon3-dev python3-jinja2 python3-psutil python3-setuptools hddtemp python3-pip lm-sensors
~# pip3 install glances
~# glances
** s-tui **
检视系统温度、频率、电源功率等各项硬体数据。
~# apt install s-tui
~# s-tui
** qperf **
测试网路传输速度与延迟,对于丛集运作和挂接网路储存是相当重要的指标。越低的延迟,才能在同一个丛集中容纳更多的节点数。使用上,需要有两个节点皆安装运作,方能互相连线测试。
# 两个节点分别安装好qperf
~# apt install qperf
~# apt install qperf
# 在其中一个节点(host-104)执行qperf
~# qperf
# 在另一个节点(host-106)执行测试
# 第一个参数填入对方IP
# 后面加上tcp_bw 与tcp_lat,以TCP测试频宽能力与延迟时间
~# qperf 192.168.1.104 tcp_bw tcp_lat
# 后面加上udp_bw 与 udp_lat,以UDP测试频宽能力与延迟时间
~# qperf 192.168.1.104 udp_bw udp_lat
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统