全球主机交流论坛

标题: 谜团散开,Linux一键重装处理不规则IPv4多盘raid BOSS终极考验 [打印本页]

作者: 天权璇玑    时间: 2023-8-2 08:27
标题: 谜团散开,Linux一键重装处理不规则IPv4多盘raid BOSS终极考验
本帖最后由 天权璇玑 于 2023-8-2 10:41 编辑

论坛主贴:

https://443502.xyz/thread-1159839-1-1.html

github:

https://github.com/leitbogioro/Tools

图库为 imgur.com,国内用户需挂梯子全局才能查看。

前两天论坛 mjj zhazhahui(渣渣辉,以下简称“辉哥”)给我发了个私信,说他手上有一台 SuperMicro 家的独服,重装时出了一些问题,叫我帮忙看看咋整。

这家的独服可以说是纯粹的“独服”,可定制型非常高,甚至可以通过 web 面板访问到 BIOS,主配置如下:



最开始,辉哥说这机器能进 BIOS 的时候,我是很震惊的,这年头能有这么大自由度配置的机器着实不多见了。而且它家面板也不太好进,得先配置一个 Open扶墙,通过内网 IP 访问 web 面板,最骚的是 VNC 界面不是常见的 noVNC,而是用 JAVA 写的,需要在机器上装一个 JAVA 库,而且系统重装、运维等 tickets,客服最起码 2 天之内才能回应,而且一切都是手动的,全是感情,不带一丝技巧。

本贴一切操作都在辉哥提供的 Windows 虚拟机里进行,直到用脚本重装前,一切流程纯手动,包括调整 LSI 阵列卡,给第一块硬盘先安装系统,这一系列操作给我找回了最初玩机时,最原始、最纯粹、最充足的快乐,我好久都没有这么开心过了。

首先是解决网络配置问题,之前这个 https://443502.xyz/forum.php?mod=viewthread&tid=1191827 帖子里,面对不规则 IPv4 + IPv6 配置,我已经有了解决方案,即向 Debian installer 写入 IPv6 配置,以 IPv6 栈完成系统的安装、静态 IPv4 配置(不管原系统中 IPv4 是 dhcp 还是静态,统一按静态配置,避免出现 Hetzner 那种 dhcp 服务器挂掉的情况)刷入等工作。

但百密一疏,我还是漏了一个地方,就是没考虑到不规则 IPv4 + IPv6 dhcp 这种情况,看代码就知道:



红框框出来的部分是脚本检查到了机器为双栈,且 IPv4 不规则,需要用 IPv6 配置,但这台机器的 IPv6 部分是 dhcp 配置的,结果就是跳过了判断式“[[ "$Network6Config" == "isStatic" ]]”写入 IPv6 静态配置的操作,解决方法很简单,检查 IPv6 配置地方,这里加一条:



因为检查 IPv6 栈总是在检查 IPv4 栈之后进行的,所以从检查 IPv4 栈获取到的 "$BiStackPreferIpv6" 变量,就会影响到在新安装系统内是否用静态或动态配置 IPv6 网络,目前的策略显然是用静态配置 IPv6,因为如果 d-i preseed/netcfg 部分如果不给某 IP 栈配置,Debian installer 是按 IPv4 dhcp 优先配置的。

在本次案例中,由于 IPv4 部分是静态配置,不支持 dhcp 配置,所以重装会失败,经过修改后,此问题已解决。

然后接下来的问题才逐渐重量级。

我发现机器原生硬盘的配置是在 LSI 阵列卡里已经用 3 块硬盘组建了硬 raid 0 array,所以在系统中看到的硬盘只有 5.5 TB 的一块 /dev/sda,硬 raid 的抽象层级比系统级 raid 要高,所以硬 raid 后的阵列对任何操作系统而言都是一整块单独的硬盘。

加上之前修改的 bug,我本以为重装应该没问题了,结果看着 Debian installer 进度条跑完,发现 grub 挂了,进入恢复模式:



辉哥说在这种硬 raid 上装过的系统,要做个什么设置,反正我看得是头昏眼花,完全不懂:



不过无所谓,既然硬 raid 搞不定,用软 raid 就行了,这才是我擅长的主场,把 LSI 里的 3 块硬 raid 0 array 删了,让硬盘逻辑上以直通形式连接到主机(物理上还是得走 LSI 阵列卡,除非让机房网管把连接到主板 PCIE 上的 LSI 阵列卡上的三根 sata 线拔了,直接接到主板 sata 口上)。

强制关机,重启。直接进 VNC,观察主机启动时显示的画面,到“Ctrl + C to start LSI......” 时,就要多按几次 Ctrl + C ,才能确保进入 LSI 阵列卡配置界面:



继续等待阵列卡完成自检工作:





到了蓝底界面,才算真正进入了 LSI 阵列卡配置界面,默认项回车:



保持 Enabled BIOS & OS 选项不变:



方向键选择“RAID Properties”,回车



此时是能看到连接到阵列卡上 3 块硬盘的型号和容量的,回车“Manage Array”:



