ARTICLE DETAIL

资讯详情

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

从零搭建Dell R720服务器:RAID配置、CentOS安装与远程管理实战

从零搭建Dell R720服务器:RAID配置、CentOS安装与远程管理实战 1. 项目概述从零到一把机架式服务器跑起来折腾服务器这事儿很多朋友可能都是从云服务器开始的点点鼠标几分钟就能开一台。但当你真正需要处理大量数据、跑一些对I/O和计算有特殊要求的应用或者单纯就是想体验一下“物理机”的掌控感时自己动手搭建一台实体机架式服务器完全是另一种维度的体验。这不仅仅是装个系统那么简单它更像是一次从硬件到软件、从底层配置到上层应用的完整“基建”工程。我这次记录的就是完整搞下来一台二手Dell PowerEdge R720机架式服务器并安装CentOS 7系统的全过程。整个过程踩了不少坑也积累了很多在云服务器上根本学不到的经验比如RAID卡的配置、物理驱动的兼容性、硬件监控管理等等。如果你也对自建物理服务器感兴趣无论是用于家庭实验室、小型工作室的数据处理还是学习企业级运维的基础这篇记录应该能给你提供一份非常详实的参考路线图。2. 硬件选型与前期规划为什么是它在决定自己搭建服务器之前首先要明确需求。我的核心需求有几个一是需要稳定的多核性能来处理编译和模拟任务二是需要大量的内存插槽和较高的内存带宽三是需要灵活的存储扩展能力支持RAID以保障数据安全性和性能四是功耗和噪音不能太离谱毕竟不是放在专业机房。基于这些我最终把目标锁定在了二手的企业级机架式服务器上具体型号是Dell PowerEdge R720。2.1 为什么选择Dell R720这是一个经典的“捡垃圾”选择但在入门级物理服务器领域它几乎是性价比的代名词。R720是戴尔第12代PowerEdge服务器虽然上市有些年头了但其架构如Intel E5 v2系列CPU对于绝大多数学习、开发和中小型应用场景来说性能依然绰绰有余。关键是其市场存量巨大配件丰富且价格低廉社区支持各种教程、固件非常完善。它支持双路E5-2600 v1/v2系列CPU最高可以插满24根DDR3内存条虽然DDR3比DDR4慢但容量可以堆得很高价格便宜并且自带性能不错的硬件RAID卡如PERC H710P。对于我这种主要用来搭建开发测试环境、跑持续集成、做私有云存储原型的场景R720的硬件配置完全过剩但正是这种“过剩”带来了极大的折腾空间和稳定性保障。2.2 硬件配置清单与考量我的这台R720具体配置如下CPU:两颗 Intel Xeon E5-2650 v2 8核16线程总计16核32线程。选择v2而不是v1是因为v2制程更先进功耗和发热控制更好且支持更高的内存频率。对于编译和虚拟化核心数量比单核高频更重要。内存:最初配备了64GB DDR3 ECC REG内存8GB x 8。ECC REG内存能纠正内存错误对于需要长时间稳定运行的服务器至关重要这是普通台式机内存无法比拟的。硬盘:这是重点。机器有8个2.5英寸热插拔硬盘位。我准备了4块硬盘2块 480GB SATA SSD计划做RAID 1用于安装操作系统和关键应用保证系统盘的高可用和读取性能。2块 2TB SATA HDD计划做RAID 1用于存储数据、备份和虚拟机镜像。选择RAID 1镜像而不是RAID 5或0是出于对数据安全性的优先考虑。在家庭或小工作室环境重建RAID 5阵列的风险和耗时较高而RAID 0毫无安全性可言。RAID 1虽然磁盘利用率只有50%但提供了最简单的故障冗余。RAID卡:集成了PERC H710P Mini带512MB缓存。这是一款真正的硬件RAID卡支持RAID 0/1/5/6/10/50/60电池或闪存保护缓存数据性能远优于主板自带的软RAID或HBA卡直通模式。其他:配备了双电源750W、iDRAC 7企业版远程管理卡。iDRAC卡是另一个“神器”它可以让你在浏览器里远程完成开关机、安装系统、查看硬件日志等所有操作就像在机房现场一样。注意购买二手服务器时务必确认关键部件状态。特别是RAID卡电池如果失效RAID卡可能会将缓存写入模式从“WriteBack”性能模式强制降级为“WriteThrough”安全但慢的模式严重影响性能。我的做法是到手后第一件事就是通过iDRAC检查电池健康度并在戴尔支持网站下载了最新固件对BIOS、iDRAC和RAID卡进行了全面更新。3. 核心环节一RAID配置详解对于一台服务器来说存储子系统是性能和可靠性的基石。在安装操作系统之前必须先配置好RAID。这个过程是在服务器启动时通过RAID卡自身的配置界面称为Preboot Configuration Utility完成的。3.1 进入RAID配置界面开机在出现戴尔Logo时迅速按下CtrlR键对于PERC H系列卡。你会进入一个蓝底白字的配置界面。这里会列出所有连接到RAID卡的物理磁盘。3.2 创建虚拟磁盘Virtual Disk我们的目标是将物理磁盘组合成逻辑上的“虚拟磁盘”操作系统只会看到这些虚拟磁盘。在界面中光标移动到“PERC H710P”控制器上按F2选择“Create New VD”创建新虚拟磁盘。选择RAID级别在“RAID Level”选项中选择“RAID-1”。这就是我们为系统盘准备的镜像阵列。选择物理磁盘在下面的磁盘列表中用空格键选中我们准备的两块480GB SSD。确认它们的状态是“Ready”。高级设置关键步骤VD Size:保持默认即全部容量。RAID 1的可用容量就是单块盘的容量。VD Name:可以起个名字比如“SSD_OS”方便日后管理。Strip Size条带大小:对于RAID 1这个参数影响不大。对于SSD通常选择默认的64KB或128KB即可。如果是HDD的RAID 0/5/10这个值对性能影响较大需要根据应用类型大文件还是小文件调整。Read Policy读取策略:选择“Read Ahead”预读。这有利于顺序读取性能对系统启动和加载应用有好处。Write Policy写入策略:这是最重要的设置之一。选择“Write Back”回写。在此模式下数据会先写入RAID卡的高速缓存然后由缓存异步写入磁盘性能最好。前提是RAID卡电池或闪存必须健康能在断电时将缓存数据保护起来。如果电池故障RAID卡会自动切换到“Write Through”直写模式性能下降。Disk Cache Policy磁盘缓存策略:选择“Disabled”。这是为了数据安全。禁用磁盘自身的缓存让RAID卡统一管理数据写入避免因磁盘缓存掉电导致数据丢失。确认所有设置选择“OK”开始创建。阵列初始化会开始这个过程需要一些时间但你可以后台进行不影响我们进行下一步操作。重复上述过程为两块2TB HDD创建另一个RAID 1虚拟磁盘命名为“HDD_Data”。写入策略同样选择“Write Back”。3.3 初始化与后台操作创建完成后虚拟磁盘会显示为“Optimal”最佳状态。初始化Initialization通常会自动开始这是一个将阵列所有扇区置零的过程确保数据一致性。对于大容量硬盘这可能需要数小时。不过你可以在初始化过程中继续安装操作系统因为安装程序只会写入磁盘开头部分与后台初始化不冲突。实操心得很多新手会在这里纠结是否要等初始化完成。实测下来对于新盘在初始化进度达到1-2%后就可以开始安装系统了基本没有风险。安装程序对磁盘的写入量很小。但如果是给已有数据的旧盘重建阵列则必须等待初始化/重建完成。4. 核心环节二操作系统安装与引导配置存储配置好后接下来就是安装Linux系统。我选择的是CentOS 7.9因为它生命周期长、稳定、社区资源丰富非常适合做服务器基础系统。安装媒介是一个制作好的U盘。4.1 制作启动U盘与引导使用Rufus或dd命令将CentOS 7.9的ISO镜像写入U盘。将U盘插入服务器前置USB口。开机按F11进入“Boot Manager”引导管理器。这里会遇到第一个坑服务器可能无法直接识别你的U盘为UEFI设备。情况一在引导列表中看到了“USB Storage Device”且后面有“UEFI”字样直接选择它启动。情况二更常见只看到了“Hard drive C:”或者没有UEFI选项。这时需要进入“System Setup”BIOS设置开机按F2。在“Boot Settings”中将“Boot Mode”从“BIOS”改为“UEFI”如果支持的话。R720是支持UEFI的。将“Secure Boot”暂时禁用。很多Linux发行版对安全启动的支持需要额外步骤先关掉最省事。在“Integrated Devices”中确保“USB Ports”和“Internal USB Port”是启用的。保存退出再次进入Boot Manager。此时应该能看到U盘的UEFI引导项了。4.2 安装过程关键配置成功从U盘启动后进入CentOS图形安装界面。语言和键盘按需选择。安装目的地这是关键步骤。你会看到我们之前创建的两个虚拟磁盘一个约480GBSSD_OS一个约2TBHDD_Data。选择480GB的那个磁盘。分区方案我选择“我要配置分区”手动划分这样更清晰。/boot/efi(EFI系统分区)至少260MB文件系统vfat。UEFI启动必须要有这个分区。/boot1GB文件系统xfs或ext4。存放内核和引导文件。/(根分区)100GB文件系统xfs。CentOS 7默认用xfs性能不错。swap(交换分区)物理内存的1-2倍我这里给了32GB。对于服务器如果内存很大比如超过64GBswap可以适当减小但最好不要没有。/home剩余所有空间文件系统xfs。用户数据和部分应用数据放在这里。注意数据盘HDD_Data在安装阶段不要分区或格式化。我们留到系统安装完成后再手动挂载这样更安全也便于管理。网络和主机名配置一个静态IP地址。服务器最好用固定IP。例如IP:192.168.1.10网关和DNS根据你的网络环境填写。主机名可以设为有意义的名字如server-lab。软件选择为了最小化安装和保持稳定我选择了“最小安装”。图形界面GNOME对于服务器来说完全是负担会占用不必要的资源和引入安全风险。我们完全可以通过SSH命令行管理。设置root密码并创建一个普通用户例如admin并给予其sudo权限。点击开始安装等待完成即可。5. 核心环节三系统初始化与基础加固系统安装完成后重启并登录。第一件事不是急着装应用而是进行系统初始化和安全加固。5.1 配置存储挂载数据盘我们的2TB数据盘还没用上。首先需要找到它。# 查看所有块设备 lsblk # 或使用更详细的命令 fdisk -l你会看到类似/dev/sda系统盘和/dev/sdb数据盘的设备。/dev/sdb应该就是我们创建的2TB RAID 1虚拟磁盘。接下来分区、格式化和挂载# 1. 对数据盘进行分区使用整个磁盘创建一个分区 parted /dev/sdb mklabel gpt parted /dev/sdb mkpart primary xfs 1MiB 100% # 2. 创建文件系统 mkfs.xfs /dev/sdb1 # 3. 创建挂载点 mkdir /data # 4. 临时挂载 mount /dev/sdb1 /data # 5. 配置开机自动挂载 # 首先获取磁盘的UUID blkid /dev/sdb1 # 输出类似/dev/sdb1: UUIDa1b2c3d4-... TYPExfs # 编辑 /etc/fstab 文件 vim /etc/fstab # 在文件末尾添加一行 UUIDa1b2c3d4-... /data xfs defaults 0 0 # 保存退出 # 6. 测试自动挂载是否生效 mount -a df -h | grep /data # 查看是否挂载成功5.2 基础安全设置更新系统sudo yum update -y。这是必须的第一步。配置防火墙CentOS 7默认使用firewalld。sudo systemctl start firewalld sudo systemctl enable firewalld # 放行SSH端口假设是默认22 sudo firewall-cmd --permanent --add-servicessh # 如果你后续要开Web服务如80端口 # sudo firewall-cmd --permanent --add-servicehttp sudo firewall-cmd --reload禁用root远程SSH登录编辑/etc/ssh/sshd_config找到PermitRootLogin yes改为PermitRootLogin no。然后sudo systemctl restart sshd。以后都用普通用户登录再用su -或sudo提权。配置SSH密钥登录在本地电脑生成密钥对ssh-keygen将公钥~/.ssh/id_rsa.pub内容复制到服务器的~/.ssh/authorized_keys文件中。这比密码登录安全得多。设置定时任务Cron进行系统更新和日志轮转可以配置每周自动安全更新。# 编辑root用户的crontab sudo crontab -e # 添加一行每周日凌晨3点更新安全补丁并重启必要服务 0 3 * * 0 yum update --security -y systemctl reboot # 注意自动重启需谨慎生产环境应手动操作。5.3 安装必要工具与管理软件最小安装缺少很多常用工具需要手动安装。# 安装开发工具包、网络工具、进程查看工具等 sudo yum groupinstall Development Tools -y sudo yum install epel-release -y # 安装EPEL扩展仓库 sudo yum install htop net-tools wget curl vim git lsof ncdu tmux -yhtop: 比top更直观的进程监控工具。net-tools: 包含ifconfig等传统网络工具虽然推荐用ip命令但ifconfig更广为人知。ncdu: 磁盘空间分析神器快速找出哪个目录占用了大量空间。tmux: 终端复用器防止SSH连接断开导致任务终止。6. 核心环节四远程管理与监控配置物理服务器放在角落总不能每次都接显示器键盘。完善的远程管理能力至关重要。6.1 iDRAC远程管理卡配置iDRAC是戴尔服务器的带外管理工具即使服务器关机只要插着电源线就能通过网络访问它。它有自己的IP地址。开机按F2进入系统设置找到“iDRAC Settings”。配置“Network”设置一个与业务网络不同的静态IP地址例如192.168.1.200避免冲突。配置子网掩码和网关。配置“User Configuration”创建一个强密码的管理员用户默认用户是root。保存退出。现在你可以在同一局域网的任何电脑的浏览器中输入https://192.168.1.200就能登录iDRAC的Web界面了。在这里你可以远程控制服务器桌面像KVM一样需要安装Java或使用HTML5控制台。远程挂载ISO镜像来安装操作系统。查看详细的硬件状态温度、风扇转速、电压、日志包括预测性故障告警。远程开关机、重启。6.2 操作系统层面的监控在系统内部我们也需要监控其运行状态。安装配置Netdata实时仪表盘Netdata是一个开源的实时性能和健康监控工具安装简单界面炫酷。# 一键安装脚本 bash (curl -Ss https://my-netdata.io/kickstart.sh)安装完成后访问http://服务器IP:19999就能看到一个包含CPU、内存、磁盘、网络、进程等几乎所有指标的实时仪表盘。这对于快速定位性能瓶颈非常有用。日志集中查看使用journalctl命令查看系统日志。# 查看内核日志 sudo journalctl -k # 查看本次启动后的所有日志 sudo journalctl -b # 实时跟踪日志类似tail -f sudo journalctl -f配置日志轮转确保/var/log目录不会因为日志无限增长而占满磁盘。CentOS 7默认使用logrotate配置文件在/etc/logrotate.conf和/etc/logrotate.d/目录下通常无需修改。7. 常见问题与故障排查实录在整个搭建和使用过程中我遇到了不少问题这里记录下最典型的几个及其解决方法。7.1 安装系统时找不到硬盘现象在CentOS安装界面选择安装目的地时列表为空。原因最常见的原因是RAID驱动未加载。CentOS安装镜像可能不包含你特定型号RAID卡如PERC H710P的驱动。解决从戴尔支持网站下载对应你的服务器型号和操作系统版本的.dd格式的RAID卡驱动文件。将其放在另一个FAT32格式的U盘根目录。在安装引导界面选择“Install CentOS 7”后按Tab键编辑启动参数在行尾添加dd然后回车。安装程序会提示你插入包含驱动程序的介质选择你的U盘加载驱动后硬盘就应该出现了。7.2 系统启动缓慢卡在“A start job is running for /dev/disk/by-uuid/...”现象系统启动时长时间等待某个磁盘设备超时默认90秒。原因通常是/etc/fstab中配置了开机挂载的设备通过UUID或/dev/sdX但该设备当前不存在或启动时初始化较慢比如某些USB存储或网络存储。解决在启动时在GRUB菜单按e编辑启动项在linux16开头的行尾添加rd.break或init/bin/bash进入紧急救援模式。重新以读写方式挂载根分区mount -o remount,rw /sysroot然后chroot /sysroot。检查并编辑/etc/fstab将有问题的那一行开头加上#注释掉或者确认UUID是否正确。退出并重启exit然后reboot。更优解对于非关键数据盘可以在/etc/fstab的挂载选项中添加nofail。这样即使磁盘不存在系统也不会等待超时而是跳过它继续启动。例如UUIDxxx /data xfs defaults,nofail 0 0。7.3 iDRAC网页无法访问或卡顿现象能ping通iDRAC的IP但网页打不开或者打开后控制台非常卡。原因iDRAC固件版本过旧存在兼容性问题。浏览器Java插件问题对于旧版iDRAC的虚拟控制台。iDRAC自身资源占用过高或轻微故障。解决升级固件这是首要步骤。去戴尔支持网站下载iDRAC、BIOS、RAID卡等全套固件的最新版本。可以通过iDRAC网页界面的“更新”功能直接上传升级也可以通过制作DOS或Linux启动盘来更新。使用HTML5控制台较新版本的iDRAC固件支持HTML5虚拟控制台无需Java。在iDRAC设置中启用它。重启iDRAC在iDRAC网页界面或服务器开机时按CtrlE进入iDRAC设置找到“重置iDRAC”选项注意不是重置服务器。这相当于给管理卡重启能解决很多小毛病。7.4 RAID阵列状态告警现象服务器前面板黄灯报警或通过iDRAC/操作系统内工具如MegaCli看到阵列状态为“Degraded”降级或“Offline”离线。原因一块或多块物理硬盘故障、掉线或RAID卡电池故障导致缓存策略改变。排查与解决登录iDRAC或开机按CtrlR进入RAID管理界面查看虚拟磁盘和物理磁盘状态。物理磁盘故障如果某块盘显示“Failed”失败需要尽快更换。在支持热插拔的服务器上可以直接拔掉坏盘插入新盘型号容量最好相同。新盘插入后阵列会自动开始“重建”Rebuild此过程可以在后台进行期间阵列处于降级状态但可用。通过iDRAC或MegaCli命令可以监控重建进度。磁盘掉线Foreign状态有时磁盘可能只是临时接触不良或意外掉电显示为“Foreign”外来。可以在RAID管理界面中将该磁盘“导入”或“清除”外来配置然后将其重新加入阵列。操作前务必确认该盘上没有重要数据电池/缓存问题如果阵列状态正常但性能急剧下降检查RAID卡缓存策略。如果从“Write Back”变成了“Write Through”很可能是电池没电了。需要更换RAID卡电池BBU或升级为闪存缓存模块Flash Power Module。重要提示对于生产环境任何RAID相关操作前务必确保有完整、可用的备份。RAID不是备份它主要解决可用性问题。一块盘故障时阵列处于脆弱状态应避免在此期间进行大量数据写入或重启服务器。搭建这台机架式服务器的过程就像完成了一个精细的乐高模型。从硬件清点、RAID规划到系统安装、网络配置再到安全加固和监控部署每一步都需要耐心和细致。它带给我的不仅仅是最终那台嗡嗡作响的“计算怪兽”更是一套完整的、从底层硬件到上层应用的系统性认知。当你能通过一条SSH命令从世界任何角落管理它能通过iDRAC远程给它重装系统能看着监控图表分析它的性能瓶颈时那种掌控感和成就感是租用云服务器无法完全替代的。当然随之而来的电费账单和风扇噪音也是甜蜜的负担。对于真心想深入理解服务器运维、构建稳定可控的私有环境的朋友来说亲手搭建一次绝对是值得的。
返回列表