当前位置:首页 > 综合资讯 > 正文
黑狐家游戏

vmware kvm,kvm查看虚拟机命令

vmware kvm,kvm查看虚拟机命令

***:本内容聚焦于vmware kvm相关,重点提到了查看虚拟机的命令。vmware kvm在虚拟化领域有重要意义,而查看虚拟机命令是管理和监控虚拟机运行状态等操作的...

***:本文围绕vmware和kvm展开,重点提及kvm查看虚拟机命令。vmware是一种虚拟化技术,而KVM(基于内核的虚拟机)也是重要的虚拟化方案。对于KVM,了解查看虚拟机的命令非常关键,这些命令有助于管理员对虚拟机进行管理、监控等操作,如查看虚拟机状态、资源使用情况等,但文档未具体列出这些查看命令内容。

本文目录导读:

  1. KVM基础概念回顾
  2. 查看KVM虚拟机的基本命令
  3. 深入查看虚拟机配置信息
  4. 查看虚拟机性能相关信息
  5. 查看虚拟机存储相关信息
  6. 查看虚拟机日志信息

《VMware KVM中查看虚拟机的命令全解析》

在虚拟化技术日益发展的今天,KVM(Kernel - based Virtual Machine)作为一种开源的基于内核的虚拟机技术,在很多场景下得到了广泛的应用,尤其是在与VMware相关的环境或者技术对比研究中,掌握如何查看KVM中的虚拟机是非常重要的操作,这不仅有助于系统管理员对虚拟机资源进行有效的管理,也对故障排查、性能优化等工作有着关键的意义。

KVM基础概念回顾

KVM是一种内建于Linux内核中的虚拟化技术,它利用Linux内核的特性,将Linux内核转换为一个虚拟机监控器(Hypervisor),与传统的虚拟化技术相比,KVM具有高性能、安全性高、易于集成到现有Linux系统等优点,在KVM环境中,虚拟机(VM)是运行在宿主机之上的独立操作系统实例,它们共享宿主机的硬件资源,如CPU、内存、磁盘和网络等。

查看KVM虚拟机的基本命令

(一)virsh list命令

vmware kvm,kvm查看虚拟机命令

1、简单查询(默认选项)

virsh list命令是查看正在运行的KVM虚拟机的最基本命令,当在终端输入这个命令时,它会列出当前正在运行的所有KVM虚拟机的名称、ID和状态等基本信息。

```

ID Name State

1 centos7 - vm running

2 ubuntu - vm running

```

- 这里的ID是虚拟机在KVM系统中的唯一标识符,Name是虚拟机的名称,State表示虚拟机当前的运行状态,如running(运行中)、paused(暂停)等。

2、查看所有虚拟机(包括未运行的)

- 使用virsh list --all命令可以查看所有的KVM虚拟机,不管它们是否正在运行。

```

ID Name State

1 centos7 - vm running

2 ubuntu - vm running

3 test - vm shut off

```

- 在这个例子中,test - vm的状态是shut off,表示它当前没有运行。

(二)qemu - img info命令

1、查看虚拟机磁盘镜像信息

- KVM虚拟机的磁盘通常以镜像文件的形式存在。qemu - img info命令可以用来查看虚拟机磁盘镜像的详细信息,如果有一个名为centos7 - vm.img的虚拟机磁盘镜像,可以使用以下命令查看:

```

qemu - img info centos7 - vm.img

```

- 输出可能包含以下信息:

```

image: centos7 - vm.img

file format: qcow2

virtual size: 10G (10737418240 bytes)

disk size: 3G

cluster_size: 65536

Format specific information:

compat: 1.1

lazy refcounts: false

```

- 这里可以看到磁盘镜像的格式(qcow2)、虚拟大小(10G)、实际占用磁盘大小(3G)等重要信息,这些信息对于了解虚拟机的磁盘使用情况、进行磁盘扩容或迁移等操作非常有用。

深入查看虚拟机配置信息

(一)virsh dumpxml命令

1、查看虚拟机的XML配置文件内容

- 在KVM中,每个虚拟机都有一个对应的XML配置文件,这个文件包含了虚拟机的各种配置信息,如CPU、内存、磁盘、网络等。virsh dumpxml命令可以用来查看指定虚拟机的XML配置文件内容,要查看名为centos7 - vm的虚拟机的XML配置文件内容,可以使用以下命令:

```

virsh dumpxml centos7 - vm

```

- 输出的XML文件内容可能非常详细,以下是一个简化的示例:

