一个计算机技术爱好者与学习者

0%

通过远程控制接口给服务器安装系统

1. 前言

《制作Ubuntu安装盘方法小结》一文中,总结了U盘和光盘两种安装源的制作方法,也提到了硬盘安装和网络安装。我们已经知道,通过网络安装源可以进行批量安装。而如果使用远程控制接口进行安装,则可以实现远程安装,不用进入机房。本文中,就研究一下远程控制接口的配置方法,并且通过该接口进行系统安装。

2. 远程控制接口配置

不同的服务器,有着不同的远程控制接口,具体可以参考书签中的内容。本文中使用的服务器是曙光I620-G20,管理接口名为mgmt。主要参考配置管理口管理曙光服务器

1、开机点击delete进入BIOS设置,切换到ServerManage。

2、BMC Support设置为Enabled。选中BMC network configuration,进行网络配置。

3、选中Configuration Address source,选择Static。

4、根据网络情况设置静态IP,设置完成后Save Configuration,然后点击F4保存退出。

3. 远程管理

3.1. 基本管理

1、浏览器访问服务器的管理IP,即可看到曙光的登录页面。

2、填入用户名密码(默认都是admin),进入管理页面。

此外,这组用户名密码,也可以ssh登录到服务器。

3、在管理页面有很多选项卡,这里我们点击“远程控制”。

4、点击控制台重定向,Java终端,网页会下载jviewer.jnlp文件。

5、双击jviewer.jnlp,会提示Java更新(这里更新或者不更新都可以),启动报错。

点开详细看到报错:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
JNLPException[category: 安全错误 : Exception: null : LaunchDesc: 
<jnlp spec="1.0+" codebase="http://172.16.101.162:80/Java">
......
</jnlp> ]
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
at com.sun.javaws.Launcher.prepareResources(Unknown Source)
at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
at com.sun.javaws.Launcher.launch(Unknown Source)
at com.sun.javaws.Main.launchApp(Unknown Source)
at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
at com.sun.javaws.Main.access$000(Unknown Source)
at com.sun.javaws.Main$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

6、打开jviewer.jnlp文件,内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?xml version="1.0" encoding="UTF-8"?>

<jnlp spec="1.0+" codebase="http://172.16.101.162:80/Java">
<information>
<title>JViewer</title>
<vendor>American Megatrends, Inc.</vendor>
<description kind="one-line">JViewer Console Redirection Application</description>
<description kind="tooltip">JViewer Console Redirection Application</description>
<description kind="short">
JViewer enables a user to view the video display of managed server via KVM.
It also enables the user to redirect his local keyboard, mouse for managing the server remotely.
</description>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.5+"/>
<jar href="release/JViewer.jar"/>
</resources>
<resources>
<j2se version="1.5+"/>
<jar href="release/JViewer-SOC.jar"/>
</resources>
<resources os="Windows" arch="x86">
<j2se version="1.5+"/>
<nativelib href="release/Win32.jar"/>
</resources>
<resources os="Windows" arch="amd64">
<j2se version="1.5+"/>
<nativelib href="release/Win64.jar"/>
</resources>
<resources os="Linux" arch="x86">
<j2se version="1.5+"/>
<nativelib href="release/Linux_x86_32.jar"/>
</resources>
<resources os="Linux" arch="i386">
<j2se version="1.5+"/>
<nativelib href="release/Linux_x86_32.jar"/>
</resources>
<resources os="Linux" arch="x86_64">
<j2se version="1.5+"/>
<nativelib href="release/Linux_x86_64.jar"/>
</resources>
<resources os="Linux" arch="amd64">
<j2se version="1.5+"/>
<nativelib href="release/Linux_x86_64.jar"/>
</resources>
<resources os="Mac OS X" arch="i386">
<j2se version="1.5+"/>
<nativelib href="release/Mac32.jar"/>
</resources>
<resources os="Mac OS X" arch="x86_64">
<j2se version="1.5+"/>
<nativelib href="release/Mac64.jar"/>
</resources>
<application-desc>
<argument>-apptype</argument>
<argument>JViewer</argument>
<argument>-hostname</argument>
<argument>172.16.101.162</argument>
<argument>-kvmtoken</argument>
<argument>nOLAdVHdp02q3dSQ</argument>
<argument>-kvmsecure</argument>
<argument>0</argument>
<argument>-kvmport</argument>
<argument>80</argument>
<argument>-vmsecure</argument>
<argument>0</argument>
<argument>-cdstate</argument>
<argument>1</argument>
<argument>-fdstate</argument>
<argument>1</argument>
<argument>-hdstate</argument>
<argument>1</argument>
<argument>-cdnum</argument>
<argument>1</argument>
<argument>-fdnum</argument>
<argument>1</argument>
<argument>-hdnum</argument>
<argument>1</argument>
<argument>-extendedpriv</argument>
<argument>259</argument>
<argument>-localization</argument>
<argument>EN</argument>
<argument>-keyboardlayout</argument>
<argument>AD</argument>
<argument>-websecureport</argument>
<argument>443</argument>
<argument>-singleportenabled</argument>
<argument>1</argument>
<argument>-webcookie</argument>
<argument>q7U2w5QbKeOD77EYPgTQMWyjJzAKblir000</argument>
<argument>-oemfeatures</argument>
<argument>9</argument>

</application-desc>
</jnlp>

3.2. 报错解决

1、参考java8u121 unable open topcoder arena,添加例外站点。

(1)Win+S,搜索“Java Control Panel”或者“配置Java”。
(2)点击“安全”选项卡,编辑站点列表。添加:

1
http://172.16.101.162:80

重新启动jviewer.jnlp,依然报错。

2、参考Java Web start未签名的应用程序请求对系统无限制访问,对JDK进行降级。
(1)卸载JDK8,必须得卸载,否则多个版本JDK会有冲突。
(2)下载JDK6,并安装。
(3)参考《IDEA的常用配置》中的JDK配置,修改JAVA_HOME为新的JDK安装目录。

重新启动jviewer.jnlp,果然启动成功。(如果找不到打开的软件,可以手动选择javaws.exe)

需要注意的是,要先在浏览器中打开控制台重定向的页面,再启动jviewer.jnlp。否则会报错invalid web session,而且只能看到一个黑色的控制台,没有任何内容。而且,jviewer.jnlp文件有使用期限,每次远程控制都需要重新下载,因为该文件中的kvmtoken是会发生变化的。

3.3. 安装系统

1、在Windows系统中创建share目录,并且设置共享。然后把ubuntu-16.04.4-server-amd64.iso镜像拷贝到share目录。

2、在控制台的工具栏上,点击CD/DVD Media,打开选择Virtual Media对话框。

3、选择镜像,然后点击“Connect CD/DVD”,连接成功后close即可。

4、重启服务器,按Del进入BIOS设置,选择从虚拟光驱引导。(如果之前没有安装过系统则不需要此步骤)

5、然后,服务器就进入了正常安装步骤。

4. 后记

由本文中的实践可以看出,使用远程控制接口可以帮助机房管理员进行主机的管理,包括系统的安装,非常方便。那么,网络安装源结合远程控制接口,是不是可以实现批量远程安装系统?理论上是完全可行的。

5. 书签

华为服务器远程安装系统

DELL iDRAC服务器远程控制设置

BMC ipmitool 对linux服务器进行IPMI管理

曙光天阔服务器远程控制手册

曙光IPMI系统管理平台用户使用指南