Skip to content

megacli_create_del_raid0

遇见王斌 edited this page Oct 16, 2017 · 4 revisions

在线创建与删除 raid0

1 创建前准备

用 MegaCli 做阵列,最重要是就是这三个系数:

Adapter #0
Enclosure Device ID: 32
Slot Number: 0

分别代表了 -PhysDrv[E0:S0,E1:S1,...] -aN #物理磁盘的 enclosure 号:slot 号 -a 是阵列卡号

这些参数可以通过下面的命令得到。

查看阵列卡信息

$/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL

查看所有物理硬盘状态

$/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0

查看逻辑盘详细信息

$/opt/MegaRAID/MegaCli/MegaCli64 -LdPdInfo -aALL

查看单个盘的详细信息

# /opt/MegaRAID/MegaCli/MegaCli64 -pdInfo -PhysDrv[32:3] -aALL
Adapter 0: Device at Enclosure - 32, Slot - 3 is not found.

像我新增加的硬盘就是 [32:2]

2 创建 raid0

2.1 对外来配置进行处理

新插入的磁盘之前做过 raid 的话,需要对外来配置进行处理

这里我的硬盘被标记为“Foreign”外来配置,要清除一下,不然会报下面这个错误:

The specified physical disk does not have the appropriate attributes to complete
the requested command.
Exit Code: 0x26

扫描外来配置的个数:

# /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00

清除外来配置:

# /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -clear -a0
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00

再次扫描外来配置的个数:

# /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0
There is no foreign configuration on controller 0.
Exit Code: 0x00

2.1 创建 Raid0

有 BBU(备用电池时)

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0[8:15] WB RA Direct NoCachedBadBBU -strpsz256 -a0 -Nolog

没有BBU(备用电池时)

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd -r0[8:15] WT RA Direct NoCachedBadBBU -strpsz256 -a0 -Nolog

参数 [WT|WB] [NORA|RA|ADRA] [Direct|Cached] [CachedBadBBU|NoCachedBadBBU]

第一部分[WT|WB]:

  • WriteBack:写缓存策略
  • WriteThrough:直接写入磁盘,不使用RAID卡缓存。

第二部分[NORA|RA|ADRA]:

  • ReadAheadNone:不开启预读
  • ReadAhead:开启预读,在读操作的时候,预先把后面顺序的数据载入raid卡缓存,在顺序读的环境中能提供很好的性能,但是在随机读的环境中反而降低读的性能(适合文件系统,不适合数据库系统)
  • ReadAdaptive:自适应预读,在缓存和I/O空闲时选择预读,默认策略。

第三部分[Direct|Cached]:

  • Direct:读操作不缓存到RAID卡缓存。【默认配置】
  • Cached:读操作缓存到RAID卡缓存。

第四部分:如果BBU(电池)出现问题是否启用Write Cache [CachedBadBBU|NoCachedBadBBU]

  • No Write Cache if Bad BBU:如果BBU出现问题不使用Write Cache,从WriteBack自动切换到WriteThrough,默认配置。
  • Write Cache OK if Bad BBU: 如果BBU出现问题仍启用Write Cache,这种配置是非常不安全的,除非是有UPS或者双电源的情况下。

3 删除 raid0

3.1 删除阵列:

# /opt/MegaRAID/MegaCli/MegaCli64  -cfglddel  -L0 -a0

删除指定的 raid 组 (Target Id: 0) 的 raid 组,可以通过上面的“查看逻辑盘详细信息”得到。

查看硬盘的重建情况:

# /opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ProgDsply -PhysDrv [12:7] -aALL
Device(Encl-12 Slot-7) is not in rebuild process