exsi系统使用storcli重组raid阵列(不停机)

注意:不是不停虚拟机,只是不停esxi系统。以下操作需要把全部虚拟机迁移备份到别的存储设备并挂载到exsi并重新运行。好处就是不需要一次性全部虚拟机都停了。

起因:以前同事扩容的两块硬盘没有加到raid5里面,应该是直接插入了6,7两块硬盘就直接用esxi向现有VMFS扩容,所以我现在只能备份后重组raid了,本来想重组raid6的,结果raid卡PERC H330不支持,因为只有一台机,只能说弄个raid5灾备盘,区别就是实际还是只能坏一块盘,但是坏了后会用热备盘自动修复,最重要是,运气不好在自动重组过程坏了,如果只有一台机,数据比较重要还是要用raid6。

c 复制代码
32:0      0 Onln   0 446.625 GB  	← 属于DG 0
32:1      1 Onln   0 446.625 GB  	← 属于DG 0
32:2      2 Onln   1   3.637 TB  	← 属于DG 1
32:3      3 Onln   1   3.637 TB  	← 属于DG 1
32:4      4 Onln   1   3.637 TB  	← 属于DG 1
32:5      5 Onln   1   3.637 TB 	← 属于DG 1
32:6      6 JBOD   -   3.638 TB  	← 无DG
32:7      7 JBOD   -   3.638 TB  	← 无DG

1、基本概念

物理磁盘 (Physical Drives)

驱动器组 (Drive Group - DG) ← 物理磁盘的逻辑分组(raid)

虚拟驱动器 (Virtual Drive - VD) ← 操作系统看到的"硬盘"(分区)

分区和文件系统

状态 全称 中文 含义

Onln Online 在线 磁盘在线,正常工作

Offln Offline 离线 磁盘离线,不可用

UGood Unconfigured Good 未配置好盘 磁盘正常但未配置到RAID

UBad Unconfigured Bad 未配置坏盘 磁盘损坏,未配置

DHS Dedicated Hot Spare 专用热备 专用于特定阵列的热备盘

GHS Global Hot Spare 全局热备 可用于所有阵列的热备盘

JBOD Just a Bunch Of Disks 直通模式 磁盘直通给操作系统

Rbld Rebuild 重建中 正在重建数据

Sntze Sanitize 安全擦除 正在进行安全擦除

1、查看物理磁盘信息

bash 复制代码
./storcli64  /c0 show
./storcli64  /c0 /eall /sall show

0/0   RAID1 Optl  RW     Yes     NRWTD -   OFF 446.625 GB  ← VD 0 基于 DG 0
1/1   RAID5 Optl  RW     Yes     NRWTD -   OFF  10.914 TB  ← VD 1 基于 DG 1

32:0      0 Onln   0 446.625 GB  	← 属于DG 0
32:1      1 Onln   0 446.625 GB  	← 属于DG 0
32:2      2 Onln   1   3.637 TB  	← 属于DG 1
32:3      3 Onln   1   3.637 TB  	← 属于DG 1
32:4      4 Onln   1   3.637 TB  	← 属于DG 1
32:5      5 Onln   1   3.637 TB 	← 属于DG 1
32:6      6 JBOD   -   3.638 TB  	← 无DG
32:7      7 JBOD   -   3.638 TB  	← 无DG

2、删除现有RAID配置

bash 复制代码
1、当前虚拟驱动器列表:"
./storcli64 /c0/vall show
···
Controller = 0
···
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name
---------------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     NRWTD -   OFF 446.625 GB
1/1   RAID5 Optl  RW     Yes     NRWTD -   OFF  14.552 TB RAID5_DATA
···
2、删除虚拟驱动器VD1,也就是原来的raid5阵列,c0是Controller = 0,v1是VD编号(别照抄,看好执行!!)
./storcli64 /c0/v1 delete force
3. 验证删除结果
./storcli64 /c0/vall show
4. 重置RAID5相关的磁盘状态/修改jbod模式为UG模式:
./storcli64 /c0/e32/s2 set good force
./storcli64 /c0/e32/s3 set good force
./storcli64 /c0/e32/s4 set good force
./storcli64 /c0/e32/s5 set good force
./storcli64 /c0/e32/s6 set good force
./storcli64 /c0/e32/s7 set good force

3、创建RAID5阵列

