ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

DELL服务器RAID配置与系统安装实战:从RAID选型到排错

DELL服务器RAID配置与系统安装实战:从RAID选型到排错 简介这份资源是一份关于DELL服务器磁盘RAID配置与系统安装的实操型技术文档适合服务器运维人员、企业IT管理员以及刚接触RAID的入门读者。内容系统梳理了RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6等各级别的原理、优缺点及适用场景并结合DELL服务器环境说明RAID阵列创建、磁盘分区、格式化与操作系统安装的完整流程。资源为单个docx文档压缩包大小约3.96MB便于下载后按章节查阅也适合作为内部培训或日常排障的参考材料。目前已有194人学习使用。文档对RAID级别的对比讲解较为细致可帮助读者理解不同RAID模式在数据冗余、读写性能与磁盘利用率之间的取舍掌握在DELL服务器上完成RAID配置与系统部署的基本思路降低因配置不当导致数据丢失的风险。1. DELL服务器上机第一件事先想RAID再谈系统DELL PowerEdge服务器从拆箱到跑业务中间隔着两道绕不过去的工序把物理磁盘做成RAID阵列再把操作系统装进这个阵列。很多第一次接触DELL服务器的运维上来就插U盘装系统结果安装向导里看不到一块磁盘——这不是系统镜像的问题而是RAID卡还没配置或者驱动没加载。这篇笔记围绕“磁盘RAID制作与系统安装”这条主线讲清楚阵列级别怎么选、配置界面从哪进、命令行怎么批量操作、装系统时磁盘不识别怎么排查。适合刚接手R730、R740这类机架式服务器又没时间翻官方手册的测试工程师和运维。2. 做RAID前先想清楚RAID级别怎么选从R730到R740的硬件底细2.1 RAID 0/1/5/10区别一句话说清每种阵列的取舍RAID 0、1、5、10是DELL服务器上出现频率最高的四种级别。选哪个不是看哪个快而是看这台机器承担什么角色。RAID 0把两块或更多硬盘合并成一个卷读写性能最好但任意一块盘坏掉整个阵列直接报废数据全丢。RAID 1是两块盘互为镜像写入速度会打折扣但坏一块盘系统照常运行适合系统盘或者要求不高的小容量数据盘。RAID 5是中小型服务器最常用的方案三块盘起步允许坏一块盘不丢数据磁盘利用率是n-1/n。RAID 10是先做镜像再做条带至少四块盘性能和冗余都相对均衡代价是磁盘利用率只有一半。把这几种级别放到DELL服务器上选型时我的经验法则是系统盘优先考虑RAID 1数据库或虚拟化存储选RAID 10文件服务器或日志存储选RAID 5测试环境图省事才用RAID 0。级别最少盘数可用容量冗余能力典型场景RAID 02100%无临时计算、缓存盘RAID 1250%1块盘系统盘、小容量关键数据RAID 53(n-1)/n1块盘文件共享、备份存储RAID 10450%每个镜像组1块数据库、虚拟化存储2.2 DELL服务器的RAID控制器PERC系列与HBA直通模式R730和R740这类PowerEdge服务器RAID功能不靠主板芯片组实现而是由一张独立的RAID卡控制DELL叫它PERCPowerEdge RAID Controller。R730时代最常见的卡是PERC H730支持RAID 0/1/5/10和JBOD直通模式R740开始标配PERC H740P缓存更大支持的后端盘数量也更多。判断服务器用的是什么RAID卡开机自检界面会短暂显示PERC型号也可以进系统后用命令查Linux下执行lspci | grep -i raidWindows下在设备管理器里看“存储控制器”类别。PERC卡上有一个关键硬件部件缓存模块。H730和H740P出厂时都带一块512MB或2GB的缓存并且配备独立的电容或电池防止意外断电时缓存里的数据丢失。配置缓存策略时常见的做法是写策略设成Write Back读策略设成Read Ahead这种方式性能最好。但前提是缓存保护模块状态正常如果PERC卡检测不到电池或电容写策略会自动退回Write Through性能明显下降。另外如果服务器里插的是普通SATA盘且不需要RAID可以把PERC卡切到HBA直通模式让系统直接看到每块物理盘这类需求多出现在大数据节点的场景。2.3 虚拟机模拟做RAID没真机也能练手的方案真实服务器不方便上手的时候在虚拟机里练手做RAID是靠谱的路径。做法有两种一种在VMware Workstation里给虚拟机加四块虚拟磁盘装好Linux后用mdadm做软RAID把RAID 1、5、10的创建流程走一遍另一种是安装QEMU模拟一张硬件RAID卡不过配置复杂开销也大一般不建议入门者折腾。mdadm的用法和DELL的硬件RAID有区别但磁盘分组的思想是共通的。VMware里给虚拟机添加四块20GB的虚拟磁盘然后执行下面的命令创建软RAID 5# 安装mdadm工具 sudo apt install mdadm -y # 创建RAID 5使用sdb到sde四块盘块大小设为512KB sudo mdadm --create /dev/md0 --level5 --raid-devices4 \ --chunk512 /dev/sdb /dev/sdc /dev/sdd /dev/sde # 查看阵列创建状态 cat /proc/mdstat这段命令里--level5指定RAID级别--raid-devices4声明参与阵列的磁盘数--chunk512设置条带块大小。mdadm创建后并不会立即同步后台会做初始化重建状态可以从/proc/mdstat看到。虚拟机里练软RAID的最大价值是让你在没有机房权限的情况下提前搞懂“阵列初始化期间能不能重启”“坏一块盘怎么踢出去”这些生产环境里容易翻车的操作。注意软RAID的处理方式和真实PERC卡有差异但选型逻辑、容量计算方式完全一致。3. 进BIOS和RAID卡配置界面从开机到阵列建好的完整操作3.1 两种配置入口CtrlR和F2进Device Settings如何进入RAID设置是DELL服务器新手问得最多的问题。不同年代的PERC卡入口不一样。老一代方案是开机自检时看到带PERC标志的界面按CtrlR进入RAID卡自身的BIOS配置工具这个界面里能看到虚拟磁盘、物理磁盘和控制器的全部信息传统的“按任意键进入配置工具”指的就是它。新一代UEFI模式下开机按F2进入System Setup再进Device Settings选中PERC控制器同样可以打开配置界面。两个入口在底层操作的是同一个控制器区别在于CtrlR走的是Legacy模式F2走的是UEFI模式。如果服务器开了UEFI引导建议统一用F2这个路径配置如果服务器里装的还是传统Legacy引导的系统CtrlR用起来更顺手。实际维护中要养成习惯不管用哪个入口改完配置都要退出并确认保存有些菜单在退出时才提示是否提交配置不确认等于没做。另外iDRAC里也可以用CtrlR模拟键盘操作远程进入RAID配置界面对没有显示器、纯远程管理的机房场景很有用。3.2 创建RAID5的完整步骤与关键参数以R740为例进入Device Settings里的PERC H740P配置界面后创建RAID 5的过程如下先看Virtual Disk列表是否已有阵列新机器通常是空的然后进Physical Disks确认盘的状态是Ready再回到Virtual Disk创建向导选择RAID 5级别勾选需要加入阵列的物理盘设置条带大小和初始化方式最后确认创建。创建时几个参数值得多花两分钟确认。条带块大小Strip Size影响顺序读写性能数据库负载习惯设64KB到128KB文件存储设64KB以下也能接受初始化方式建议选后台初始化阵列创建后立即可以安装系统初始化在后台悄悄进行不要选初始化时间太长的前台模式。热备盘Hot Spare在盘位充足时值得预留一块系统运行中有一块盘故障热备盘会自动顶上并开始重建省去半夜去机房换盘的麻烦。3.3 storcli和perccli64命令行创建RAID的进阶做法图形界面适合一次配置批量部署多台服务器时效率太低。DELL服务器装好操作系统后可以用storcli或perccli64在命令行下完成同样的RAID配置。storcli是MegaRAID通用工具perccli64是DELL针对PERC卡定制版两者命令格式基本一致DELL官方推荐使用perccli64。先做最基础的信息收集。系统里运行下面的命令可以看到控制器型号、固件版本、物理盘数量和状态# 查看控制器整体信息 perccli64 /c0 show # 查看物理盘列表确认盘位编号和状态 perccli64 /c0 /eall /sall show # 查看已经创建的虚拟磁盘 perccli64 /c0 /vall show/c0代表控制器0绝大多数单卡服务器都是这个编号/eall表示所有磁盘柜Enclosure/sall表示所有物理盘/vall表示所有虚拟磁盘。状态列为UGood的物理盘才是健康的如果显示UInit或Failed说明磁盘正在初始化或者已经出问题。确认四块盘都Ready后用一条命令创建RAID 5# 使用0-3号物理盘创建RAID 5虚拟磁盘命名为VD0 perccli64 /c0 add vd typeraid5 drives32:0,32:1,32:2,32:3 nameVD0 # 给新建的虚拟磁盘设置写缓存策略 perccli64 /c0 /vall set wrcacheWB创建参数的写法里32是物理盘所在的Enclosure编号后面跟的是盘位号两者用冒号连接。这个编号在/c0 /eall /sall show的输出第一列能看到不同服务器的Enclosure号可能不一样直接套用固定值是常见的翻车点。nameVD0是给虚拟磁盘起名字方便后续脚本里定位。写完缓存策略后可以再用show命令复核一遍确认虚拟磁盘状态为Optimal。4. 系统装不进去别急着重来U盘引导、驱动注入与分区三处坑4.1 制作系统安装U盘并设置引导顺序阵列创建完成只是第一步接下来系统安装能不能顺利走到分区界面考验的是U盘制作和引导顺序设置。Windows Server镜像建议用Rufus写入U盘分区格式选GPT还是MBR取决于服务器的引导模式UEFI引导配GPTLegacy引导配MBR混用会直接导致启动失败。Linux镜像可以用Rufus也可以用dd命令写入注意写入会清空U盘上所有数据操作之前确认盘符别写错。以Ubuntu Server安装U盘为例Linux主机上制作U盘的命令是# 假设U盘设备是/dev/sdk确认后写入Ubuntu Server镜像 sudo dd ifubuntu-22.04.4-live-server-amd64.iso of/dev/sdk bs4M statusprogress # 写入完成后同步缓存确保数据落盘 sudo syncif指定镜像文件路径of指定U盘设备文件注意这里写的是/dev/sdk而不是/dev/sdk1直接写到分区上会导致U盘引导不了。bs4M设置每次读写块大小提高写入速度。写入之后开机按F11进入Boot Manager手动选择U盘启动装完系统后重启前记得把引导顺序改回硬盘。4.2 Windows Server安装时找不到磁盘先确认驱动和模式DELL服务器装Windows Server时最常遇到的异常是安装向导的磁盘列表里空无一物或者只看到200GB不到的“未分配空间”。磁盘未初始化和找不到磁盘是两种不同的情况后者多半是Windows安装镜像里没有PERC卡的驱动程序。Windows Server官版镜像不带第三方RAID卡驱动这在DELL平台上几乎是每个不看手册的人都会踩的坑。解决办法有三种。第一种是开机按F10进入Lifecycle Controller在Operating System Deployment菜单里选择Windows Server并挂载官方驱动ISO安装项目里集成了PERC卡的驱动选了镜像就能自动加载。第二种是从DELL官网下载对应机型的RAID卡驱动放到另一个U盘里在Windows安装向导出现“加载驱动程序”界面时手动指过去。第三种是用dism命令把驱动离线注入到Windows安装映像中适合批量部署场景# 挂载install.wim注入PERC驱动后保存 dism /Mount-Wim /WimFile:D:\sources\install.wim /Index:1 /MountDir:C:\mount dism /Image:C:\mount /Add-Driver /Driver:D:\drivers\perc.inf /Recurse dism /Unmount-Wim /MountDir:C:\mount /Commit/Index:1对应镜像里的第一个版本如果镜像里包含多个Windows版本需要先查索引号再挂载。/Recurse参数会把指定目录下所有驱动包一起装进去没有这个参数只注入一个inf文件经常漏掉配套的sys文件。驱动注入后重新安装系统磁盘列表里就能看到之前创建的阵列卷。4.3 LinuxUbuntu/欧拉/麒麟安装时的分区与RAID识别Linux系安装系统时DELL服务器的表现相对友好硬件RAID阵列在Linux里会被认成一个块设备。Ubuntu Server安装时分区工具里出现的/dev/sda或者/dev/mapper/vd0就是阵列卷不需要额外装驱动。需要留意的是分区方案UEFI引导必须有ESP分区文件系统建议XFS或ext4LVM逻辑卷适合后期扩容但对新手来说操作复杂度偏高。国产化系统如欧拉openEuler和麒麟在DELL服务器上的安装路径与CentStream基本一致。安装界面的磁盘选择阶段选中“未知磁盘”时系统会提示是否初始化选“确认”之后才能继续分区。最容易出问题的设置是引导加载程序的位置默认会尝试装在磁盘主引导记录上UEFI模式安装失败多是因为这一步没选对目标盘。欧拉安装时如果识别不到阵列卷先确认是不是以UEFI模式引导的系统镜像和服务器引导模式一致Legacy镜像装在UEFI模式的机器上经常出现设备不可见。5. 避坑/常见问题RAID制作与系统安装的排查手册5.1 RAID卡报Foreign状态阵列配置突然消失现象服务器重启后进RAID配置界面看到虚拟磁盘状态变成Foreign原来正常使用的阵列不见了系统自然无法引导。原因RAID卡固件在异常断电或者磁盘被拔出重新插入后无法确认当前盘组配置是否与保存的配置一致就把整组磁盘标记为外部配置等待管理员确认。这块属于常见但容易被误操作放大的问题。解决进入PERC配置界面找到Foreign项选择Import导入恢复原有配置。注意不要选ClearClear会直接清除外部配置的元数据阵列信息和数据将无法找回。导入完成后确认虚拟磁盘状态回到Optimal同时检查一下缓存策略是否被重置如果固件认为配置发生了变动写回策略可能自动退化成直写模式影响性能。5.2 RAID5容量比预期少了一大截现象三块1.92TB的SATA盘做RAID 5进系统看总容量只有约3.5TB和理论计算的3.84TB对不上。这种情况不是翻车像是“缩水”严重但能接受原因要拆开看。原因RAID 5的可用容量是n-1倍单盘容量这里减去的是三块盘中最大的一块但磁盘厂商按千进制标称1.92TB操作系统按二进制换算后实际容量约1.79TiB加上RAID格式化的元数据开销最终容量和预期差距就明显了。解决做容量规划时按单盘实际格式化容量的n-1倍估算不要按标称容量计算。如果创建RAID时选了初始化等初始化完成后再查容量后台初始化期间容量显示也不会是最终值。规划虚拟化集群时记得预留10%到15%的余量避免后续快照和日志把存储池写满。5.3 Windows磁盘管理提示“磁盘必须经过初始化 逻辑磁盘管理器才能访问”现象系统装好后进入磁盘管理能看到阵列卷但弹出初始化磁盘的提示磁盘处于“未知”状态右键只能初始化不能直接创建卷。原因新创建的阵列卷上没有分区表和文件系统Windows识别到新磁盘后会要求先初始化。这个提示本身不算故障真正的坑是初始化时选错分区形式UEFI引导的服务器选GPTLegacy引导的服务器选MBR选错会导致后续分区无法用作引导盘。解决确认服务器的引导模式后再选择GPT或MBR。已经初始化错了的可以用diskpart命令行处理diskpart list disk select disk 2 clean convert gpt exitclean会清除磁盘上的所有分区和数据convert gpt把磁盘转换成GPT分区形式。这一步操作前务必确认选的磁盘是刚建好的阵列而不是一块带着数据的物理盘生产环境里选错盘导致数据全清的血泪教训不在少数。5.4 DELL R740服务器增加硬盘后原阵列没自动扩容现象服务器原有四块盘做了RAID 5新增两块硬盘后进系统没看到容量增加RAID卡界面里新盘状态是Ready或Unconfigured Good阵列卷容量没变。原因RAID 5创建后容量是固定的增加物理盘并不会自动扩容需要先把新盘加入现有虚拟磁盘并执行扩容操作。部分RAID卡固件版本还限制混插不同容量、不同转速的磁盘新盘状态会停在Unconfigured Good无法加入。解决先确认新盘容量和转速与原阵列一致。用perccli64把新盘加入现有卷# 查看当前虚拟磁盘和物理盘状态 perccli64 /c0 /vall show perccli64 /c0 /eall /sall show # 把48号盘加入现有卷 perccli64 /c0 /vall add drives32:48扩容完成后底层卷容量只增加了可用盘数对应的空间还需要进磁盘管理或文件系统层执行扩展分区和文件系统的操作。Linux下使用growpart和xfs_growfsWindows里用磁盘管理“扩展卷”。很多人扩充完卷容量却不做文件系统扩容容量自然不变这是最隐蔽的坑。5.5 装完系统重启后启动失败卡在引导界面现象安装Ubuntu或者Windows Server后系统安装过程正常完成重启时提示找不到引导设备或者直接进入PXE网络启动。原因安装时引导程序被写入了U盘而不是阵列卷开机引导顺序又设置为网络启动优先服务器找不到本地系统就尝试从网络启动。DELL服务器默认从硬驱、光驱、网络设备顺序引导但如果安装时镜像引导模式与服务器引导模式不匹配也会发生刚装完就找不到系统的情况。解决开机按F2进BIOS把引导顺序调整为硬盘优先并确认引导模式与安装镜像一致。UEFI引导的服务器要看到Windows Boot Manager或Linux引导项出现在启动列表里没有的话回安装界面重新执行grub-install或bootrec /fixmbr修复引导记录。6. 装完系统后还要做三件事固件版本、阵列巡检和后备盘策略系统装完、业务跑起来不代表维护结束。我经手每台DELL服务器上架交付前都至少要做三件事。第一件事是确认PERC卡和BIOS固件版本DELL的固件更新通过iDRAC或者官方启动镜像执行版本过旧会有一些已知的阵列稳定性问题治本的办法是到官网下载对应机型的固件包用Lifecycle Controller的Firmware Update功能一次性更新。固件升级有风险生产环境务必提前做好备份并避开业务高峰。第二件事是建立周期性的阵列巡检习惯。Windows下用perccli64 /c0 /pdall show看物理盘SMART状态Linux下同样可用。重点关注Media Error Count和Other Error Count两列数值持续增长说明磁盘正在劣化趁早换盘比等它损坏再重建省心得多。每天凌晨跑一条巡检脚本并把输出推送到监控平台是我在多个机房沿用下来的做法。第三件事是检查热备盘策略是否生效。R740这类机型做完阵列后建议单独留一块盘配置成Global Hot Spare全局热备盘会在任意一块工作盘故障时自动顶替并触发重建。设置命令很简单# 把Enclosure 32的44号盘设为全局热备盘 perccli64 /c0 /eall /sall set hotspareon drive32:44设好后系统里这个盘的状态变为Hot Spare阵列中的工作盘如果发生故障RAID卡会自动把热备盘切入阵列管理员只需要在巡检记录里看到Rebuild状态再找时间更换故障盘即可。没有热备盘的阵列出问题就需要连夜赶去机房。这几年经手的DELL PowerEdge服务器凡是严格按照“选型→配置→巡检”流程跑下来的稳定性和故障恢复速度都比随意装机的要好不少。这篇笔记里的操作步骤和排查手法都是实际验证过的希望帮到你。本文还有配套的精品资源点击获取
返回列表