```xml

<domain type='kvm'>

<name>centos7 - vm</name>

<uuid>12345678 - 1234 - 1234 - 1234 - 123456789012</uuid>

<memory unit='KiB'>1048576</memory>

<currentMemory unit='KiB'>1048576</currentMemory>

<vcpu placement='static'>1</vcpu>

<os>

<type arch='x86_64' machine='pc - i440fx - rhel7.0.0'>hvm</type>

<boot dev='hd'/>

</os>

<devices>

<disk type='file' device='disk'>

<driver name='qemu' type='qcow2'/>

<source file='/var/lib/libvirt/images/centos7 - vm.img'/>

<target dev='vda' bus='virtio'/>

</disk>

<interface type='network'>

<mac address='00:11:22:33:44:55'/>

<source network='default'/>

<model type='virtio'/>

</interface>

</devices>

vmware kvm,kvm查看虚拟机命令

</domain>

```

- 从这个XML文件中,可以获取到虚拟机的内存大小(1048576KiB,即1GB)、CPU数量(1个)、磁盘镜像的路径(/var/lib/libvirt/images/centos7 - vm.img)、网络接口的MAC地址(00:11:22:33:44:55)等重要信息。

(二)查看虚拟机的网络配置

1、查看网络接口信息

- 在KVM虚拟机中,可以使用ip addr命令查看虚拟机内部的网络接口信息,但是要先通过virsh console命令进入到虚拟机的控制台(如果虚拟机支持),进入名为centos7 - vm的虚拟机控制台后,输入ip addr命令:

```

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft=forever valid_gtl=forever

inet6 ::1/128 scope host

valid_lft=forever valid_gtl=forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether 00:11:22:33:44:55 brd ff:ff:ff:ff:ff:ff

inet 192.168.122.100/24 scope global dynamic eth0

valid_lft=3599sec valid_gtl=3599sec

inet6 fec0::211:22ff:fe33:4455/64 scope link

valid_lft=forever valid_gtl=forever

```

- 这里可以看到虚拟机的回环接口(lo)和以太网接口(eth0)的信息,包括MAC地址、IP地址、子网掩码等。

2、查看网络连接状态

- 在宿主机上,可以使用brctl show命令查看KVM虚拟机的网络桥接情况。

```

bridge name bridge id STP enabled interfaces

virbr0 8000.525400651010 yes vnet0

```

- 这里的virbr0是KVM默认的网络桥接设备,vnet0是与虚拟机网络接口相连的虚拟网络接口,通过查看这个信息,可以了解虚拟机的网络连接是如何在宿主机上进行桥接和转发的。

查看虚拟机性能相关信息

(一)查看CPU使用情况

1、在虚拟机内部查看

- 在虚拟机内部,可以使用top命令查看CPU的使用情况,在一个运行着CentOS的KVM虚拟机中,输入top命令后,会显示类似如下的信息:

```

top - 14:30:00 up 1:00, 1 user, load average: 0.01, 0.02, 0.05

Tasks: 100 total, 1 running, 99 sleeping, 0 stopped, 0 zombie

%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 1048576 total, 204800 used, 843776 free, 10240 buffers

KiB Swap: 1048576 total, 0 used, 1048576 free, 102400 cached

```

- 这里的%Cpu(s)部分显示了CPU在用户态(us)、系统态(sy)、空闲态(id)等状态下的百分比。

2、在宿主机上查看虚拟机的CPU使用情况

- 在宿主机上,可以使用virsh cpu - stats命令查看特定虚拟机的CPU使用统计信息,查看名为centos7 - vm的虚拟机的CPU使用统计信息:

```

virsh cpu - stats centos7 - vm

```

- 输出可能包含以下信息:

```

CPU time:

user: 100000000

system: 50000000

idle: 9999999999

```

- 这里分别显示了虚拟机在用户态、系统态和空闲态下的CPU时间(单位可能因系统而异)。

(二)查看内存使用情况

1、在虚拟机内部查看

- 在虚拟机内部,可以使用free -m命令查看内存的使用情况。

```

total used free shared buff/cache available

Mem: 1024 200 624 0 200 624

Swap: 1024 0 1024

```

- 这里显示了虚拟机的总内存、已使用内存、空闲内存、共享内存、缓冲/缓存内存和可用内存的大小(单位为MB)。

2、在宿主机上查看虚拟机的内存使用情况

- 在宿主机上,可以使用virsh dommemstat命令查看指定虚拟机的内存使用统计信息,查看名为ubuntu - vm的虚拟机的内存使用统计信息:

```

virsh dommemstat ubuntu - vm

vmware kvm,kvm查看虚拟机命令

```

