我有 OpenFiler 存储服务器。
在不安装 Windows 和 MSM 的情况下,我想从磁盘 2 到 21 创建 raid10 阵列。
我已经成功将 MegaCli 安装到 OpenFiler,但我仍在寻找创建 raid 10 阵列的正确命令行。
文档说创建 raid 10 的语法是:
MegaCli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN
我的机柜 ID 是 25,因此:
[root@linux-h5ut ~]# MegaCli -CfgSpanAdd -r10 -Array0[E25:S02,E25:S21] -Array1[E25:S02,E25:S21] WB Cached NoCachedBadBBU -a0
Invalid input at or near token E
我已经在 Google 上搜索过了,但似乎没有任何使用 megaraid 执行 raid10 的例子(只有语法)。
谁能解释一下哪里出了问题?
答案1
响应 a 创建 Raid 10(不是 Raid 6)
首先获取适配器
# MegaCli Adpallinfo -aall | grep '^Adapter' Adapter #0
MegaCli 或 megacli 取决于发行版 *nix
在这种情况下适配器是
Adapter #0
获取设备ID和插槽盘值:
# MegaCli64 -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:' Enclosure Device ID: 252 Slot Number: 0 Enclosure Device ID: 252 Slot Number: 1 Enclosure Device ID: 252 Slot Number: 2 Enclosure Device ID: 252 Slot Number: 3
在这种情况下,ID 为 252
根据梅加克利 创建 RAID 10 的命令是
MegaCli -CfgSpanAdd -r10 -Array0[E:S,E:S] -Array1[E:S,E:S] -aN
MegaCli -CfgSpanAdd -R10 -Array0[252:0,252:2] -Array1[252:1,252:3] -a0
在这种情况下,创建 RAID 10,使用磁盘 0 和 2 为 Raid1 创建其中一个阵列,使用磁盘 1 和 3 为 Raid1 创建另一个阵列,并且 N = 0(-a0)
验证 RAID
# megasasctl a0 LSI MegaRAID SAS 9271-4i encl:1 ldrv:1 batt:FAULT, low voltage, charge failed a0d0 1489GiB RAID 10 2x2 optimal a0e252s0 745GiB a0d0 online a0e252s1 745GiB a0d0 online a0e252s2 745GiB a0d0 online a0e252s3 745GiB a0d0 online
或者如果
megasasctl
不可用:# MegaCli -LDInfo -Lall -aALL Adapter 0 -- Virtual Drive Information: Virtual Disk: 0 (Target Id: 0) Name: RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0 Size:1.454 TB State: Optimal Stripe Size: 256 KB Number Of Drives per span:2 Span Depth:2 Default Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU Current Cache Policy: WriteBack, ReadAhead, Direct, No Write Cache if Bad BBU Access Policy: Read/Write Disk Cache Policy: Enabled Encryption Type: None
答案2
您没有理解手册页。E25:S02 - 它就像应该具有 int 值的变量。您所需要的:
1.获取适配器ID(在我的示例中为0):
root@sto# megacli Adpallinfo -aall | grep '^Adapter'
Adapter #0
2.获取E和S值:
megacli -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:'
你会得到类似这样的结果:
Enclosure Device ID: 20
Slot Number: 0
Enclosure Device ID: 20
Slot Number: 1
Enclosure Device ID: 20
Slot Number: 2
Enclosure Device ID: 20
Slot Number: 3
Enclosure Device ID: 20
Slot Number: 4
这是您的 E 和 S 号码,例如 20:0、20:1、20:2、20:3、20:4 因此,创建例如 RAID6 的命令将是:
megacli -CfgLdAdd -r6 [20:0,20:1,20:2,20:3,20:4] -a0
答案3
我用过它(几个月前创建了 raid 50):
megacli -CfgSpanAdd -r50 -Array0[252:2,252:3,252:4] Array1[252:5,252:6,252:7] WB RA Direct CachedBadBBU -a0
IBM x3560 和:
Product Name : ServeRAID M5015 SAS/SATA Controller
Serial No : SV14018726
FW Package Build: 12.13.0-0179
答案4
似乎我应该不是使用 E 和 S 字母。
一开始我明白正确地并尝试了无字母操作但也得到了无效令牌错误因为我使用的是-aALL而不是-a0(“如果你只有一个控制器,可以安全地使用 ALL,而不是特定的 ID"),然后读取这站点上显示“E 是驱动器所在的机箱设备 ID,S 是插槽号”,因此得出结论,我应该用实际 ID 替换 E 和 S。:(