我有 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(只有语法)。
任何人都可以解释什么是错的?
我在 Dell R720xd 和 PERC H710P 上的 MegaCli 收到奇怪的 SMART 错误,RAID5 中有五个 4Tb SATA 驱动器
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL
Run Code Online (Sandbox Code Playgroud)
给我一些“Failure Seq Event Number”
Slot Number: 4
...
Last Predictive Failure Event Seq Number: 7309
...
Inquiry Data: PK2361PAGAZU8WHitachi HUS724040ALE640 MJAOA3B0
...
Drive has flagged a S.M.A.R.T alert : Yes
Run Code Online (Sandbox Code Playgroud)
但是 smartctl 根本没有提供驱动器有什么问题的线索:
# smartctl -a -d sat+megaraid,4 /dev/sda
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.32-279.19.1.el6.x86_64] (local build)
...
Serial Number: PK2361PAGAZU8W # Note same serial, no mistake
...
SMART support is: Available - …Run Code Online (Sandbox Code Playgroud) 我有一个系统,MegaCli64 -PdList -a0在一个磁盘上显示媒体错误。在调查了错误之后,我决定暂时不采取任何行动。我想重置错误计数,以便 MegaCli 显示 0 个媒体错误,除非有另一个错误。我需要对 MegaCLI 进行哪些论证才能做到这一点?
/opt/MegaCli -CfgDsply -a0 | 少 RAID 级别 : Primary-1, Secondary-3, RAID Level Qualifier-0
几乎肯定这不是运行 RAID3,我的猜测是 RAID 10,其中“主要”表示“跨度”中正在执行的操作(跨度是第一个 RAID 操作块的 Mega Cli 术语),然后是“RAID 级别限定符” " 是在跨区之上执行的 RAID 级别操作,最后,"Secondary-3" 表示有 3 个跨区被 RAID0'd。这种解释与磁盘空间健全性检查相匹配,实际上阵列的总容量是三个物理驱动器的容量。但是,这种解释和输出语法令人费解,以至于肯定需要澄清。
我对使用 LSI MegaRAID 控制器完全陌生,我对我实际运行的 RAID 级别感到困惑。我的服务器配备了 4 个磁盘,每个 4TB,我想让它们在 RAID-10 中运行。四处寻找一些提示,我找到了这个线程,并按照其中一个答案中的链接进行操作。
现在,让我困惑的是megacliand的输出megasasctl:
# megacli -LDInfo -Lall -aALL | RAID RAID RAID 级别 : Primary-1, Secondary-0, RAID Level Qualifier-0
根据表格,这应该意味着我目前正在运行 RAID-1。但是根据this我正在运行RAID-10:
# megasasctl a0 LSI MegaRAID SAS 9260-4i encl:1 ldrv:1 batt:FAULT,模块丢失,包丢失,充电失败 a0d0 7451GiB RAID 10 2x2 最佳 a0e252s0 3726GiB a0d0 在线 a0e252s1 3726GiB a0d0 在线 a0e252s2 3726GiB a0d0 在线 a0e252s3 3726GiB a0d0 在线
我对此的困惑可能不会更糟。我在这里错过了什么,哪个输出是值得相信的?
编辑(回复 CharlesH 的请求)
输出如下:
# megacli …
我可以使用以下命令列出所有 megaraid 适配器上的物理驱动器:
megacli -PDList -aALL
Run Code Online (Sandbox Code Playgroud)
这将为每个适配器显示一个适配器 #,然后列出连接到它们的物理驱动器。
PDList 输出中的各个设备也有一个设备 ID,用于 smartctl 命令,例如设备 ID 3:
smartctl -a -d sat+megaraid,3 /dev/sda
Run Code Online (Sandbox Code Playgroud)
两个命令都使用相同的设备 ID,所以没问题。但是我们如何正确地将适配器 # 映射到设备节点?
在 CentOS 6 上运行 smartmontools-5.43-1.el6。查看源代码似乎需要从 ioctlSG_GET_SCSI_ID或SCSI_IOCTL_GET_BUS_NUMBER在命名设备节点上获取的总线编号 / host_no 。这是否与 MegaCLI 输出中使用的“适配器编号”相同?
实际上,就我而言,我可能可以将其硬编码到 /dev/sda,但我想知道是否有更好的方法。
我在 Supermicro X9DRH 服务器主板上有一个 LSI2208 集成 raid 控制器。它目前有一个由 4 个旋转磁盘组成的逻辑驱动器 (LD)。现在我想在 JBOD 中添加更多驱动器,让操作系统直接访问它们(而不是为每个磁盘创建一个专用的 RAID0 LD)。
有几个链接(例如这里)解释了如何在 LSI2208 控制器上启用 JBOD 模式。这似乎是一个全有或全无的开关:控制器是否支持 JBOD。
命令:
megacli -AdpSetProp EnableJBOD 1 -a0
...将在控制器 0 上启用 JBOD 模式
从这里阅读,似乎插入控制器但未与逻辑磁盘关联的磁盘对操作系统可见。
问题:这是一个破坏性的操作吗?完成此操作后,现有 (RAID5/1/0) 逻辑磁盘会发生什么情况?还是这只会影响尚未分配给逻辑磁盘的磁盘?
我可以尝试一下,但这意味着首先要备份几 TB 的数据。
希望有人解答!
正如标题所说,我有一台 SuperMicro 服务器,它在 Linux 上运行硬件 RAID 6 和 MegaRAID SAS 8708ELP。我有两个故障磁盘,我已将它们确定为插槽 2 和 4 中的驱动器,但是,我的老板告诉我驱动器有些混乱,而且由于插槽从 0 开始,我不确定应该使用哪个硬盘正在改变。我试图找出驱动器的序列号,以便与我删除的驱动器进行比较,但是我一直在运行以查找此类信息的所有命令都不起作用。
我尝试使用
#smartctl -d sat+megaraid,2 -a /dev/sda
#smartctl -d megaraid,2 -a /dev/sda
Run Code Online (Sandbox Code Playgroud)
但两者都只给出一个无效的参数信息。
我试过运行 lshw 但它只给我 Raid 卡本身的信息。
当我运行时,megacli -PDList -aAll我可以识别我的磁盘,但我不确定从所有信息中我需要什么有用。
我猜我只需要从服务器中删除第 3 个和第 5 个磁盘,但我只是想在这样做之前绝对确定这一点。
我很感激任何建议,因为我不是一个真正的 IT 人。
谢谢。
我得到一台带有 LSI MEgarad 卡的机器。我知道虚拟磁盘有什么:
Adapter: 0
Product Name: LSI MegaRAID SAS 9260-4i
Memory: 512MB
BBU: Absent
Serial No: SV11807006
==============================================================================
Number of DISK GROUPS: 3
Run Code Online (Sandbox Code Playgroud)
但我不知道每个虚拟磁盘(0、1、2)上都有哪些磁盘,哪些磁盘是 HotSpare ......
MegaCli -LDInfo -Lall -aAll
Adapter 0 -- Virtual Drive Information:
Virtual Disk: 0 (Target Id: 0)
Name:
RAID Level: Primary-5, Secondary-0, RAID Level Qualifier-3
Size:16.371 TB
State: Optimal
Stripe Size: 64 KB
Number Of Drives per span:3
Span Depth:3
....
Check Consistency : Completed 46%, Taken 254 min.
Virtual Disk: 1 (Target …Run Code Online (Sandbox Code Playgroud) 使用MegaCli64,有没有办法找出硬盘何时发生故障?
即,/opt/MegaRAID/MegaCli/MegaCli64 -ShowSummary -aALL显示
Connector : Int.Ports 0-3<Internal><Encl Pos 1 >: Slot 5
Vendor Id : SEAGATE
Product Id : ST31000640SS
State : Failed
Disk Type : SAS,Hard Disk Device
Capacity : 930.390 GB
Power State : Active
Run Code Online (Sandbox Code Playgroud)
我想知道该磁盘何时处于Failed状态。
我想用WriteThrough和执行一些测试WriteBack。在生产系统上更改这些设置是否安全?RAID 控制器没有 BBU,所以我WriteBack只想在测试期间启用(sysbench):
# ./MegaCli64 -LDInfo -L0 -a0 | grep "Current Cache Policy:"
Current Cache Policy: WriteThrough, ReadAdaptive, Direct, No Write Cache if Bad BBU
# ./MegaCli64 -LDSetProp WB -L0 -a0
Run Code Online (Sandbox Code Playgroud)