按方向键,选择到最后一项“Delete Array”,即删除阵列,数据有风险,操作需谨慎,请勿在任何有重要数据的计算机上,进行硬盘阵列的删除操作!



按“Y”确认删除:



此时 LSI 界面又回到了最开始进入时的,再回车选择“RAID Properties”:



发现提示创建各种 RAID 阵列,说明已有的硬 Raid 0 阵列已被删除。



选择 SAS Topology,可看到 3 块硬盘目前都是以逻辑直通形式连接到系统。





然后按几次 Esc 键,从各三级二级菜单退出,直到退出 LSI 阵列卡配置



此时所有硬盘上的数据由于已经被全部擦除,且未安装任何操作系统,所以独服是无法启动的。所以可以选择强制关机,再开机,按“Del”键进 BIOS 设置,查看一下 3 块硬盘连接到系统的情况:







有三个 SCSI 设备连接到了主板,可见硬 Raid 阵列已取消,否则这里仅能看到一块设备。



此时停留在 BIOS 界面先不要动,把 Debian netinstall ISO 挂载到机器上,ISO 文件来自 Debian.org: https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/



挂载好光盘后,再从 BIOS 中重启系统,SuperMicro 的机器是优先以 ISO 启动,即使硬盘上有操作系统,所以不需要设置启动设备顺序。

稍等片刻,熟悉的安装界面来了:





网络配置步骤未展示,因为这台机器的 IPv6 支持 dhcp,当尝试 dhcp IPv4 配置网络失败后,安装程序自动用 IPv6 dhcp 配置好了网络。

选择单盘模式安装:



此时由于光盘本身占着 sda 设别名,所以识别到的硬盘按顺序变成了 sdb sdc sdd,不过只要在安装后重启前把光盘拔掉,重启后的硬盘顺序就还原成了 sda sdb sdc。



分区也都保持默认,怎么简单怎么来:









手动安装的时候也只选择“SSH server”,保证能通过 ssh 连接到服务器,桌面环境和 standard system utilities



安装 grub,并将 grub 安装到默认第一块硬盘:









弹出对话框是否重启前,应当先将 ISO 弹出,否则系统重启后还是会选择从光盘启动。




作者: 天权璇玑    时间: 2023-8-2 08:28
手搓 IPv4 静态部分网络配置中…… 在 /etc/network/interfaces 里写入相关配置,退出后 systemctl restart networking 重启下网络服务,双栈网络就配置好了,看图里网络配置文件,很明显 IPv6 部分是以 dhcp 配置的:



能进 ssh 就方便多了,执行脚本重装,软 raid 0:

bash InstallNET.sh -debian 12 -raid "0"

显然,脚本按照预期去配置网络了,即发现 IPv4 部分不规则 + IPv6 dhcp,并在 preseed.cfg 中写入 IPv6 静态配置,强制让 Debian installer 读取 IPv6 静态配置完成第一阶段的网络配置工作。





sda sdb sdc 三盘软 raid 0 recipe 也按预期的效果写入 preseed:



不规则 IPv4 配置也按预期在系统主要文件安装好后到重启前的 late_command 阶段写入:



系统安装好后,查看 /etc/network/interfaces 网络配置文件里的参数、lsblk 查看分区详情,IPv4/IPv6 ping google.com,完全没有任何问题。终极大考圆满成功。



一些缺陷:


作者: Fightlee    时间: 2023-8-2 08:35
这机子确实有点牛,技术贴,支持下大佬
作者: kevinma    时间: 2023-8-2 08:39
不明觉厉
作者: yanzhiling2002    时间: 2023-8-2 08:41
除了牛逼,没什么能形容大佬的
作者: zsj403919383    时间: 2023-8-2 09:15
太强了
作者: 渣渣灰    时间: 2023-8-2 10:16
妈妈我上“电视”了
作者: zby    时间: 2023-8-2 10:22
正常啊。我超微的服务器也是这样的。主板自带的管理页面啊。叫什么BCM还是啥。插上固定的网线口就可以管理了。
作者: 沙漠之水    时间: 2023-8-2 10:24
重装小王子
作者: 天权璇玑    时间: 2023-8-2 10:53
zby 发表于 2023-8-2 10:22
正常啊。我超微的服务器也是这样的。主板自带的管理页面啊。叫什么BCM还是啥。插上固定的网线口就可以管理 ...

不知道这家是超威自己运营的,还是借了一个名,我觉得给用户最大权限的管理挺好的,跟操作一台手旁的机器无异,除了不能改连接到主板设备的形式或顺序
作者: LiuJia    时间: 2023-8-2 17:57
谢谢楼主写这么详细的教程。
作者: htazq    时间: 2023-8-2 18:20
技术贴必定,感谢楼主分享


