067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)

Posted luwei0915

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)相关的知识,希望对你有一定的参考价值。

#!/bin/bash

#该脚本使用 guestmount 工具,可以将虚拟机的磁盘系统挂载到真实机文件系统中
#Centos7.2 中安装 libguestfs-tools-c 可以获得 guestmount 工具
#虚拟机可以启动或者不启动都不影响该脚本的使用
#将虚拟机磁盘文件挂载到文件系统后,就可以直接读取磁盘文件中的网卡配置文件中的数据

#建立挂载点
clear
mountpoint="/media/virtimage"
[ ! -d $mountpoint ]&& mkdir $mountpoint

read -p "输入虚拟机名称:" name
echo "请稍后..."
#如果有设备挂载到该挂载点,则先 umount 卸载
if mount | grep -q "$mountpoint" ;then
    umount $mountpoint
fi

#只读的方式,将虚拟机的磁盘文件挂载到特定的目录下,这里是/media/virtimage 目录
guestmount -r -d $name -i $mountpoint
echo
echo "--------------------------------------------"
echo -e "33[32m$name 虚拟机中网卡列表如下:33[0m"
dev=$(ls /media/virtimage/etc/sysconfig/network-scripts/ifcfg-* |awk -F"[/-]" ‘{print $9}‘)

# ls查看绝对路径
# awk -F"[/-]" 以/或者-为分隔符 分割/media/virtimage/etc/sysconfig/network-scripts/ifcfg-*
# {print $8} == ifcfg {print $9} == eth0..

echo $dev #输出网卡名
echo "--------------------------------------------"
echo 
echo
echo "+++++++++++++++++++++++++++++++++++++++++++"
echo -e "33[32m 网卡 IP 地址信息如下:33[0m"
for i in $dev
do
      echo -n "$i:"
      grep -q "IPADDR" /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i || echo "未配置 IP 地址"

# grep -q "IPADDR" 查找eth0..内包含IPADDR的行 静默输出
# IPADDR=192.168.4.5

      awk -F"=" ‘/IPADDR/{print $2}‘ /media/virtimage/etc/sysconfig/network-scripts/ifcfg-$i

# awk -F"=" ‘/IPADDR/  以"="分割,包含/IPADDR/的行,输出$2

done
echo "+++++++++++++++++++++++++++++++++++++++++++"

以上是关于067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)的主要内容,如果未能解决你的问题,请参考以下文章

KVM-桥接网卡配置

kvm系列之四:热添加技术

完美解决安装在虚拟机中的CentOS7无法联网的问题

完美解决安装在虚拟机中的CentOS7无法联网的问题

kvm虚拟机在线添加网卡

如何使用SecureCRT连接虚拟机中的Linux