多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

DELL服务器RAID配置与系统安装全攻略

DELL服务器RAID配置与系统安装全攻略 简介面向服务器运维与IT技术支持人员的DELL磁盘阵列配置手册以Dell R900等服务器为实例聚焦RAID制作与操作系统安装全流程。文档逐一剖析RAID0至RAID6共七种级别的实现原理、冗余能力、读写性能、磁盘利用率及适用场合RAID0追求速度但无冗余RAID1镜像结构可靠性高但利用率减半RAID2采用海明码纠错RAID3/4使用专用奇偶校验盘RAID5将校验信息分布在各盘RAID6提供双校验保护对比清晰便于按业务需求选型。同时梳理创建RAID数组、分区格式化、安装系统等关键环节对热插拔、磁盘损坏后的数据重建等注意事项也做了说明。资源为单个docx文档整体仅3.96MB内容紧凑适合随用随查或作为团队内部培训材料。目前已有194人学习下载对需要快速上手DELL服务器存储配置的运维人员具有实用参考价值。1. DELL 服务器先做磁盘 RAID 再装系统为什么这一步最容易被跳过去给一台 DELL PowerEdge 服务器装系统很多人的第一步是直接拿系统 U 盘开装装到磁盘分区那一步才发现阵列卡里还留着上一台机器的旧配置或者干脆看不见盘。所谓“磁盘 RAID 制作与系统安装”就是把物理磁盘先按 RAID 级别组合成逻辑盘再在这个逻辑盘上装操作系统。跳过 RAID 规划的后果很直接单盘跑生产坏一块盘就丢数据不做热备盘阵列重建时只能干等。这篇笔记是给长期维护 DELL 服务器、偶尔帮客户做初始化的运维和集成商看的按“选型 → 配置 → 安装 → 验证”的顺序把整个流程走一遍重点讲参数怎么设、坑在哪、上线前怎么复核。2. RAID 级别与 PERC 阵列卡先选型再动手磁盘阵列不是越高级越好打开阵列卡配置界面之前先回答两个问题这块服务器是做什么业务的数据允许丢失多少RAID 级别不是越高越好也不是性能越快越好它是在冗余、容量和写入性能之间做取舍。DELL 服务器绝大多数用的是 PERC 系列硬件阵列卡型号从 H330、H730 到 H740P/H750性能和功能差异很大。选型错了后面装系统、跑业务都会别扭。2.1 RAID 0/1/5/6/10 在 DELL 服务器上的选型对比先把最常见的几种级别摆在一起看RAID 级别最少盘数可用容量容错能力典型场景RAID 02全部盘容量之和无缓存、临时计算节点不能放重要数据RAID 12单块盘容量坏 1 块盘不丢数据系统盘、小容量关键数据RAID 53总容量减 1 块盘坏 1 块盘不丢数据常规文件存储、视频监控RAID 64总容量减 2 块盘坏 2 块盘不丢数据大容量、重建周期长的场景RAID 104总容量的一半每组镜像坏 1 块数据库、虚拟化、高写入负载系统盘我一般都做 RAID 1两块盘做镜像容量不大但冗余可靠数据盘看写入压力写得多选 RAID 10写读均衡选 RAID 5盘特别大、重建时间特别长就上 RAID 6。RAID 0 不要拿来放生产数据性能是好看坏盘就是全丢别拿“性能好”赌人品。DELL 的入门阵列卡 H330 没有缓存模块RAID 5/6 的写性能会明显吃亏H730/H740P 这类带缓存和电容保护的卡才适合开回写策略。下单新机器的时候阵列卡型号就要想清楚后期升级比前期选型麻烦得多。2.2 开机认盘与阵列卡确认F2 进 System Setup 先看状态拿到机器先别急着插 U 盘。开机按 F2 进入 System Setup找到 Device Settings里面会列出 RAID Controller 的型号常见像 PERC H740P Mini。点进去可以看到 Physical Disks 列表每一块盘的状态是 Online、Ready 还是 Foreign容量多少在哪个槽位一眼就能扫完。这个步骤能解决很多玄学问题有时候你觉得阵列卡坏了其实只是盘处于 Foreign 状态或者有一块盘已经亮黄灯你没注意。顺手做一件事把机器背面的服务标签拍下来一般是 7 位字母数字类似 0F5PHF 这种格式。后面找驱动、查保修、下载阵列卡固件都要靠它别等出了问题再爬进机房抄标签。等系统装好之后也可以用系统命令反查阵列卡型号# 查看系统识别到的 RAID 控制器型号 lspci | grep -i raid # 输出类似RAID bus controller: LSI Logic / Symbios Logic MegaRAID SAS-3 3108lspci 这条命令在 Linux 系统里通用主要用来做装机后的复核确认系统识别到的阵列卡和硬件标签一致。如果输出为空先考虑是不是内核没加载阵列卡驱动而不是急着判断硬件坏了。2.3 CtrlR 与 Device Settings两条进 RAID 配置界面的路配置 PERC 阵列卡有两条常见路径。老一代机器开机自检时屏幕下方会提示 Press CtrlR to enter configuration utility按 CtrlR 就能进阵列卡 BIOS 界面这种方式在 BIOS/Legacy 引导模式下最顺手。新一代机器默认 UEFI 引导CtrlR 不一定弹出来更靠谱的是开机按 F2 进 System Setup再进 Device Settings选择对应的 RAID Controller同样能进入配置界面。两条路径进去看到的菜单结构基本一致都是 VD Mgmt虚拟磁盘管理和 PD Mgmt物理磁盘管理。注意一个细节如果你找不到 CtrlR 入口别反复重启硬试先进 F2 看引导模式是不是 UEFI。DELL 从 13 代开始逐步默认 UEFI很多老手在 R740/R750 上按 CtrlR 没反应不是机器坏了而是入口变了。F10 进入 Lifecycle Controller 也能做 RAID 配置但对新手来说不如 F2/CtrlR 直观我一般建议首次部署走 F2 路径少走弯路。3. 创建虚拟磁盘的具体步骤从清空旧配置到设置热备盘阵列卡配置界面里最核心的操作用一个流程就能说清先清掉可能存在的旧配置再创建新的虚拟磁盘最后确认初始化完成。很多人买的是二手服务器或者替客户接手老机器一进去就看到一堆 Foreign Configuration这时候千万别直接创建先处理旧配置。3.1 清掉 Foreign 配置不要让上一台机器的配置干扰新系统进入 VD Mgmt 界面如果看到 Foreign Config 之类的提示说明阵列卡里有一组来自其他机器的 RAID 配置可能是上一任业务的数据也可能是盘换了机器。操作顺序是先把光标移到控制器上按 F2选择 Foreign Config然后选 Import 或者 Clear。Import 是把外来配置导入并尝试恢复数据Clear 是彻底清掉。只有两种情况下选 Clear一是确认旧数据不需要二是已经用其他方式备份过了。对着一块不明确来源的盘手滑 Clear数据恢复基本没戏这是最典型的“后悔药没得吃”场景。清完之后再看 Physical Disks所有盘应该回到 Ready 或 Unconfigured Good 状态这表示它们可以拿来创建新的虚拟磁盘了。顺便说一句如果机器的阵列卡里已经有一个没人认识的 RAID 5而你又不知道是哪个业务在用先把机器断电确认归属再动配置别急着清。装完系统之后也可以用命令行工具复核阵列卡状态。PERC 卡常用的工具是 perccli在 Linux 系统里需要单独安装# 查看控制器信息和当前所有虚拟磁盘状态 perccli /call show all # 查看所有物理磁盘的详细状态 perccli /call/eall/sall show all第一条命令查看控制器型号、固件版本、虚拟磁盘数量和状态是否 Optimal第二条命令逐盘查看物理盘状态、盘位和容量。习惯上我会在交付前跑一遍把输出留档方便以后故障时对照。perccli 这个工具要到阵列卡厂商或服务器厂商的支持页面按服务标签去获取不要在来路不明的站点下载。3.2 新建 RAID 虚拟磁盘以 RAID 1 为例把六个参数逐一调好清完旧配置就可以创建新虚拟磁盘了。在 VD Mgmt 界面选中控制器按 F2选 Create New VD然后开始配置。以最常见的系统盘 RAID 1 为例界面里需要确认的参数有这些参数推荐值说明RAID LevelRAID 1系统盘首选冗余和性能平衡Select Drives勾选 2 块同容量盘按盘位勾选别选错槽位VD Size默认全部容量只有一块逻辑盘时直接全部Strip Size64 KB随机读写场景更通用Read PolicyRead Ahead连续读取优化适合系统启动Write PolicyWrite Back必须确认有电池/电容保护才开InitializeFast Init快速初始化后台再补全先说重点Write Policy 这个参数直接影响数据安全。Write Through 是直写数据直接落盘安全但慢Write Back 是回写数据先进阵列卡缓存再落盘性能明显好但依赖电池或电容模块。如果阵列卡没有缓存保护模块或者电池状态是 Failed/Charging强行开 Write Back 等于在断电时丢数据。判断方法是在配置界面看 Battery 状态正常显示 Optimal 才建议开 Write Back。新机器到手我一般先开 Write Through 装系统装完确认电池状态正常再切成 Write Back。勾选磁盘的时候注意盘位。界面上每一块盘会显示 Slot 编号和容量建议先按背板标签确认物理槽位再勾选不要只看容量。系统盘 RAID 1两块盘最好同型号同批次混用不同转速的盘会导致性能被拉低。Initialize 参数也容易忽略如果创建时不勾选初始化VD 状态可能是 Not Initialized系统能看到盘但分区时可能报错后面排查章节会专门讲。3.3 热备盘与初始化把灾难恢复能力提前补上RAID 1 建好之后如果机器还有空余盘位建议再加一块热备盘。在 VD 界面按 F2选择 Add Hot Spare可以指定 Dedicated专属热备或者 Global全局热备。全局热备盘会替所有虚拟磁盘待命专属热备只服务指定的那个 VD。热备盘平时完全不参与读写状态是 Hot Spare一旦阵列里某块物理盘挂了它自动顶上并开始重建不用等人工半夜去机房换盘。对于 RAID 5 和 RAID 10热备盘更值得配。RAID 5 坏一块盘后进入降级状态重建期间如果再坏一块就数据全丢有热备盘能大幅缩短危险窗口。创建 RAID 5 的时候最少选 3 块盘RAID 10 选 4 块容量尽量一致。初始化这里再强调一次创建 VD 时如果只做了快速初始化Fast Init系统安装阶段能用但后台初始化还在跑刚装完系统的一两个小时里磁盘性能会偏低属正常现象别误判成硬件问题。完整初始化Full Init耗时很长适合业务上线前有时间窗口的机器。4. 系统安装与 U 盘引导DELL 服务器从启动项到驱动注入RAID 逻辑盘建好接下来的主题是系统安装。这里涉及三个常见操作点做启动 U 盘、从 F11 进启动菜单、以及安装时找不到 RAID 磁盘的驱动问题。DELL 服务器在这三步里的表现和普通 PC 不太一样引导模式选错、驱动没注入都会让安装卡在莫名其妙的地方。4.1 制作启动 U 盘并确认引导模式UEFI 还是 Legacy制作系统安装 U 盘Windows 下我用 Rufus选择 GPT 分区方案加 UEFI 模式Linux 下直接用 dd 写镜像。这里容易踩坑iso 文件要写到 U 盘整盘设备不是某个分区。先用 lsblk 确认 U 盘设备名# 查看当前系统里的磁盘布局确认U盘是 /dev/sdb 还是 /dev/sdc lsblk # 把CentOS官方ISO写入U盘bs4M提高写入效率 sudo dd if/path/to/CentOS-7-x86_64-Minimal-2009.iso of/dev/sdb bs4M statusprogress synclsblk 的作用是先看清哪些是硬盘、哪些是 U 盘避免把数据盘冲掉。dd 命令里 of 参数后面必须跟 /dev/sdb 这种整盘设备如果写成 /dev/sdb1写入会失败或者 U 盘无法引导。statusprogress 可以实时显示写入进度写完后 sync 确保缓存落盘。注意 dd 写出来的 U 盘会清空原有所有内容操作前别插错盘。引导模式也要提前想好。新装系统优先 UEFI 加 GPT 分区CentOS 7 和 Ubuntu Server 都支持如果是给老业务装 Windows Server 2012 R2 或者老版本 CentOS可能需要 Legacy BIOS 加 MBR。DELL 服务器的引导模式在 F2 的 System BIOS Settings 里设置改成 UEFI 还是 BIOS 会影响后续从 U 盘启动的方式。改完发现 U 盘启动不了优先检查这里而不是反复重做 U 盘。4.2 从 F11 进入启动菜单U 盘装 CentOS/Ubuntu 的最小流程DELL 服务器从 U 盘启动最直接的方式是开机按 F11进入一次性启动菜单选择 U 盘对应的启动项。T130 这类塔式服务器同样适用开机看到 DELL Logo 时连续按 F11菜单里会列出 UEFI: USB Partition 1 或者 USB 字样。如果列表里没有 U 盘先回 F2 确认引导模式对不对UEFI 模式下只显示 UEFI 引导的设备Legacy 模式下只显示 BIOS 可引导设备两边不互通。进入安装界面之后CentOS 和 Ubuntu 的基本流程类似选语言、配置网络、进入 Installation Destination 磁盘选择界面。正常情况下这里能看到一块或几块磁盘容量等于你刚才创建的硬盘 RAID 逻辑盘容量。选中它会提示“将数据写入磁盘”CentOS 里可以手工配置分区和挂载点。我的常用分区方案是UEFI 引导时先建 200M 的 /boot/efi再给 1G 的 /bootswap 根据内存大小给剩余全部给 /。手工分区会触发“格式化磁盘并挂载”的操作安装器会写分区表、格式化成 xfs 或 ext4 并挂载到对应目录。如果没有特殊需求直接用自动分区也能跑只是后续扩容时要自己重新规划。4.3 安装时找不到 RAID 磁盘驱动注入是主要解法安装界面里如果磁盘列表为空只剩 U 盘这是 DELL 服务器装系统最典型的卡点。原因通常是阵列卡型号较新系统内核里没有对应驱动常见于 CentOS 7 配 H740P/H750或者第三方阵列卡配合老版本系统。解决方法是给安装器加载驱动也就是常说的驱动注入。做法是到 DELL 支持页面按机器服务标签搜索下载对应阵列卡的 Linux 驱动镜像一般是 .iso 格式。把这个驱动放到 U 盘里重新启动进入安装引导界面按 Esc 或 Tab 编辑启动参数在启动命令后面加上 linux dd选择加载驱动盘。加载成功后再回到磁盘选择界面RAID 逻辑盘就会出现。Ubuntu Server 20.04 之后的内核自带了不少常见阵列卡驱动识别率明显更高CentOS 7 对太新的阵列卡就需要提前准备驱动。之前有个同行说自己的卡是 5350-8i 这类第三方阵列卡装 CentOS 7 怎么都找不到盘最后也是用驱动注入解决的。排查时先确认 VD 是 Optimal 且物理盘是 Online再去折腾驱动顺序反了会白费功夫。5. 磁盘 RAID 与系统安装的常见问题排查四条必看的记录这个方向上的问题翻来覆去就那么几类但每一条都足够让新手急出一身汗。按“现象 → 原因 → 解决”的格式把常见问题捋一遍能少走很多弯路。5.1 安装界面找不到磁盘但阵列卡里 VD 明明存在现象安装程序磁盘列表为空只能看到 U 盘进阵列卡配置界面却发现虚拟磁盘状态是 Optimal。原因最常见的是阵列卡驱动没加载其次是 VD 虽然存在但物理盘处于 Foreign 状态阵列卡没有把逻辑盘正常交给系统还有一种情况是快速初始化还没完成系统识别不到可用容量。解决先回阵列卡界面确认 VD 状态是否为 Optimal物理盘是否 Online如果有 Foreign 配置先 Import 或 Clear确认无误后再做驱动注入。操作顺序很重要很多问题其实在阵列卡侧不在系统侧别一上来就折腾驱动。如果用的是第三方阵列卡优先去对应厂商支持页面下载驱动DELL 原生 PERC 卡直接按服务标签找驱动即可。5.2 Windows 磁盘管理里RAID 逻辑盘出现黄色感叹号现象系统装完了Windows Server 磁盘管理里能看到逻辑盘但磁盘下方有一个黄色感叹号状态显示未知或不可读Linux 里对应的 dmesg 也时不时报 I/O 错误。原因大概率不是盘坏了而是阵列卡写缓存策略降级。很多阵列卡在电池或电容模块没有充电完成、状态为 Failed 时会自动把 Write Back 策略降级为 Write Through甚至让 VD 状态变得不健康。驱动版本太旧也会有类似表现。解决进阵列卡管理界面看 Battery 或电容模块状态如果是充电中等它恢复 Optimal确认电池正常后把 VD 的 Write Policy 改回 Write Back。再看系统里阵列卡驱动是否需要更新。遇到感叹号先不要怀疑坏盘也别急着重新做阵列先看缓存策略状态。5.3 系统能装但分区或格式化时提示磁盘未初始化现象CentOS 安装时选中 RAID 盘点进去想分区提示磁盘没有可用空间或者“磁盘未初始化”Windows 安装器里显示无法在磁盘上创建分区。原因创建 VD 时没有执行 Initialize或者只做了快速初始化又很快被安装器读取后台初始化还没完成导致分区表写不进去。解决回到阵列卡配置界面选中 VDF2 选择 Initialize执行 Fast Init。等待界面提示初始化完成后再重新进入安装程序。如果机器已经装完系统才发现可以在操作系统的磁盘管理工具里把磁盘重新初始化为 GPT但这样会清空数据不如在阵列卡界面早做。5.4 硬盘故障后换盘RAID 反而直接 Offline现象一块物理盘亮红灯拔下来换了新盘插回去阵列卡提示 Foreign Config 或者 VD Offline整个逻辑盘都不可用业务彻底挂了。原因拔盘前没有记录盘位顺序插回去时换了槽位或者新旧盘容量、转速不一致阵列卡不承认这块盘。RAID 5 在降级状态下如果再误拔一块盘可能直接触发 Offline。解决换盘之前先把背板盘位和阵列卡里的 Slot 编号对应拍下来新盘尽量同型号同容量。插回后如果提示 Foreign选择 Import 而不是 Clear让阵列卡重新接管配置。更稳妥的办法是在平时就配好热备盘让阵列自动顶替故障盘人工只管换盘不需要触发手动重建这个习惯能避免大部分人为失误。6. 上线前用 smartctl 和阵列卡日志双重复核最后一关别省系统装完重启进入系统不要急着交付。我习惯按四个步骤做一次全流程复核先在阵列卡配置界面确认虚拟磁盘状态是 Optimal写策略是 Write Back热备盘处于 Hot Spare再进系统确认逻辑盘容量和分区然后用 smartctl 检查物理盘健康状态最后做一次简单读写测试记录初始基线。# 查看系统识别到的逻辑盘和文件系统分区 lsblk -f # 从系统读取第一块逻辑盘的SMART健康状态 smartctl -a /dev/sda | grep -E SMART overall|Model Family|Serial number # 做一次短自检适合交付前确认盘体健康 smartctl -t short /dev/sdalsblk 用来确认 RAID 逻辑盘容量和挂载点符合预期smartctl 输出里重点看 SMART overall-health 是不是 PASSED。需要注意在 RAID 逻辑盘上 smartctl 不一定能读到每一块物理盘的 SMART 状态这取决于阵列卡是否开启了 SMART 直通如果读不到就去阵列卡管理界面看物理盘健康别把逻辑盘的返回结果当成全部盘的结论。-t short短自检大概两分钟能出结果期间磁盘 IO 略有负载不要在业务高峰做。做完这些把机器服务标签、RAID 级别、盘位顺序、写策略、系统版本和分区方案写进交付记录。我的习惯是留一份到共享文档换盘、扩容、重建时全靠这张底稿能省掉很多半夜往返机房的精力。这套流程是我做服务器运维几年攒下的血泪经验中间每一步都有对应的坑照着走至少不会在交付后第三天被客户喊去处理磁盘报警。希望帮到你。本文还有配套的精品资源点击获取
返回列表