- 输出可能包含以下信息:

```

actual 1048576

swap_in 0

swap_out 0

major_fault 0

minor_fault 1000

unused 8388608

available 8388608

rss 2097152

```

- 这里的actual表示虚拟机分配的实际内存大小,rss表示虚拟机实际使用的物理内存大小(Resident Set Size)等重要信息。

查看虚拟机存储相关信息

(一)查看磁盘I/O情况

1、在虚拟机内部查看

- 在虚拟机内部,可以使用iostat命令查看磁盘I/O情况,在一个CentOS虚拟机中,输入iostat -x 1命令(每1秒输出一次磁盘I/O统计信息):

```

avg - cpu: %user %nice %system %iowait %steal %idle

0.10 0.00 0.01 0.00 0.00 99.89

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq - sz avgqu - sz await r_await w_await svctm %util

vda 0.00 0.00 0.01 0.00 0.04 0.00 8.00 0.00 0.00 0.00 0.00 0.00 0.00

```

- 这里可以看到磁盘设备(vda)的读请求合并数(rrqm/s)、写请求合并数(wrqm/s)、每秒读操作次数(r/s)、每秒写操作次数(w/s)等磁盘I/O相关信息。

2、在宿主机上查看虚拟机磁盘I/O情况

- 在宿主机上,可以使用virt - io - stats命令查看虚拟机的磁盘I/O统计信息,查看名为test - vm的虚拟机的磁盘I/O统计信息:

```

virsh qemu - agent - command test - vm '{"execute":"guest - disk - io - stats"}'

```

- 输出可能是一个包含磁盘设备、读字节数、写字节数等磁盘I/O详细信息的JSON格式数据。

(二)查看存储容量和使用情况

1、在虚拟机内部查看

- 在虚拟机内部,可以使用df -h命令查看文件系统的存储容量和使用情况。

```

Filesystem Size Used Avail Use% Mounted on

/dev/vda1 10G 1.5G 8.5G 15% /

```

- 这里显示了根文件系统(/dev/vda1)的总大小(10G)、已使用大小(1.5G)、可用大小(8.5G)和使用百分比(15%)等信息。

2、在宿主机上查看虚拟机存储情况

- 在宿主机上,可以结合virsh dumpxml命令查看虚拟机磁盘镜像的大小和路径,再通过宿主机的文件系统命令(如ls -lh)查看磁盘镜像文件在宿主机上的实际大小。

- 首先通过virsh dumpxml centos7 - vm找到磁盘镜像路径为/var/lib/libvirt/images/centos7 - vm.img

- 然后在宿主机上输入ls -lh /var/lib/libvirt/images/centos7 - vm.img

```

-rw - r - - r - - 1 root root 3G Jul 10 10:00 /var/lib/libvirt/images/centos7 - vm.img

```

- 这里显示了磁盘镜像文件在宿主机上的实际大小为3G。

查看虚拟机日志信息

1、查看宿主机上的虚拟机日志

- 在宿主机上,KVM虚拟机的日志通常位于/var/log/libvirt/qemu/目录下,要查看名为ubuntu - vm的虚拟机的日志,可以查看/var/log/libvirt/qemu/ubuntu - vm.log文件,这个日志文件包含了虚拟机启动、运行过程中的各种信息,如设备初始化、内核启动消息等。

```

[ 0.000000] Initializing cgroup subsys cpuset

[ 0.000000] Initializing cgroup subsys cpu

[ 0.000000] Initializing cgroup subsys cpuacct

[ 0.000000] Linux version 4.18.0 - 305.12.1.el8_4.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.5.0 20210514 (Red Hat 8.5.0 - 4) (GCC)) #1 SMP Wed Dec 15 12:10:00 UTC 2021

```

- 这些日志信息对于排查虚拟机启动失败、内核相关问题等非常有用。

2、查看虚拟机内部的日志(以Linux为例)

- 在虚拟机内部,可以查看系统日志(如/var/log/messages/var/log/syslog等)和特定服务的日志(如/var/log/apache2/access.log等),这取决于虚拟机内部运行的操作系统和服务,查看/var/log/messages可能会显示虚拟机内部的内核消息、服务启动和停止信息等:

```

Jul 10 10:00:00 ubuntu - vm systemd[1]: Starting Network Manager...

Jul 10 10:00:01 ubuntu - vm NetworkManager[1234]: <info> Starting NetworkManager...

Jul 10 10:00:05 ubuntu - vm systemd[1]: Started Network Manager.

```

黑狐家游戏

发表评论

最新文章