zoukankan      html  css  js  c++  java
  • VM-ESXI 相关常用命令(Updateing)

    # ESXI

    【系统相关】

    获取esxi版本

    vmware -v

    esxcli system version get

    查看系统时间

    esxcli system time get

    e.g.

    esxcli system time set <options>

    修改系统时间,例子:

    Cmd options:

    -d|--day=<long> Day

    -H|--hour=<long> Hour

    -m|--min=<long> Minute

    -M|--month=<long> Month

    -s|--sec=<long> Second

    -y|--year=<long> Year

    [root@localhost:~] esxcli system time set -y=2020 -M=6 -d=29 -H=14 -m=16

    esxcli system – 通过该命令使你能够控制ESXi的高级选项,比如设置syslog并管理主机状态。

    # 查看是否为维护模式

    esxcli system maintenanceMode get 

    esxcli system maintenanceMode set --enable true/false  #  ESXi主机进入/退出,维护模式

    # 系统重启/关机(必须处于维护模式,否则命令不生效)

    esxcli system shutdown reboot/poweroff

    # 查看所有虚拟机姓名和Vmid

    vim-cmd vmsvc/getallvms

    【网络相关】

    # 查看网卡状态

    esxcfg-vmknic -l

    # 查看服务器自身IP地址

    esxcli network ip interface ipv4 get

    # 获取所有虚拟机名字和IP地址
    for item in `vim-cmd vmsvc/getallvms |grep -v Vmid| awk '{print $1}'`;do vim-cmd vmsvc/get.summary $item | grep -E "ipAddress|hostName";done

    # 查宿主机下每个对应的mac

    net-stats -l

    # 查看路由表

    esxcli network ip route ipv4 list

    # 查看ESXi主机网卡列表(nic)或up-link列表

    esxcli network nic list

    # 关闭/打开vmnic1接口

    esxcli network nic down/up -n=vmnic1

    esxcli network –需要监控vSphere网络并对如下网络组件进行调整时,包括虚拟交换机、VMkernel网络接口、防火墙以及物理网卡等

    【防火墙相关】--2020.7.30更新

    esxcli network firewall

     # 已经开启的服务

    esxcli network firewall ruleset list  | grep "true"

    #  防火墙允许的IP地址

    esxcli network firewall ruleset allowedip list

    # 批量授权某个IP访问开启的所有服务

    for item in `esxcli network firewall ruleset list |grep "true"|awk '{print $1}'`;do esxcli network firewall ruleset allowedip add --ip-address "192.168.x.x" --ruleset-id "$item";done;esxcli network firewall ruleset allowedip list

    【硬件相关】

    #  获取ESXi主机的硬件及配置信息

    esxcli hardware 

    esxcli hardware cpu list – 获取CPU信息(系列、型号以及缓存)

    esxcli hardware memory get – 获取内存信息(可用内存以及非一致内存访问)

    # 查看磁盘列表

    esxcli storage – 可能是最常用的esxcli命令命名空间之一,包括了管理连接到vSphere的存储的所有信息。

    esxcli storage core device list – 列出当前存储设备

    esxcli storage core device vaai status get –获得存储设备支持的VAAI的当前状态。

    【服务相关】

    # 重启所有的服务

    services.sh restart 

    【软件相关】

    esxcli software – 软件命名空间可以用于检索ESXi主机已安装的软件及驱动并可以安装新组件。

    esxcli software vib list – 列出ESXi主机上已经安装的软件及驱动。

    【脚本相关】
    计划任务路径:
    cat /var/spool/cron/crontabs/root
    # 获取虚拟机列表
    vim-cmd vmsvc/getallvms
    获取vm状态
    vim-cmd vmsvc/power.getstat [vmid]
    关闭虚机
    vim-cmd vmsvc/power.shutdown [vmid]
    vim-cmd vmsvc/power.off [vmid] # 强制关闭
    长期脚本存放路径
    vi /etc/rc.local.d/local.sh # 内容写在exit 0 之前

    # Esxi 开机脚本

    #/bin/bash
    # author:jerry
    # create date:2017-8-29
    # last update:2018-7-30
    status=`vim-cmd /hostsvc/hostsummary | grep inMaintenanceMode|cut -c 27`
    [ $status == "t" ] && vim-cmd hostsvc/maintenance_mode_exit 1&> /dev/null  
    for on in `vim-cmd vmsvc/getallvms |awk '{print $1}'|tail -n 12`
    do
    if  [ $on -eq 11 ]
    then
       continue
    else
       vim-cmd vmsvc/power.on  $on
       sleep 30
    fi
    done

    # Esxi 关机脚本

    #!/bin/sh
    # author:jerry
    # create date:2017-7-27
    # last update:2018-7-30
    off=`esxcli vm process list|grep World |awk '{print $3}'|wc -l`
    status=`vim-cmd /hostsvc/hostsummary | grep inMaintenanceMode|cut -c 27`
    if [ $off == 0 ] ;then
      [ $status == "f" ] && vim-cmd hostsvc/maintenance_mode_enter 1&> /dev/null  && sleep 10 && halt || halt
    else
    hostsum=`vim-cmd vmsvc/getallvms|awk 'NR>1{print $1}'|wc -l`
    vim-cmd vmsvc/getallvms|awk 'NR>1{print $1}'>tmp.txt
     
     for i in `seq 1 $hostsum`
    do 
    vid=`sed -n "$i p" ./tmp.txt`
        on=`vim-cmd vmsvc/power.getstate $vid |tail -1|awk '{print $2}' 2&>/dev/null`
     if [ $on == on ] ;then
         vim-cmd vmsvc/power.shutdown $vid 1&>/dev/null
             sleep 5
     fi
       done
    rm -rf ./tmp.txt
       
     off=`esxcli vm process list|grep World|awk '{print $3}'|wc -l`
     if [ $off == 0 ] ;then
          vim-cmd hostsvc/maintenance_mode_enter 1&> /dev/null
     sleep 10
       halt
        else
        ps |grep vmx|awk '{print $2}' |uniq  >tmp.txt   
        on=`ps |grep vmx|awk '{print $2}' |uniq |wc -l`
        for i in `seq 1 $on`         
         do                                
         hostid=`sed -n " $i p " ./tmp.txt`  
             kill $hostid 1&> /dev/null 
         done            
     rm -rf ./tmp.txt
     vim-cmd hostsvc/maintenance_mode_enter 1&> /dev/null
         sleep 10
     halt
      fi
    fi

    参考链接:

    https://www.cnblogs.com/dragon7421/p/12594209.html

  • 相关阅读:
    Excel文件上传
    SAP 中如何寻找增强
    MySQL性能优化的最佳经验,随时补充
    PHP编程效率的20个要点
    php性能优化
    AngularJS API之$injector ---- 依赖注入
    AngularJS API之extend扩展对象
    AngularJS API之equal比较对象
    AngularJS API之isXXX()
    AngularJS API之toJson 对象转为JSON
  • 原文地址:https://www.cnblogs.com/Cong0ks/p/11131516.html
Copyright © 2011-2022 走看看