bash 复制代码
1、检查要使用的磁盘状态是否为UGood	:
./storcli64 /c0/e32/sall show | grep -E "32:[2-7]"
2、创建raid5(参数自己改)
./storcli64 /c0 add vd r5 name=RAID5_DATA drives=32:2,32:3,32:4,32:5,32:6 strip=64 wt direct AfterVd=0
3、7号盘做热备
./storcli64 /c0/e32/s7 add hotsparedrive
4、查看物理磁盘信息
./storcli64  /c0 show
---------------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name
---------------------------------------------------------------------
0/0   RAID1 Optl  RW     Yes     NRWTD -   OFF 446.625 GB
1/1   RAID5 Optl  RW     Yes     NRWTD -   OFF  14.552 TB RAID5_DATA
---------------------------------------------------------------------
------------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model            Sp Type
------------------------------------------------------------------------------
32:0      0 Onln   0 446.625 GB SATA SSD N   N  512B HFS480G3H2X069N  U  -
32:1      1 Onln   0 446.625 GB SATA SSD N   N  512B HFS480G3H2X069N  U  -
32:2      2 Onln   1   3.637 TB SAS  HDD N   N  512B ST4000NM017A     U  -
32:3      3 Onln   1   3.637 TB SAS  HDD N   N  512B ST4000NM017A     U  -
32:4      4 Onln   1   3.637 TB SAS  HDD N   N  512B ST4000NM017A     U  -
32:5      5 Onln   1   3.637 TB SAS  HDD N   N  512B ST4000NM017A     U  -
32:6      6 Onln   1   3.637 TB SAS  HDD N   N  512B ST4000NM001B     U  -
32:7      7 GHS    -   3.637 TB SAS  HDD N   N  512B ST4000NM001B     U  -
------------------------------------------------------------------------------

4、查看后台初始化时间(Not in progress表示结束),没结束也能用

bash 复制代码
./storcli64 /c0/v1 show all | grep -E "State|Init"
./storcli64 /c0/v1 show bgi
./storcli64 /c0/e32/sall show rebuild
./storcli64 /c0/vall show migrate
-----------------------------------------------------------
VD Operation Progress% Status          Estimated Time Left
-----------------------------------------------------------
 0 Migrate   -         Not in progress -
 1 Migrate   -         Not in progress -
-----------------------------------------------------------

5、重新扫描存储设备

bash 复制代码
esxcli storage core adapter rescan --all

常见问题1:重组raid后文件系统未发现磁盘,无法扫描到raid阵列

原因:虚拟机的CD/DVD 驱动器 仍然暂用旧设备的路径,一直没没改

1、重启应该可以解决问题

2、全部换成新路径

排查命令:

bash 复制代码
esxcli storage core device list | grep -E "Display Name|Size"
   Display Name: Local DELL Disk (naa.6b07b250ef3547002917cc4e15240023)
   Has Settable Display Name: true
   Size: 11444736
   Queue Full Sample Size: 0
   Display Name: Local SEAGATE Disk (naa.5000c500f8d79397)
   Has Settable Display Name: true
   Size: 3815447
   Queue Full Sample Size: 0
   Display Name: Local PLDS CD-ROM (mpx.vmhba1:C0:T7:L0)
   Has Settable Display Name: false
   Size: 0
   Queue Full Sample Size: 0
   Display Name: Local SEAGATE Disk (naa.5000c500f8d79c7f)
   Has Settable Display Name: true
   Size: 3815447
   Queue Full Sample Size: 0
   Display Name: Local DELL Disk (naa.6b07b250ef3547002917cc2b130c1715)
   Has Settable Display Name: true
   Size: 457344
   Queue Full Sample Size: 0
esxcli storage core device world list -d naa.6b07b250ef3547002917cc4e15240023
Device                                World ID  Open Count  World Name
------------------------------------  --------  ----------  ----------
naa.6b07b250ef3547002917cc4e15240023   3551822           1  vmm0:服务器03
naa.6b07b250ef3547002917cc4e15240023   4000447           1  vmm0:服务转发
naa.6b07b250ef3547002917cc4e15240023   4688909           1  vmm0:Linux_Test1(CF)
naa.6b07b250ef3547002917cc4e15240023   6434891           1  vmm0:Qwen3-0.6B
相关推荐
睡不醒男孩0308231 小时前
第四篇:数据库国产化与信创替代的守护者:基于CLup的异构数据库一站式运维平台构建
运维·数据库·金融·clup·中启乘数
极客先躯1 小时前
高级java每日一道面试题-2026年02月04日-实战篇[Docker]-如何在容器之间共享数据?
java·运维·网络·docker·容器·自动化·高级面试题
Android系统攻城狮1 小时前
Linux Pulseaudio深度解析之pa_context_set_sink_mute_by_index用流程与实战(四十七)
linux·运维·服务器·音频进阶·pulseaudio进阶
木白CPP2 小时前
aarch64-linux-gnu* (gcc,ld,objcopy,objdump)工具总结
linux·运维·gnu
A.说学逗唱的Coke2 小时前
【运维专题】playbooks保姆级使用指南
运维·开发语言·python
豆是浪个2 小时前
Linux(Centos 7.6)命令详解:xargs
linux·运维·服务器
shchojj2 小时前
gitlab推送触发jekins编译
运维·gitlab
Java开发追求者2 小时前
oracle解决服务器正常使用但是互联网无法使用问题
运维·服务器·ora-12154·windows监听问题·oracle互联网无法访问
日取其半万世不竭2 小时前
Palworld《幻兽帕鲁》 服务器搜不到怎么办?端口和防火墙排查清单
运维·服务器