一台云上交付的物理机和你在机房自己拆箱上架的服务器没有本质区别。我在实际操作浪潮云物理机处理磁盘RAID和安装操作系统时最大的感受是不要用云主机的思维去操作物理机控制台上那些“重置系统”“挂载云硬盘”的按钮在物理机场景下基本失效真正决定能不能用起来的是BMC、RAID卡和安装镜像这三样东西。这篇文章就把我这次从拿到裸机到装完系统的完整过程记录下来包括RAID级别的选择、WebBIOS里的配置细节、ISO挂载方式以及装完系统后必须做的验证和几个高频坑位。1. 浪潮云物理机的交付状态不认磁盘前先看清这台“裸机”1.1 从控制台到BMC两个入口都要摸清如果你是从云主机转过来的第一次拿到物理机时大概率会有点懵控制台上的“初始化”难道不能直接重装系统吗不能。云物理机交付时厂商可能只帮你做完了最基础的开机自检磁盘很可能还是满盘状态或者之前测试留下的RAID配置系统盘也不一定是你预期的容量。真正能对物理机做底层操作的入口是BMC管理界面也就是带外管理。我这次拿到的这台浪潮云物理机控制台详情页里能看到两个IP一个是业务IP一个就是BMC管理IP后面通常还带一个HTTPS端口号用浏览器访问就能打开管理登录页。登录BMC后第一件事不是急着去挂载ISO而是先摸清硬件现状。BMC首页一般会显示CPU型号、内存容量、固件版本、电源状态部分版本的界面还能直接看到磁盘型号和RAID卡信息。如果BMC页面的信息不够详细那就重启机器在开机自检阶段按提示进入RAID配置界面或者直接在BMC里打开远程控制台观察自检画面。这一步千万别省我见过有人把机器重启七八次结果发现一直进不去系统原因只是前一位使用者把启动模式改成了UEFI Only而系统镜像只支持Legacy引导。另外要注意BMC的远程控制台有两种形态早期的Java版需要安装JRE运行环境现在大多数已经支持HTML5版KVM。我强烈建议优先用HTML5版Java版在现代浏览器上经常被安全策略拦截容易卡在“找不到JNLP文件”这种问题上。登录BMC后找到“远程控制”“远程管理”或“KVM”菜单打开就能看到物理机的真实屏幕。1.2 RAID卡型号和磁盘列表确认在配置磁盘RAID之前必须确认RAID卡的型号和驱动。这个决定了后续安装系统时要不要额外加载驱动也决定了配置工具是WebBIOS、命令行还是UEFI菜单。常见的情况有这几种LSI/Broadcom MegaRAID系列比如9341、9361、9460等浪潮很多机型的板载RAID就是这类。配置入口通常是开机自检时按CtrlH也可以进入UEFI设置里的RAID配置页面。Linux内核里对应的驱动模块是megaraid_sas这个驱动在内核里的覆盖范围很广大多数主流发行版都能直接识别。Intel RSTe/ESRT2主要用在中低端板载RAID上配置入口经常是CtrlC或CtrlM保存退出。这类卡的驱动在Linux下通常叫ahci或isciWindows下需要单独装Intel RSTe驱动。PMC/Sierra等第三方卡部分定制机型会配PMC或者其他OEM阵列卡配置界面五花八门安装系统时很可能会卡在“找不到硬盘”这一步。我在这台机器上用BMC查看硬件信息后确认RAID卡是Broadcom MegaRAID 9361-8i磁盘是四块960GB SSD。这算是比较典型的配置方案。如果你在BMC里看不清阵列卡型号最笨但最有效的方法就是开机时盯着自检画面等RAID卡BIOS出现时按下对应的快捷键界面顶部通常会有完整的固件版本和型号。别以为这一步浪费时间后面所有RAID配置和驱动选择都基于这个信息。2. RAID组建前必须想清楚的选级别、条带和缓存策略2.1 RAID级别不是越大越好很多人拿到四块盘就问“是不是组RAID5听说RAID5能坏一块盘还安全”。这话只对了一半。RAID5确实可以允许一块盘故障但它的写性能在随机写入场景下会因为校验计算而下降而且在重建过程中一旦第二块盘出问题整个阵列就废了。我这个场景是部署业务系统同时要考虑容量和可靠性最终没有选RAID5而是选了RAID10。原因很简单RAID10是一块镜像加一块条带既兼顾写入性能又允许每组镜像里坏一块盘四块盘组RAID10正好是两组可用容量只有总容量的一半但对业务系统来说安全性和性能都更重要。不同RAID级别的选择逻辑我做了一张很直白的对比表基本覆盖常见场景RAID级别最少磁盘数可用容量冗余能力典型场景我的建议RAID02100%无临时缓存、可重建数据业务数据千万别用RAID1250%坏1块系统盘、核心数据库日志两块盘最稳的选择RAID53N-1块容量坏1块文件存储、视频归档重建有风险介意就别用RAID64N-2块容量坏2块大容量冷存储适合盘多、单盘容量大的场景RAID10450%每组镜像坏1块数据库、虚拟化、核心业务四块盘以上我优先推荐回到我这台机器四块SSD容量不需要全部用满业务系统对I/O延迟敏感所以RAID10是明确的选择。如果你是一台纯粹的文件服务器跑些备份任务盘中大文件顺序读写多RAID5或RAID6也够用但前提是你要能接受重建窗口期的风险。2.2 条带大小与写缓存策略怎样配合业务在RAID卡配置界面上除了选级别还有几个容易被新手忽略的参数条带大小Strip Size、读取策略Read Policy和写入策略Write Policy。这些参数的默认值不一定适合所有场景需要根据业务数据特征来调。条带大小是阵列卡把数据分散写到多块磁盘时的分块粒度。简单理解条带设置得越大顺序读大文件时性能越好条带设置得越小随机小I/O的并发能力越强。常见的选项有64KB、128KB、256KB和1MB。对于数据库这类随机读写较多的业务64KB已经是不错的选择对于视频编辑、大数据日志这类顺序访问场景可以适当提高到256KB。我这里最终选了64KB因为业务系统里有大量小文件操作小的条带能让数据更均匀地分布在两组磁盘上保持并发能力。写缓存策略则是RAID卡性能的灵魂。开启Write Back回写模式时数据先写入阵列卡缓存再异步落盘性能提升非常明显但前提是阵列卡必须有电池模块或电容保护否则突然断电会丢数据。如果RAID卡上确认没有BBU或超级电容建议老老实实用Write Through直写宁可慢一点也不要冒险。我这次确认BMC里能看到“BBU Status: Optimal”开启Write Back后不担心掉电丢失。还有一个容易忽略的设置是“Initialize”初始化。创建完RAID后如果不做初始化虚拟磁盘状态可能是Offline或者成功但未初始化系统安装程序往往无法正确识别。格式化前的初始化有三种方式快速初始化、后台初始化、完整初始化。新手建议直接选“Fast Initialize”几秒钟就能把虚拟磁盘状态变成Ready后续装系统时不会因为状态问题卡住。3. 磁盘RAID配置实践WebBIOS操作全过程记录3.1 进入RAID配置界面的路径确认完RAID卡是MegaRAID 9361-8i之后我在BMC远程控制台里执行了重启。开机自检界面过去后屏幕下方会出现一行提示通常是Press CtrlH to enter WebBIOS。这时需要赶紧在控制台界面里按下CtrlH注意虚拟控制台可能有键盘焦点问题建议点一下屏幕让焦点进入远程画面再按快捷键。如果错过了提示系统会继续引导到网卡PXE最后卡在“No boot device”这时再重启一次就行不用慌。进入WebBIOS后左侧是功能导航中间会列出当前的虚拟磁盘列表。如果这台物理机之前被用过界面上可能还留着旧配置。在创建新配置之前我建议先把旧的Virtual Drive删掉避免新系统装完出现盘符错乱或容量不对的问题。删除的方法是进入“Virtual Drive Management”页面选择要删除的VD点击“Delete”确认保存重启。这一步操作不可逆一定要先确认上面的数据没有需要保留的。3.2 使用Configuration Wizard创建虚拟磁盘在WebBIOS主界面选择Configuration Wizard进入配置向导。为了完全可控我选择的是New Configuration它会清空当前所有RAID配置后重新创建。如果选择Add Configuration则可以在保留现有VD的基础上增加新的虚拟磁盘但两台机器场景不同建议第一次操作时用New Configuration把配置彻底打散避免出现磁盘上留有旧分区结构的情况。配置向导的步骤大致是选择配置模式我选Manual因为可以逐块添加物理盘更直观Auto会让阵列卡自己选盘组RAID不够可控。选中物理磁盘并添加到Array界面上会列出四块960GB SSD每块前面有复选框。我一次选中两块盘加到第一组Array再把另外两块盘加到第二组Array。四块盘分成两个阵列正好是RAID10需要的两个镜像组。进入Span配置这个步骤很多新手看不懂。RAID10需要先做镜像再跨盘做条带所以必须把刚才创建的两个Array都拖进同一个Span里。界面上会显示Array 0和Array 1最后在Span里出现两条列这就是RAID10的基本结构。设置Virtual Drive参数RAID级别选RAID10条带大小选64KB读取策略选Read Ahead预读写入策略选Write Back磁盘缓存策略选Disabled禁用磁盘自身缓存避免双重缓存导致数据不一致。控制器缓存设置为No Read Ahead在部分数据库场景也不错但我这里预读能多吃点顺序读红利。初始化VD保存配置后回到VD列表选中新创建的VD点击“Fast Initialize”。初始化完成后状态会变成“Optimal”这是最理想的状态。保存配置后WebBIOS一般会提示重启系统。我顺手在BMC里再次确认虚拟磁盘状态能正常看到总容量为1.8TB左右对应四块SSD的50%可用空间。3.3 配置完成后用MegaCli/StorCli验证状态WebBIOS里的配置保存后真正的验证要到操作系统里做。因为现在我还没有安装系统所以验证可以分两个阶段一是在安装系统引导时通过RAID卡自检画面确认“Virtual Drive 0: RAID10, Optimal”的提示二是在安装完系统后进入命令行用工具再查一次。这里先给出一组后续在Linux环境里非常好用的命令。Broadcom/LSI的RAID卡通常可以用storcli64或MegaCli64来管理两个工具二选一即可。storcli64是新一代工具语法更清晰我推荐优先安装。查看VD状态storcli64 /c0 /v0 show all | grep -E Virtual Drive|RAID Level|State|SIZE正常输出里RAID Level应该显示RAID10State是OptlSize是1.817T左右。如果State显示Dgrd或Rebuild说明有盘掉线或正在重建需要进一步检查。查看物理磁盘状态storcli64 /c0 /eall /sall show | grep -E Device ID|State|S.M.A.R.T这里重点看每块物理盘的State是不是Onln也就是在线状态。只要有一块是Offln或Failed就必须先解决掉盘问题再继续装系统。我在实际运维中不止一次遇到过装机后运行一段时间才发现某块盘是“幽灵盘”当时RAID创建成功但已经埋了隐患所以强烈建议装机前就在阵列卡工具里逐块盘过一遍状态。4. 安装操作系统从挂载ISO到驱动注入4.1 选择ISO挂载方式RAID配置就绪后接下来是安装操作系统。云物理机上装系统的ISO来源主要有两种一种是从云平台控制台的镜像仓库导入的官方镜像另一种是自己从官方渠道下载的ISO通过BMC的虚拟介质功能挂载。我这次使用BMC的“虚拟光驱”功能把系统镜像挂到物理机光驱位置。在BMC界面找到“虚拟介质”或“CD/DVD”菜单通常支持三种方式上传本地ISO、映射网络共享路径、挂在物理光驱镜像。最简单的是直接上传ISO文件但要注意BMC的上传速度有限如果ISO超过5GB上传时间会非常长。遇到大镜像我更推荐把ISO放到同一个局域网内的共享目录让BMC通过网络路径挂载。这里说的共享路径可以是NFS或CIFS具体看BMC支持哪种挂载成功后远程控制台的右下角会出现一个光盘图标。挂载完成后重启物理机按启动项快捷键一般是F11或F12BMC界面也会显示进入启动菜单选择带有“Virtual CD/DVD”字样的启动项。这里就出现第一个高频问题如果系统安装媒介是传统的Legacy引导而RAID卡和BMC默认的启动模式是UEFI很可能启动菜单里根本看不到虚拟光驱或者看到后也无法引导。解决办法是进BIOS的Boot Manager把启动模式从UEFI改成Legacy或者在UEFI模式下使用支持UEFI引导的安装镜像。我这次装的是CentOS 7系统镜像默认就是Legacy引导所以在BIOS里把启动模式切成了Legacy Only省了很多麻烦。4.2 Linux安装时看不到磁盘的问题安装介质引导起来后正常会进入图形化安装界面到了磁盘分区步骤时却可能发现看不到刚才组好的RAID10虚拟磁盘。这个现象太常见了因为Linux系统只认识RAID卡驱动支持的磁盘如果内核里没有对应的驱动模块或者驱动版本太老无法识别较新的RAID卡固件虚拟磁盘就不会出现在安装界面。处理思路按顺序来先用系统镜像自带的默认驱动试试。CentOS 7及以上Ubuntu 18.04及以上基本都内置了megaraid_sas驱动模块理论上可以识别MegaRAID系列。如果能看到磁盘说明驱动没问题直接跳过。如果看不到磁盘切换到安装界面的Shell执行lsmod | grep megaraid若没有输出则执行modprobe megaraid_sas加载驱动再回到安装界面点“刷新”磁盘列表。仍然识别不了需要准备外置驱动。这种场景多半是RAID卡型号太新或者用了OEM定制固件。需要从厂商官网下载对应的驱动ISO同样通过BMC虚拟介质挂载在安装界面按CtrlAltF2进入终端把驱动目录挂载到/mnt再执行modprobe加载外置驱动文件或者在安装启动参数里加inst.dd指定驱动所在路径。我这次因为用的是主流的9361-8i卡系统镜像默认驱动直接识别了。比较稳妥的办法还是提前查一下所选系统的硬件兼容清单别等装到一半再临时找驱动。4.3 Windows Server 安装时加载阵列卡驱动如果安装的不是Linux而是Windows Server遇到磁盘不认的问题概率更高。Windows安装程序不会自动识别所有RAID卡进入磁盘选择界面后如果界面里空空如也就需要从浪潮或阵列卡厂商官网下载对应Windows版本的驱动。驱动压缩包解压后通常是一个文件夹里包含多个.inf、.sys和.cat文件。在Windows安装界面点击“加载驱动程序”浏览到驱动所在位置一般是storage/controller/windows/x64目录安装程序会自动寻找匹配的驱动。注意驱动位宽必须和系统一致64位系统装64位驱动32位系统装32位驱动否则加载后磁盘仍然不显示。如果驱动是自带安装包的.exe文件没法在安装界面直接使用需要先在其他机器上解压或用7-Zip提取找到.inf文件再加载。有一个小技巧Windows Server安装程序支持把驱动放到安装镜像的$WinPEDriver$目录里这样安装启动后系统会自动加载不用每次手动浏览。但这个要在制作镜像时提前处理好临时装系统时还是手动加载更快。5. 装完系统的第一轮体检和常见坑位5.1 确认RAID状态和磁盘健康系统装完进入桌面或命令行后第一轮体检的优先级高于任何测试。很多人装完系统就急着挂业务结果几天后RAID告警才发现磁盘早就有故障。在Linux下我按这个顺序检查查看磁盘和RAID状态lsblk cat /proc/mdstat storcli64 /c0 /v0 show all | grep -E State|RAID Level|Sizelsblk看到的是虚拟磁盘分区比如/dev/sda。cat /proc/mdstat只有在用软RAID时才显示内容硬RAID卡创建的VD这里不会出现不要因为看不到而怀疑配置失败。最准确的是storcli输出重点看State是否为OperationalOptl。查看物理盘状态和控制器日志storcli64 /c0 /eall /sall show | grep -E Device ID|State|FRU storcli64 /c0 show eventsevents输出如果包含MEDIA ERROR或PREDICTIVE FAILURE的告警说明有磁盘在“鞠躬尽瘁”的边缘建议尽早联系浪潮云硬件团队准备备件。物理机的磁盘寿命和云主机的虚拟块设备完全是两码事云主机上你几乎感知不到底层硬件故障物理机上必须自己有主动监控意识。5.2 用fio/ioping简单压一下RAID配置得对不对装完系统后的性能测试能一针见血。我通常在业务上线前用fio做一个基础的随机读、随机写测试数据量控制在内存范围内避免文件系统缓存干扰结果。# 随机读测试4KB块队列深度32足够模拟典型数据库负载 fio --namerandread --rwrandread --bs4k --size4G --iodepth32 --numjobs4 --group_reporting --filename/tmp/fio_read.test # 随机写测试注意会覆盖测试文件所在分区的空间 fio --namerandwrite --rwrandwrite --bs4k --size4G --iodepth32 --numjobs4 --group_reporting --filename/tmp/fio_write.test四块SATA SSD组RAID10基于9361-8i卡顺序读基本能达到2000MB/s以上4KB随机读IOPS能到15万以上随机写也有10万IOPS左右。如果你的结果差了一个数量级优先检查是不是Write Back没生效或者条带大小设置和业务模型不匹配。另外文件系统和RAID条带最好对齐否则可能出现性能损耗。现在主流的EXT4和XFS默认已经做了对齐处理不用担心如果是手动分区或使用fdisk指定扇区起始编号建议确保起始位置是8的倍数也就是64KB对齐。性能验证完之后还要做一次重启验证。别笑这步很重要——很多RAID配置在冷启动时才会暴露出启动顺序问题。重启后如果能正常进系统storcli看到VD状态还是Optl才算真正稳了。5.3 我踩过的三个高频问题问题一ISO挂载后重启回到PXE。这个坑在装第一遍时几乎一定会遇到。原因是BMC挂载虚拟光驱后启动顺序仍然是网卡优先或者ISO挂载成功后没有在BIOS启动菜单里手动选择一次。解决办法是在挂载成功后进入启动菜单选对应启动项而不是依赖默认启动顺序。问题二安装过程中KVM掉线。KVM画面突然黑屏看起来像断连但业务侧安装还在继续。这种情况通常不是系统崩溃而是远程控制台的HTTP长连接因为网络波动被断开。步骤是用BMC重新打开KVM如果HTML5版连不上切换Java版或者等几分钟再连。问题三旧RAID配置残留导致系统装到别的盘。如果这台物理机之前被人用过磁盘上可能会有残留的虚拟磁盘或分区表。即使你删除了VD磁盘的分区结构也会让安装程序识别出“已有系统”极易把引导装错。我推荐的稳妥做法是配置新VD后先做一次快速初始化再把所有磁盘的分区表清空。比如Linux安装引导时可以通过Shell执行sgdisk --zap-all /dev/sda清空分区表再回到安装界面重新分区。6. 排错实录从“看不到盘”到“反复重启”的排查链路既然标题里带“排错”这里单独把整个过程拆一遍方便你下次遇到类似问题时跟着排查。第一次在我手里装这台物理机时我用BMC挂载完CentOS ISO设完启动顺序结果重启后屏幕一路滚过去最后停下来出现“Boot failed: No bootable device.”。第一反应是ISO没挂载成功但BMC里看虚拟介质明明显示已连接。后来才发现问题出在启动模式不匹配机器BIOS默认UEFI我挂载的CentOS镜像是Legacy引导UEFI模式下根本找不到这个启动项。这个排查过程折腾了半小时后来直接进BIOS把启动模式切到Legacy问题消失。所以最关键的一句话是装系统前先确认启动模式UEFI/ Legacy要和镜像匹配。第二次是RAID创建成功了但安装界面的磁盘列表里空空如也。我那次以为是阵列卡驱动问题又是查模块又是挂驱动盘最后发现只是阵列初始化状态没切换成Optimal。进入WebBIOS看到虚拟磁盘状态是“Sparse”这表示初始化没做或没做完。回到WebBIOS重新做了一次快速初始化回到安装界面点刷新磁盘立刻出来了。所以遇到“找不到盘”优先级排序是先查VD状态再查驱动而不是一上来就找驱动。第三次是系统装完但启动后反复进入GRUB Rescue。这个和RAID关系不大但我必须写出来安装系统时我选了“自动分区”结果引导程序装到了本地USB启动盘而不是RAID虚拟磁盘上。物理机的启动顺序如果包含USB设备装机时务必确认grub安装目标盘是/dev/sda阵列卡虚拟磁盘。检查方式是在安装界面“安装目标磁盘”页面里看CD/DVD和USB设备是否也被列进了可用磁盘手动取消勾选即可。这些坑单独看都是很小的设置项但叠加在一起如果没有排查思路很容易让人在物理机面前干瞪眼。我的建议是把每台物理机的RAID配置步骤、启动模式、内核驱动版本、系统盘设备名记录下来做成一个简单的交付表下一台机器照着这个表过一遍能省下大量试错时间。这台浪潮云物理机最终装好CentOS后我顺手把RAID卡管理工具和内核模块放进了安装脚本里后续所有物理机初始化都会自动检查RAID状态。物理机的乐趣就在于每一步都是可触摸、可验证的把磁盘RAID和系统安装这件事做扎实后面业务跑在上面才算是有了底。