头图

大部分时候,IT运维工作都可以远程进行,只要能通过网络访问被管理的系统,就可以执行几乎所有任务。如果因为某些原因导致无法通过网络访问呢?此时可能需要亲自到达相关硬件设备旁,通过“本地访问”来排错。

如果这些硬件都在自己公司楼上的机房里,问题还不算太大。但如果用了云服务,硬件可能位于上千公里外,自己绝无可能亲自进入到云服务商的机房里,此时该怎么办?

对于Linode云平台来说,我们已经提供了非常好用的方法,让用户可以隔着网络对Linode云虚拟机进行“本地访问”。

故事是这样的:

某天,我们的一个用户决定将自己运行在Linode上的Windows虚拟机从巴黎区域迁移到阿姆斯特丹区域。通过Cloud Manager启动迁移(通常可在15分钟内完成)后,这个实例没有响应任何网络请求。事后分析发现,问题完全是误操作造成的,因为该虚拟机配置了静态IP,在迁移到阿姆斯特丹区域后,它获得了一个新IP,而这个IP并没有配置在接口上。

Linode Shell(Lish控制台)提供了对所有计算实例的直接控制台访问。通过Lish,我们可以轻松访问计算实例的内部Linux系统并运行命令、安装软件或配置应用程序。当无法通过SSH等其他方式连接服务器或整个网络栈瘫痪时,Lish就显得尤其有用。

除了Lish,其实我们还有一个名为Glish(Graphical Linode Shell,图形化Linode Shell)的工具,它能显示包括Windows在内的桌面环境。

当我们在Linode上运行不支持的Windows操作系统版本,并想向操作系统发送“CTRL + ALT + DEL”命令时,问题就来了。Glish并不具备这种内置功能。

image.png

这里所谓的“不支持的Windows操作系统版本”是指可以在Linode上运行,但在进行调试时无法得到Linode官方支持的Windows版本。

如果虚拟机正常启动(也就是通过了“BIOS”阶段并尝试启动),Linode的工作就完成了;如果实例无法正常运行,技术支持人员将无法提供任何调试帮助。那么接下来就一起看看有哪些选项可以修复接口的IP地址。

  1. 提取一个有效的GLISH会话ID,然后使用noVNC通过WebSocket进行连接(比较复杂);
  2. 使用Windows SAC控制台配置网络适配器的IP(相对简单)。

该用户决定选择方案2。进入Linode Cloud Manager,点击虚拟机并启动Lish控制台。随后应该可以看到类似下图所示的界面:

image.png

我们在这里看到的是Windows内置的特殊管理控制台(SAC,Special Admin Console)功能。

键入“cmd”并按下回车键,我们会得到一个输出结果,其中显示创建了一个新的“通道”。

image.png

创建通道后,我们需要切换到该通道。为此可以按ESC键,然后按TAB键。这将切换到新通道,并提示我们对服务器进行身份验证。如果曾在Linux中使用过screen,那么这个概念一定不会陌生。

image.png

登录后,就能看到熟悉的命令提示符界面了。

image.png

在这里,我们可以启动PowerShell来执行更复杂的操作,但现在我们只需使用经典的netsh命令来配置新的网络设置,以确保替换后的IP地址和子网能与虚拟机相匹配。

在Cloud Manager中点击虚拟机,然后点击Network选项卡,即可看到这些设置:
image.png

随后使用如下命令:

netsh interface ip set address "Ethernet" static YourNewIP Mask Gateway

例如:

netsh interface ip set address "Ethernet" static 172.233.47.111 255.255.255.0 172.233.47.1

image.png

如果虚拟机连接了多个网络接口,请将“Ethernet”替换为适配器名称。

借助Lish和Glish,我们就可以通过网络,对Linode云平台中的Windows虚拟机进行本地访问,从而在一些特殊情况下执行必要的运维任务。


Akamai
1 声望1 粉丝

Akamai 支持并保护网络生活。全球各大优秀公司纷纷选择 Akamai 来打造并提供安全的数字化体验,为数十亿人每天的生活、工作和娱乐提供助力。 我们横跨云端和边缘的计算平台在全球广泛分布,不仅能让客户轻松开发...