首页>>站长资讯>>主机推荐

元数据如何判断机器是否在虚拟机中判断虚拟技术

2024-03-24 00:32:34 179

有时候我们需要判断我们当前使用的机器是处于什么环境,是云主机还是虚拟机又或者是,是否在k8s中

如何判断机器是否在云主机中?

有时我们也可以通过云服务进程判断是否为云主机,比如阿里云的云盾、腾讯云的云镜等

1、使用 命令获取主机硬件信息,下面的命令用于获取产品名称

dmidecode -s system-product-name

# Alibaba Cloud ECS    阿里云云主机
# CVM    腾讯云主机
# OpenStack Nova    华为云云主机

2、查看欢迎语,如果没有显示可以去读motd文件

cat /etc/motd

虚拟主机云互联_虚拟主机云服务器区别_云虚拟主机

3、查看根分区磁盘类型,/dev/vda一般是云主机

df -h

云虚拟主机_虚拟主机云互联_虚拟主机云服务器区别

4、查看元数据

#阿里云
curl http://100.100.100.200/latest/meta-data/
#腾讯云
curl http://metadata.tencentyun.com/meta-data/
#华为云
curl http://169.254.169.254/openstack/latest/meta_data.json

如何判断机器是否在虚拟机中

判断虚拟机与云主机可以看当前机器所使用的虚拟化技术,如虚拟机使用虚拟技术

1、依然使用 命令

dmidecode -s system-product-name

# VMware Virtual Platform VMware虚拟机
# VirtualBox VirtualBox虚拟机

如何判断机器是否在中

如果当前机器不是一台云主机或者虚拟机的话,那么它有可能是一台容器

1、查看根目录下是否有.文件

ls -al /

云虚拟主机_虚拟主机云互联_虚拟主机云服务器区别

2、查看/proc/1/中是否有字符串

cat /proc/1/cgroup |grep 'docker'

注:在较新版本的 中,容器内部的 /proc/1/ 文件可能并不包含 字符串。这是因为 在一些情况下不再使用 v1,而是使用 v2。想要检查使用的是 v1 还是 v2 可以查看文件。

cat /proc/mounts |grep cgroup

3、检查mount信息,如在下,输出为 on / type (rw,)

mount |grep '/ type'

虚拟主机云服务器区别_云虚拟主机_虚拟主机云互联

4、查看硬盘信息,容器输出为空,非容器有输出

fdisk -l

5、使用df命令查看文件系统挂载点

df -h | egrep '(overlay|aufs)'

如何判断当前容器是否在k8s中

如果我们已经确认在中了,那么可能要进一步确认是否在k8s中

处于k8s的pod如果使用容器的话,它与普通容器的显著区别在于环境变量

检查环境变量,是否包含 相关字符串

env | grep KUBERNETES

云虚拟主机_虚拟主机云互联_虚拟主机云服务器区别