Hen*_*nno 8 raid megaraid raid10 megacli
我有 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
Run Code Online (Sandbox Code Playgroud)
我的机箱 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
Run Code Online (Sandbox Code Playgroud)
我在谷歌上搜索了高低,但似乎没有任何例子用 megaraid 做 raid10(只有语法)。
任何人都可以解释什么是错的?
响应 Create Raid 10(不是 Raid 6)
首先获取适配器#
# MegaCli Adpallinfo -aall | grep '^Adapter'
Adapter #0
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,ID 全部为 252
根据 用于创建 RAID 10 的MegaCli命令,它是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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,创建一个 RAID 10,为具有磁盘 0 和 2 的 Raid1 创建一个阵列,并为具有磁盘 1 和 3 且 N = 0 (-a0) 的 Raid1 创建另一个阵列
验证 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
Run Code Online (Sandbox Code Playgroud)
或者如果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
Run Code Online (Sandbox Code Playgroud)
小智 6
你没有理解手册页。E25:S02 - 它应该具有 int 值的类似变量。一切你需要的:
1.获取适配器 ID(在我的示例中为 0):
root@sto# megacli Adpallinfo -aall | grep '^Adapter'
Adapter #0
Run Code Online (Sandbox Code Playgroud)
2. 获取 E 和 S 值:
megacli -PDlist -aall | grep -e '^Enclosure Device ID:' -e '^Slot Number:'
Run Code Online (Sandbox Code Playgroud)
你会得到这样的东西:
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
Run Code Online (Sandbox Code Playgroud)
这是您的 E 和 S 编号,ig 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
Run Code Online (Sandbox Code Playgroud)
看来我不应该应该使用E和S字母。
\n\n起初我理解正确并无字地尝试了它,但也得到了无效令牌错误,因为我使用的是 -aALL 而不是 -a0 (“如果你只有一个控制器,则可以安全地使用 ALL 而不是特定 ID ” ),然后从中读取站点读取“E 是驱动器所在的机箱设备 ID,S 是插槽号”,因此得出结论,我应该用实际 ID 替换 E 和 S。:(
\n 归档时间: |
|
查看次数: |
14337 次 |
最近记录: |