如何在线更换服务器故障硬盘之定位故障磁盘
nanshan 2025-02-04 15:21 16 浏览 0 评论
前言:
随着上个世纪开始计算机的陆续普及,企业对于数据的安全性要求越来越高;对于业务系统使用的可连续性越来越重视。作为一个为企业提供数据存储方或者是私有云项目的建设方,那么客户的需求就是我们的建设目标,客户聚焦关注的目标就是我们建设方案更新/技术更新的方向。
如果硬盘出现了故障的情况,我们如何在不停机的情况下帮助客户更换硬盘?
其实服务器供应商已经提供了此方法,例如戴尔服务器的IPMI带外管理,浪潮服务器的BMC等都是可以对磁盘进行管理,例如:带外磁盘引导、配置阵列、清除阵列、定位磁盘等。不过,此方法只能针对最近出的新服务器。旧服务器上的带外管理未集成磁盘点亮功能。
那么我们如何定位到故障磁盘盘位进行在线更换老旧设备上的硬盘?
此时需要使用到阵列卡管理命令行工具进行管理。下面将介绍如何定位到故障磁盘,如何添加到阵列卡中。这里使用dell服务器做为此次文章的输出。
1. 安装DELL服务器阵列管理工具perccli
此方法适用于DELL服务器上的所有版本raid卡
1.1. 说明:
软件包名称:perccli.zip
软件包版本:7.1-007.0127、A05
软件包类别:SAS RAID
软件包发布时间:17 5月 2018
此版本软件包已支持PERC H740和H840包括前面版本
戴尔官网下载地址:https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=f48c2
说明:此处下载地址下载的软件包格式为RPM格式安装包,作者已通过fakeroot alien命令将rpm包转换成deb包,可直接解压缩安装
deb包下载路径:https://edisk.eflycloud.com/s/CD44wGDTbGQr32J //下载密码:ruijiang
1.2. 常用命令:
# ./perccli64 /c0/eall/sall show 查看物理硬盘信息列表
# ./perccli64 /c0/vall 查看虚拟磁盘信息列表,即阵列信息
# ./perccli64 /c0 show preservedCache 查看虚拟磁盘丢失信息
# ./perccli64 /c0/fall show all 查看脱机硬盘信息
# ./perccli64 /c0/v11 delete preservedcache 清除控制器0上的虚拟磁盘11的缓存信息
# ./perccli64 /c0/fall delete 清除外来硬盘配置信息
# ./perccli64 /c0/fall import [preview] 导入外来硬盘配置
# ./perccli64 /c0 add vd r0 drives=32:10 wb ra 编号为32:10的硬盘做raid0 (32:10 == EID:Slt)
# ./perccli64 /c0 add vd r5 size=all drives=32:01,32:02,32:03 对应编号3块硬盘做raid5
# ./perccli64 /c0 add vd r1 size=all drives=32:01,32:02 对应编号2块硬盘做raid1 (32:01 == EID:Slt)
1.3. 安装
1、软件包获取:https://edisk.eflycloud.com/s/CD44wGDTbGQr32J //下载密码:ruijiang
2、mkdir -p /opt/MegaRAID/perccli //创建perccli安装目录/opt/MegaRAID/perccli
3、unzip /opt/MegaRAID/perccli/perccli.zip //解压缩
4、dpkg -i /opt/MegaRAID/perccli/Linux/perccli_007.0127.0000.0000-2_all.deb //安装
2. 定位损坏磁盘方位
举例损坏磁盘为:/dev/sdc
2.1. 查看损坏磁盘盘符信息
- 记录对应盘符DID值
/dev/sdc为:[0:0:4:0],对应的DID值为4
root@nodeserver1:/opt/MegaRAID/perccli# lsscsi
[0:0:2:0] disk ATA WDC WDS100T2G0A- 0000 /dev/sda
[0:0:3:0] disk ATA INTEL SSDSC2BB80 0101 /dev/sdb
[0:0:4:0] disk ATA WDC WDS100T2G0A- 0000 /dev/sdc
[0:0:5:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdd
[0:0:6:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sde
[0:0:7:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdf
[0:2:0:0] disk DELL PERC H730 Mini 4.27 /dev/sdg
- 含义
[0:0:4:0] :[controllerID:未知:DID:未知]
2.2. 查询服务器上的raid卡
root@nodeserver1:~# cd /opt/MegaRAID/perccli
root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 show
- 以下查询显示的raid卡只有一张,序号为:0
---------------------
Status Code = 0
---------------------
Status = Success
Description = None
Number of Controllers = 1
Host Name = nodeserver1
Operating System = Linux4.15.0-29-generic
System Overview :
===============
------------------------------------------------------------------------
Ctl Model Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
------------------------------------------------------------------------
0 PERCH730Mini 8 8 1 0 1 0 Opt On 3 N 0 Opt
------------------------------------------------------------------------
Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=DG NotOptimal|VNOpt=VD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Hot Spare
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit
Hlth=Health|Safe=Safe-mode boot
2.3. 查询raid卡下的磁盘
2.3.1. 语法:
- root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c$x/eall/sall show
$x替换成0或者1,可以从上面[2.2]步骤中获取这个值:Status Code = 0/1
2.3.2. 示例:
root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0/eall/sall show
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
-------------------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp
-------------------------------------------------------------------------------
32:0 0 Onln 0 278.875 GB SAS HDD N N 512B ST300MP0026 U
32:1 1 Onln 0 278.875 GB SAS HDD N N 512B AL13SXB300N U
32:2 2 JBOD - 931.0 GB SATA SSD N N 512B WDC WDS100T2G0A-00JH30 U
32:3 3 JBOD - 744.625 GB SATA SSD N N 512B INTEL SSDSC2BB800G7 U
32:4 4 JBOD - 931.0 GB SATA SSD N N 512B WDC WDS100T2G0A-00JH30 U
32:5 5 JBOD - 893.75 GB SATA SSD N N 512B INTEL SSDSC2KB960G8 U
32:6 6 JBOD - 893.75 GB SATA SSD N N 512B INTEL SSDSC2KB960G8 U
32:7 7 JBOD - 893.75 GB SATA SSD N N 512B INTEL SSDSC2KB960G8 U
-------------------------------------------------------------------------------
EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down/PowerSave|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded
其中,关键数值是:
1、EID:EnclosureDevice ID
2、DID:DeviceID
3、SLT:SlotNo
2.3.3. 定位故障磁盘c轴、e轴、z轴坐标
结合步骤[2.1]与[2.3.2]中获取到的信息,最终得出故障磁盘/dev/sdc的坐标为:c0/e32/s4
3. 点亮故障磁盘
3.1. 语法:
- root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c$x/e$y/s%z start locate
3.2. 字符串说明
- c$x = controllerID
- e$y = EID
- s%z = Slt
3.3. 点亮磁盘
root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s4 start locate
Controller = 0
Status = Success
Description = Start Drive Locate Succeeded.
3.4. 此时就能看到磁盘一直闪灯
dell服务器:一直闪灯,亮—->暗—->亮—->暗,持续频闪
4. 关闭磁盘闪灯
确定盘位之后,可以关闭磁盘闪灯,进行磁盘拔出操作
4.1. 执行命令
root@nodeserver1:/opt/MegaRAID/perccli# ./perccli64 /c0/e32/s4 stop locate
Controller = 0
Status = Success
Description = Stop Drive Locate Succeeded.
以上就是关于今天的全部内容,下期将给大家带来《如何在线更换服务器故障硬盘之更换并配置磁盘》,敬请期待~
相关推荐
- 0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)
-
文档编写目的在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。环境介绍:...
- ARM64 平台基于 openEuler + iSula 环境部署 Kubernetes
-
为什么要在arm64平台上部署Kubernetes,而且还是鲲鹏920的架构。说来话长。。。此处省略5000字。介绍下系统信息;o架构:鲲鹏920(Kunpeng920)oOS:ope...
- 生产环境starrocks 3.1存算一体集群部署
-
集群规划FE:节点主要负责元数据管理、客户端连接管理、查询计划和查询调度。>3节点。BE:节点负责数据存储和SQL执行。>3节点。CN:无存储功能能的BE。环境准备CPU检查JDK...
- 在CentOS上添加swap虚拟内存并设置优先级
-
现如今很多云服务器都会自己配置好虚拟内存,当然也有很多没有配置虚拟内存的,虚拟内存可以让我们的低配服务器使用更多的内存,可以减少很多硬件成本,比如我们运行很多服务的时候,内存常常会满,当配置了虚拟内存...
- 国产深度(deepin)操作系统优化指南
-
1.升级内核随着deepin版本的更新,会自动升级系统内核,但是我们依旧可以通过命令行手动升级内核,以获取更好的性能和更多的硬件支持。具体操作:-添加PPAs使用以下命令添加PPAs:```...
- postgresql-15.4 多节点主从(读写分离)
-
1、下载软件[root@TX-CN-PostgreSQL01-252software]#wgethttps://ftp.postgresql.org/pub/source/v15.4/postg...
- Docker 容器 Java 服务内存与 GC 优化实施方案
-
一、设置Docker容器内存限制(生产环境建议)1.查看宿主机可用内存bashfree-h#示例输出(假设宿主机剩余16GB可用内存)#Mem:64G...
- 虚拟内存设置、解决linux内存不够问题
-
虚拟内存设置(解决linux内存不够情况)背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...
- Elasticsearch性能调优(5):服务器配置选择
-
在选择elasticsearch服务器时,要尽可能地选择与当前业务量相匹配的服务器。如果服务器配置太低,则意味着需要更多的节点来满足需求,一个集群的节点太多时会增加集群管理的成本。如果服务器配置太高,...
- Es如何落地
-
一、配置准备节点类型CPU内存硬盘网络机器数操作系统data节点16C64G2000G本地SSD所有es同一可用区3(ecs)Centos7master节点2C8G200G云SSD所有es同一可用区...
- 针对Linux内存管理知识学习总结
-
现在的服务器大部分都是运行在Linux上面的,所以,作为一个程序员有必要简单地了解一下系统是如何运行的。对于内存部分需要知道:地址映射内存管理的方式缺页异常先来看一些基本的知识,在进程看来,内存分为内...
- MySQL进阶之性能优化
-
概述MySQL的性能优化,包括了服务器硬件优化、操作系统的优化、MySQL数据库配置优化、数据库表设计的优化、SQL语句优化等5个方面的优化。在进行优化之前,需要先掌握性能分析的思路和方法,找出问题,...
- Linux Cgroups(Control Groups)原理
-
LinuxCgroups(ControlGroups)是内核提供的资源分配、限制和监控机制,通过层级化进程分组实现资源的精细化控制。以下从核心原理、操作示例和版本演进三方面详细分析:一、核心原理与...
- linux 常用性能优化参数及理解
-
1.优化内核相关参数配置文件/etc/sysctl.conf配置方法直接将参数添加进文件每条一行.sysctl-a可以查看默认配置sysctl-p执行并检测是否有错误例如设置错了参数:[roo...
- 如何在 Linux 中使用 Sysctl 命令?
-
sysctl是一个用于配置和查询Linux内核参数的命令行工具。它通过与/proc/sys虚拟文件系统交互,允许用户在运行时动态修改内核参数。这些参数控制着系统的各种行为,包括网络设置、文件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)