配置VMware实现从服务器到虚拟机的一键启动脚本

正文共:1666 字 15 图,预估阅读时间:2 分钟
首先祝大家新年快乐!略备薄礼,18000个红包封面来讨个开年好彩头!
虽然之前将服务器放到了公网(成本增加了100块,内网服务器上公网解决方案2.0重磅来袭!),但是我们也介绍过L2TP是基于UDP协议的,难免存在丢包的情况(L2TP访问失败?快看看是不是NAT网关的ALG搞的鬼)。所以报文交互应该是越少越好,最好从主机开机到虚拟机开机一气呵成。
今天,我就结合近期调整配置的一系列操作,给大家分享一下如何实现虚拟机一键开机。

1、服务器开机
操作最简单的方式,就是直接登录iLO执行开机操作。

但是我最近经历了,应该是更换光猫的问题,网速从之前的300 Mbps掉到了现在的100 Mbps出点头,网络质量比之前也差了很多。结果就是,通过L2TP建立的隧道,丢包率一度能超过8%,导致这个页面加载非常慢,甚至会出现无法加载的情况,通过F12查看就是资源下载不全。
为了优化这个问题,我去搜了一下,发现HPE服务器的iLO 4支持RESTful API,官方链接如下:
https://techhub.hpe.com/eginfolib/servers/docs/HPRestfultool/iLo4/data_model_reference.html 在页面中找到和电源相关的操作为Reset,属于ComputerSystem,说明可行。

直接问一下通义千问,给出的Python脚本如下:
import requests
import json
ilo_host = 'ilo-ip-address'
ilo_username = 'ilo-username'
ilo_password = 'ilo-password'
headers = {'Content-Type': 'application/json',
}
payload = json.dumps({'ResetType': 'On'})
response = requests.post(f"https://{ilo_host}/redfish/v1/Systems/1/Actions/ComputerSystem.Reset",headers=headers,auth=(ilo_username, ilo_password),data=payload,verify=False
)
if response.status_code == 200 or response.status_code == 202:print("Server power on command sent successfully.")else:print(f"Failed to power on server. Response code: {response.status_code}") 直接运行,开机成功!

2、虚拟机开机
比较传统的开机方式是登录ESXi管理页面,选中虚拟机然后点击“打开电源”,等待开机就可以了。

但是,当网络质量比较差的时候,也会出现页面加载失败的情况,如何解决呢?
第一种方式是通过ESXi的命令行操作,可以在“管理”中的“服务”配置页面,手动启动TSM和TSM-SSH服务,然后使用管理员账号登录命令行就可以了。

但是如果仅仅是这么操作,那服务在主机重启之后就会自动关闭,如果想让服务一直启用,那么我们在服务上右击,将“策略”设置为“随主机启动和停止”即可,这样就无需再手工开启了。

当然,如果我们登录不了WEB页面,也可以在后台页面启用命令行。在控制台页面按F2,输入账号密码进入配置调整页面。

选中“Troubleshooting Options”,按回车进入。

选中“ESXi Shell”和“SSH”,通过按回车将状态切换为Enable状态。

然后我们就可以通过SSH登录到ESXi命令行了。

然后使用命令vim-cmd vmsvc/getallvms列出所有虚拟机,用来获取虚拟机ID (Vmid);再根据虚拟机ID来执行开机操作。
vim-cmd vmsvc/power.on 3 
这样,就完成虚拟机的开机了。
相比于页面方式,命令行交互的报文数量极少,传输流量极小,一般都可以操作成功。
当然,我们还可以设置虚拟机自动启动,这样,只要启动服务器就可以了。
进入“管理→系统→自动启动”配置页面。

可以看到,当前自动启动未启用,点击“编辑设置”。最主要的是将“已启用”配置为“是”;启动延迟指ESXi主机启动后,延后多长时间才开始启动该虚拟机;停止延迟指收到关闭虚拟机请求后,虚拟机实际停止前等待的时长;启动延迟和停止延迟可以按需进行调整,如果感觉2分钟时间长,可以调整为1分钟;停止操作指虚拟机执行何种停止操作(关闭电源、挂起、关机);等待检测信号指ESXi可以根据虚拟机工具的心跳信号来判断当前虚拟机是否启动成功,启动成功后再继续启动序列中的下一个虚拟机,而不是仅仅依据启动延迟计时结束就开始启动下一个虚拟机。