--zsbd
作者: 大雕愛蘿莉    时间: 2023-8-2 18:36
看到這熟悉的超微界面讓我回想起了virmach以前的水牛城29刀獨服 整整玩了一年 web界面還可以設定FAN風速
作者: xiubpb    时间: 2023-8-2 18:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: xiubpb    时间: 2023-8-2 19:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: xiubpb    时间: 2023-8-2 19:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: Yzindex    时间: 2023-8-2 19:59
好久没见这样的帖子了,先收藏为敬。
作者: 403_Forbidden    时间: 2023-8-2 20:21
第一次用IPMI是吧,还搁这扯VNC呢
作者: 小学生    时间: 2023-8-2 20:28
@xiubpb   傻逼5K狗,赶紧来抄代码啊
作者: iamydp    时间: 2023-8-2 20:33
超微ipmi确实好,你这个机器跟我用过一款超微x58机器的ipmi很类似,当时还特地找个java7远程,要不然窗口都打不开
作者: flyqie    时间: 2023-8-2 21:23
`辉哥说这机器能进 BIOS 的时候,我是很震惊的,这年头能有这么大自由度配置的机器着实不多见了`

那啥。。别的不说,楼主平时玩杜甫很少嘛。。

杜甫不都这样吗?

BMC板子上搞ipmi,支持开关机、ikvm、sol、温度、硬件日志什么的。

要open扶墙是正常的,有些家ipmi懒得给公网IP,顺便为了安全,用open扶墙连到内网访问。

另外,超微还有dell老点的版本ikvm基本都是java写的,特别特别老的技术栈。。新版本有h5了,但之前看也是差不多的架构,都是魔改的rfb协议。

virtual media没记错的话是额外做的,没有直接走kvm这块的协议。
作者: flyqie    时间: 2023-8-2 21:25
zby 发表于 2023-8-2 10:22
正常啊。我超微的服务器也是这样的。主板自带的管理页面啊。叫什么BCM还是啥。插上固定的网线口就可以管理 ...


。。。反了,那块板子叫bmc。。

当然,也可能不是板子。。

不同厂家不一样。
作者: xiubpb    时间: 2023-8-2 21:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: flyqie    时间: 2023-8-2 21:30
xiubpb 发表于 2023-8-2 21:25
全是感情,不带一丝技巧

总结能力果然抵得上w字

在我回复下点评你到底是说我还是说楼主?

麻烦你说清楚点指向的人。。看着很懵逼。

node那玩意我要没记错的话,我都没注册过吧。。忘记了,反正可以确定的是没发帖/回复过。

如果说楼主的话,你说清楚点指向,你俩的事我不想参与进来。。我只是个路过的,你发个回复我都能理解,点评算咋回事。。
作者: xiubpb    时间: 2023-8-2 21:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: 苏州思杰马克丁    时间: 2023-8-2 21:44
xiubpb 发表于 2023-8-2 21:42
rfb,这玩意不就是vnc吗
你指的是rtp?

我指5K狗妈的B
作者: xiubpb    时间: 2023-8-3 01:18
提示: 作者被禁止或删除 内容自动屏蔽
作者: 天权璇玑    时间: 2023-8-3 07:52
flyqie 发表于 2023-8-2 21:23
`辉哥说这机器能进 BIOS 的时候,我是很震惊的,这年头能有这么大自由度配置的机器着实不多见了`

那啥。。 ...

玩的少,家里没矿,没那些优渥条件
作者: guyuefeng    时间: 2023-8-3 08:46
什么时候IPMI能让人这么震惊了?
作者: flyqie    时间: 2023-8-3 13:25
xiubpb 发表于 2023-8-2 21:42
rfb,这玩意不就是vnc吗
你指的是rtp?

https://en.wikipedia.org/wiki/Virtual_Network_Computing

看你想怎么理解了。

rtp。。你是咋认为我会说这玩意的。。

我这边webrtc云桌面项目确实用到了rtp,但这玩意跟我上面说的没啥关系。
作者: flyqie    时间: 2023-8-3 13:26
天权璇玑 发表于 2023-8-3 07:52
玩的少,家里没矿,没那些优渥条件

讲真,现在很多带ipmi的欧洲杜甫比vps也贵不了多少。。

玩玩还是挺好的。
作者: flyqie    时间: 2023-8-3 13:29
iamydp 发表于 2023-8-2 20:33
超微ipmi确实好,你这个机器跟我用过一款超微x58机器的ipmi很类似,当时还特地找个java7远程,要不然窗口都 ...

别说超微了,dell也一个德行。。

新机子或许还有h5,老机子全特么是java的。。

时不时还无法连接,reset ipmi之后才能用。。悲惨。
作者: 天权璇玑    时间: 2023-8-3 14:35
flyqie 发表于 2023-8-3 13:29
别说超微了,dell也一个德行。。

新机子或许还有h5,老机子全特么是java的。。

嗯,有缘收一个,谢谢指路
作者: zby    时间: 2023-8-4 11:45
flyqie 发表于 2023-8-2 21:25
。。。反了,那块板子叫bmc。。

当然,也可能不是板子。。

不是板子。超微的是X11 X12这种是型号 是这个功能叫这个名字。还有单独的固件更新。




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4