当启用自动启动之后,就可以选中打算启动的虚拟机,然后点击“启用”,来启用单台虚拟机的自动启动了。

如果有多台虚拟机需要自动启动,还可以配置虚拟机的启动顺序、启用延迟、停止延迟等信息。

最后,然我们关机,试一下虚拟机是否可以随服务器启动成功。

启动成功,没有问题。
至此,我们也就实现了从服务器到虚拟机通过脚本的一键启动了!

长按二维码
关注我们吧


使用Python脚本实现SSH登录设备
ESXi的超线程状态为“已禁用”,是谁动了我的服务器?
通过Nginx做一个openVPN配置文件下载页面
L2TP访问失败?快看看是不是NAT网关的ALG搞的鬼
L2TP over IPsec复杂吗?有点!所以建议你看看这篇文章
IPv6从入门到精通
IPv6静态路由配置
IS-ISv6配置
SRv6典型配置
付出总有回报,全国SRv6组网实验成功了!
【请勿模仿】一个小实验命令竟然超过1600行
如何操作VMware ESXi虚拟机的克隆?
如何操作VMware ESXi虚拟机的迁移?
VMWare ESXi中,不同的虚拟网卡性能竟然能相差三倍!
添加E1000网卡进行测试,只有VMXNET3性能的四分之一
VMWare ESXi 7.0的磁盘空间莫名少了120 GB?看这里!
相关文章:
配置VMware实现从服务器到虚拟机的一键启动脚本
正文共:1666 字 15 图,预估阅读时间:2 分钟 首先祝大家新年快乐!略备薄礼,18000个红包封面来讨个开年好彩头! 虽然之前将服务器放到了公网(成本增加了100块,内网服务器上公网解决方案…...
第5讲小程序微信用户登录实现
小程序微信用户登录实现 小程序登录和jwt,httpclient工具类详细介绍可以看下小锋老师的 小程序电商系统课程:https://www.bilibili.com/video/BV1kP4y1F7tU application.yml加上小程序登录需要的参数,小伙伴们可以登录小程序后台管理&#…...
Kong 负载均衡
负载均衡是一种将API请求流量分发到多个上游服务的方法。负载均衡可以提高整个系统的响应速度,通过防止单个资源过载而减少故障。 在以下示例中,您将使用部署在两台不同服务器或上游目标上的应用程序。Kong网关需要在这两台服务器之间进行负载均衡&…...
基于Chrome插件的Chatgpt对话无损导出markdown格式(Typora完美显示)
Google插件名称为:ChatGPT to MarkDown plus, 下载地址为ChatGPT to MarkDown plus使用方法:见GitHub主页或插件介绍页面https://github.com/thisisbaiy/ChatGPT-To-Markdown-google-plugin/tree/main 我将源代码上传至了GitHub,欢迎star, Is…...
react函数组件中使用context
效果 1.在父组件中创建一个createcontext并将他导出 import React, { createContext } from react import Bpp from ./Bpp import Cpp from ./Cpp export let MyContext createContext(我是组件B) export let Ccontext createContext(我是组件C)export default function App…...
【MATLAB源码-第137期】基于matlab的NOMA系统和OFDMA系统对比仿真。
操作环境: MATLAB 2022a 1、算法描述 NOMA(非正交多址)和OFDMA(正交频分多址)是两种流行的无线通信技术,广泛应用于现代移动通信系统中,如4G、5G和未来的6G网络。它们的设计目标是提高频谱效…...
【FPGA Verilog】各种加法器Verilog
1bit半加器adder设计实例 module adder(cout,sum,a,b); output cout; output sum; input a,b; wire cout,sum; assign {cout,sum}ab; endmodule 解释说明 (1)assign {cout,sum}ab 是连续性赋值 对于线网wire进行赋值,必须以assign或者dea…...
【MySQL】-21 MySQL综合-7(MySQL主键+MySQL外检约束+MySQL唯一约束+MySQL检查约束)
MySQL主键MySQL外检约束MySQL唯一约束MySQL检查约束 MySQL主键选取设置主键约束的字段在创建表时设置主键约束在创建表时设置复合主键在修改表时添加主键约束 MySQL外键约束选取设置 MySQL 外键约束的字段在创建表时设置外键约束在修改表时添加外键约束删除外键约束 MySQL唯一约…...
【大厂AI课学习笔记】【1.6 人工智能基础知识】(3)神经网络
深度学习是机器学习中一种基于对数据进行表征学习的算法。观测值(例如一幅草莓照片)可以使用 多种方式来表示,如每个像素强度值的向量,或者更抽象地表示成一系列边、特定形状的区域等。 深度学习的最主要特征是使用神经网络作为计算模型。神经网络模型 …...
指针的基本含义及其用法
1.前言 在学习C语言的时候,我们会经常接触一个概念,指针和地址,关于这两个概念很多人并不能理解地十分透彻,接下来我将详细介绍一下这两者的概念 2.地址 我们知道计算机的上CPU(中央处理器)在处理数据的时…...
黄金交易策略(Nerve Nnife.mql4):趋势做单
完整EA:Nerve Knife.ex4黄金交易策略_黄金趋势ea-CSDN博客 当大小趋势相同行情走向也相同,就会开仓做顺势单,并会顺势追单,以达到快速止盈平仓的效果。大趋势追求稳定,小趋势追求敏捷,行情走向比小趋势更敏…...
HiveSQL——条件判断语句嵌套windows子句的应用
注:参考文章: SQL条件判断语句嵌套window子句的应用【易错点】--HiveSql面试题25_sql剁成嵌套判断-CSDN博客文章浏览阅读920次,点赞4次,收藏4次。0 需求分析需求:表如下user_idgood_namegoods_typerk1hadoop1011hive1…...
ClickHouse--01--简介
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 1. ClickHouse 简介官网: [https://clickhouse.com/docs/zh](https://clickhouse.com/docs/zh) 1.1 大数据处理场景1.2 什么是 ClickHouse1.3 OLAP 场景…...
【Django-ninja】在django ninja中处理异常
1. 直接抛内置异常 Django ninja内置了一些常用异常类。 from ninja.errors import HttpErrorapi.get("/some/resource") def some_operation(request):if True:raise HttpError(503, "Service Unavailable. Please retry later.")2. 覆写异常类 可以覆…...
【并发编程】原子累加器
📝个人主页:五敷有你 🔥系列专栏:并发编程 ⛺️稳重求进,晒太阳 JDK8之后有专门做累加的类,效率比自己做快数倍以上 累加器性能比较 参数是方法 // supplier 提供者 无中生有 ()->结果// func…...
Java 基于微信小程序的电子商城购物系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...
Git Push -f 命令详解
直接看原文: Git Push -f 命令详解 - 玩转Linux - SegmentFault 思否 -------------------------------------------------------------------------------------------------------------------------------- git push -f 这个命令的作用是将自己本地仓库的代码直接推送至仓…...
【LeetCode每日一题】前缀和的例题1248. 统计「优美子数组」974. 和可被 K 整除的子数组
leetcode 724. 寻找数组的中心索引 题目描述 给定一个整数类型的数组 nums,请编写一个能够返回数组 “中心索引” 的方法。 我们是这样定义数组 中心索引 的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。 如果数组不存在中心索引&…...
备战蓝桥杯---数学基础3
本专题主要围绕同余来讲: 下面介绍一下基本概念与定理: 下面给出解这方程的一个例子: 下面是用代码实现扩展欧几里得算法: #include<bits/stdc.h> using namespace std; int gcd(int a,int b,int &x,int &y){if(b…...
[算法学习] 逆元与欧拉降幂
费马小定理 两个条件: p为质数a与p互质 逆元 如果要求 x^-1 mod p ,用快速幂求 qmi(x,p-2) 就好 欧拉函数 思路:找到因数 i,phi / i * (i-1),除干净,判断最后的n 欧拉降幂 欧拉定理 应用示例 m! 是一个…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
在 Kubernetes 集群中,如何在保障应用高可用的同时有效地管理资源,一直是运维人员和开发者关注的重点。随着微服务架构的普及,集群内各个服务的负载波动日趋明显,传统的手动扩缩容方式已无法满足实时性和弹性需求。 Cluster Auto…...
DAY 26 函数专题1
函数定义与参数知识点回顾:1. 函数的定义2. 变量作用域:局部变量和全局变量3. 函数的参数类型:位置参数、默认参数、不定参数4. 传递参数的手段:关键词参数5 题目1:计算圆的面积 任务: 编写一…...
【iOS】 Block再学习
iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...
