# 安装raid卡管理工具
wget http://10.12.30.102:10800/other/MegaCli-8.07.14-1.noarch.rpm -O /tmp/MegaCli-8.07.14-1.noarch.rpm
rpm -ivh /tmp/MegaCli-8.07.14-1.noarch.rpm
ln -sf /opt/MegaRAID/MegaCli/MegaCli64 /usr/local/bin/megacli #查看所有RAID卡信息
megacli -AdpAllInfo -aALL | grep 'Adapter #' #查看RAID卡编号
megacli -AdpAllInfo -aALL | grep 'Adapter #' #查看RAID卡的个数
megacli -AdpAllInfo -aALL | grep 'Adapter #' | wc -l #查看RAID控制卡信息(为了获取Enclosure Device ID,如果有多个RAID控制器,请确认需要创建RAID的物理磁盘连接在哪个RAID控制器,然后获取ID,不同控制器下的磁盘不能创建在同一个GROUP)
megacli -cfgdsply -aALL | grep 'Enclosure Device ID' #查看RAID情况
megacli -LDInfo -LALL -a0 #查看所有物理磁盘信息
megacli -PDList -a0
megacli -PDList -a0 | grep 'Slot Number:' | awk '{print $3}' #检查磁盘是否有错误
megacli -PDList -a0 | grep 'Media Error Count:' | nl 查看单个盘的详细信息
megacli -pdInfo -PhysDrv[32:3] -a0 #查看哪块盘没有做raid
for id in $(megacli -PDList -a0 | grep 'Slot Number:' | awk '{print $3}');do megacli -pdInfo -PhysDrv[$(megacli -cfgdsply -aALL | grep 'Enclosure Device ID' | awk '{print $4}' | head -n1):${id}] -a0|head -n4;done #获取所有raid组的编号
megacli -LDInfo -LALL -a0 | grep 'Target Id' | awk '{print $3}' #确定系统盘
[[ $(megacli -PDList -a0 | grep -E -A 12 'Slot Number: 12|Slot Number: 13' | grep -c 'GB') -eq 2 ]] || exit 1 for id in $(megacli -PDList -a0 | grep 'Slot Number:' | awk '{print $3}');do megacli -pdInfo -PhysDrv[$(megacli -cfgdsply -a0 | grep 'Enclosure Device ID' | head -n1 | awk '{print $4}'):${id}] -a0 | egrep "Enclosure Device ID|Slot Number|Drive's position";done for id in $(megacli -PDList -a0 | grep 'Slot Number:' | awk '{print $3}');do megacli -pdInfo -PhysDrv[$(megacli -cfgdsply -a0 | grep 'Enclosure Device ID' | head -n1 | awk '{print $4}'):${id}] -a0 | egrep "Enclosure Device ID|Slot Number|Drive's position";done #在线做RAID10
megacli -CfgSpanAdd -r10 -Array0[252:4,252:5] -Array1[252:6,252:7] -Array2[252:8,252:9] -Array3[252:10,252:11] -Array4[252:12,252:13] -Array5[252:14,252:15] WB Direct -a0 megacli -CfgSpanAdd -r10 -Array0[252:0,252:1] -Array1[252:2,252:3] -Array2[252:4,252:5] -Array3[252:6,252:7] WB Direct -a0 #在线做RAID0
megacli -CfgLdAdd -r0[32:1] WB Direct -a0 megacli -CfgLdAdd -r5[32:0,32:1,32:2,32:3,32:4,32:5,32:6,32:7,32:8,32:9,32:10,32:11] WB Direct -a0 查看进度
megacli -LDBI -ShowProg -LALL -a0 删除RAID
megacli -CfgLdDel -L1 -a0 megacli -CfgLdDel -L2 -a0 #查看大磁盘的挂载情况
df -hT | awk '{if($3~/T$/)print}' #删除所有单盘RAID0
for vd in $(megacli -LDInfo -LALL -a0 | grep -B 2 'Primary-0' | grep 'Virtual Drive' | awk '{print $3}');do megacli -CfgLdDel -L${vd} -a0;done yum -y install xfsprogs xfsdump xfsprogs-devel DiskName=sdc
parted -s /dev/${DiskName} mklabel gpt
parted -s /dev/${DiskName} mkpart xfs 0% 100%
mkfs.xfs -f -i size=512 -l size=128m,lazy-count=1 -d agcount=64 /dev/${DiskName}1 mount -o noatime,nodiratime,inode64,nobarrier /dev/${DiskName}1 /home/service/var/data
echo "/dev/${DiskName}1 /home/service/var/data xfs defaults,noatime,nodiratime,inode64,nobarrier 0 0" >> /etc/fstab
df -hT mount -o noatime,nodiratime,inode64,nobarrier /dev/${DiskName}1 /data
echo "/dev/${DiskName}1 /data xfs defaults,noatime,nodiratime,inode64,nobarrier 0 0" >> /etc/fstab
df -hT
cat /etc/fstab parted -s /dev/sdp mklabel gpt
parted -s /dev/sdp mkpart xfs 0 100% for DiskName in $(lsblk | grep disk | grep -v sda | awk '{print $1}' | sort); do parted -s /dev/${DiskName} mklabel gpt;done parted -s /dev/sdb mklabel gpt
parted -s /dev/sdb mkpart xfs 0 12TB
parted -s /dev/sdb mkpart xfs 12TB 100% mkfs.ext4 -T largefile /dev/sdq1 mkfs.xfs -f -i size=512 -l size=128m,lazy-count=1 -d agcount=64 /dev/sdb2 mount /dev/sdb1 /var/lib/docker
mount -o noatime,nodiratime,inode64,nobarrier /dev/sdb2 /data cp -av /var/lib/docker_bak/* /var/lib/docker/ /dev/sdb1 /var/lib/docker ext4 defaults 0 0
/dev/sdb2 /home/service/var/data xfs defaults 0 0 Adapter 0: Configure Adapter Failed
FW error description:
The current operation is not allowed because the controller has data in cache for offline or missing virtual drives.
Exit Code: 0x54
解决方法:
megacli -GetPreservedCacheList -a0
megacli -DiscardPreservedCache -L2 -a0 #标记磁盘为外来盘
megacli -PDMakeGood -PhysDrv[32:15] -force -a0 <> 添加局部热备盘(array0表示第0个raid) megacli -PDHSP -Set -Dedicated -Array0 -physdrv[32:4] -a0 <> 添加全局热备盘 megacli -pdhsp -set -physdrv[32:4] -a0 <>移除热备盘(全局和局部都可) megacli -pdhsp -rmv -physdrv[32:4] -a0
--------------------- ================ 【现象】 换盘后,新插入磁盘无法组raid0,导致FusionStorage Block无法识别 【问题详细描述及解决思路】 FusionStorage Block部署完成后,存储节点插入新磁盘。 使用 megacli -CfgLdAdd -r0[32:15] WB Direct -a0 尝试为其组raid0,报以下错误 The specified physical disk does not have the appropriate attributes to complete the requested command.
Exit Code: 0x26 【常规解决方法】
1、扫描外来配置的个数:
# megacli -cfgforeign -scan -a0
There are 1 foreign configuration(s) on controller 0.
Exit Code: 0x00
2、清除外来配置:
# megacli -cfgforeign -clear -a0
Foreign configuration 0 is cleared on controller 0.
Exit Code: 0x00
3、再次扫描外来配置的个数,可以发现外来配置已清除,磁盘此时可正常组raid
# megacli -cfgforeign -scan -a0
There is no foreign configuration on controller 0.
Exit Code: 0x00
【特殊情况】
在有些情况下(比如,这盘是从3008raid卡服务器上***插到3108raid卡服务器上的),扫描发现是没有外来配置的,然而同样是报上述错误。
这种情况是磁盘Firmware state不正常导致,在存储节点执行megacli -PDList -a0 |grep 'Firmware state' ,可以看到此磁盘Firmware state是Unconfigured bad。忘截图了。。。
解决步骤:
1、执行megacli -PDMakeGood -Physdrv[32:7] -a0 ,将硬盘状态改为unconfigured googd
2、执行组raid命令,重启smio,问题解决 命令解释:
CfgSpanAdd:创建RAID命令
-r10:创建RAID10,如果是RAID5则是-r5
-Array0[252:4,252:5] : RAID10相当于RAID1+RAID0,本例中为磁盘编号为4的物理磁盘和编号为5的物理磁盘组成一个RAID1,磁盘编号为6的物理磁盘和编号为7的物理磁盘组成一个RAID1,然后两个RAID1组成一个RAID0。(其中252是Enclosure Device ID的值)
如有更多盘做阵列则类推-Array2和-Array3排序下去。 -DiscardPreservedCache -L12 -a0 一、查看Raid卡信息
megacli -LDInfo -Lall -aALL [root@ robin]# megacli -LDInfo -Lall -aALL OSSpecificInitialize: Failed to load libsysfs.so.2.0.2 Please ensure that libsfs is present in the system.
The dependent library libsysfs.so.2.0.1 not available. Please contact LSI for distribution of the package Adapter 0 -- Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 930.5 GB
Mirror Data : 930.5 GB
State : Optimal <<<< 这是正常的状态。 Strip Size : 64 KB
Number Of Drives per span:2 <<<< RAID组包含2块磁盘(但实际是4块500G的SSD做Raid10)。 Span Depth : 2 <<<< 深度若是1,说明实际只是RAID 1。2表示可以是RAID10 Default Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Current Cache Policy: WriteBack, ReadAdaptive, Direct, No Write Cache if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Disk's Default
Ongoing Progresses:
Background Initialization: Completed 41%, Taken 190 min.
Encryption Type : None
Default Power Savings Policy: Controller Defined
Current Power Savings Policy: None
Can spin up in 1 minute: No
LD has drives that support T10 power conditions: No
LD's IO profile supports MAX power savings with cached writes: No
Bad Blocks Exist: No
Is VD Cached: No

在线做RAID命令的更多相关文章

  1. 华为服务器Linux在线做RAID方法

    背景概述 最近维护大数据的一些主机,大概有3k+的数目,有很大一部分是华为的服务器,大部分是12块数据盘,单盘做RAID0来存放数据,但是通常硬件是不可靠的,磁盘损坏是常态, 然而磁盘损坏进行定位更换 ...

  2. 使用Megacli64对服务器物理磁盘做Raid并通过uuid方式挂载

    需求说明:公司最近来了一批服务器,用于大数据业务部署.数据节点服务器由14块物理磁盘,其中有2块是900G的盘,12块是4T的盘.在服务器系统安装时,进入系统的BIOS界面:1)将2块900G的磁盘做 ...

  3. Linux,Unix各种版本的操作系统在线安装软件命令

    摘自:http://blog.csdn.net/zjg555543/article/details/8278266 linux和unix,各个版本的操作系统都有自己的软件安装方式,最方便的莫过于在线安 ...

  4. 模拟示例raid 5(5块磁盘 3块做raid 2块做备份 ) raid 10(5块磁盘) 修改版

    RAID5:需要至少三块(含)硬盘,兼顾存储性能.数据安全和储存成本. RAID10:需要至少四块(含)硬盘,兼具速度和安全性,但成本很高. raid 10(5块磁盘) 1.添加硬盘设备(添加5块) ...

  5. 如何做raid级别磁盘(rhel和centos系统皆可)

    添加磁盘,自己需要多少磁盘即可添加多少数量 此处只添加了三块200MB大小的磁盘 此处三块磁盘,只有两块做raid,一块与raid磁盘为实验测读写速率,不测速率可三块都做raid. 进入虚拟机给三个磁 ...

  6. Dell 服务器做Raid

    Dell 服务器做Raid DELL R720 服务器 RAID阵列卡配置介绍 (H310) 关于 RAID 5 与热备份(Hot Spare) 在不同RAID组间使用热备盘——Global Hot ...

  7. (各个公司面试原题)在线做了一套CC++综合測试题,也来測一下你的水平吧(二)

    刚才把最后的10道题又看了下.也发上来吧. 以下给出试题.和我对题目的一些理解 前10道题地址 (各个公司面试原题)在线做了一套CC++综合測试题.也来測一下你的水平吧(一) 11.设已经有A,B,C ...

  8. RAID5的创建(5块磁盘,三块做raid,两块做备份)

    RAID5的创建(5块磁盘,三块做raid,两块做备份) 第一步:参考我的上一篇博客,用同样的方法添加5块硬盘.地址如下: https://www.cnblogs.com/Feng-L/p/11735 ...

  9. Dell做RAID配置图文全教程

    首先准备工作:Dell服务器 首先重启Dell,我们会看到Dell服务器的启动页面: 当我们看到出现下面这个界面的时候,根据提示按下Ctrl+R进到SAS磁盘阵列里面 备注:大多数Dell服务器进磁盘 ...

随机推荐

  1. Python笔记_第一篇_面向过程_第一部分_6.语句的嵌套

    学完条件控制语句和循环控制语句后,在这里就会把“语言”的精妙之处进行讲解,也就是语句的嵌套.我们在看别人代码的时候总会对一些算法拍案叫绝,里面包含精妙和精密的逻辑分析.语句的嵌套也就是在循环体内可以嵌 ...

  2. 好看的UI组合,为以后自己写组件库做准备

    1. 黑色格子背景 { color: rgb(255, 255, 255); text-shadow: 1px 1px 0 rgba(0,0,0,.3); rgb(62, 64, 74); backg ...

  3. Python - 文件和目录

    # -*- coding: utf-8 -*- import os print(os.name) # 获取操作系统类型 # print(os.uname()) # 获取操作系统的详细信息,Win不支持 ...

  4. UML-设想

    样例:

  5. [原]调试实战——使用windbg调试崩溃在ComFriendlyWaitMtaThreadProc

    原调试debugwindbgcrash崩溃COM 前言 这是几年前在项目中遇到的一个崩溃问题,崩溃在了ComFriendlyWaitMtaThreadProc()里,没有源码.耗费了我很大精力,最终通 ...

  6. Java中Arrays详解

    一.Arrays类的定义 Arrays类位于 java.util 包中,主要包含了操纵数组的各种方法 使用时导包:import java.util.Arrays 二.Arrays常用函数(都是静态的) ...

  7. python学习笔记(30)——ddt

    1.ddt模块包含类的装饰器ddt和两个方法装饰器data ddt.ddt:装饰类,也就是继承TestCase的类. ddt.data:装饰测试方法,参数是一系列的值,用来传递参数 ddt.file_ ...

  8. IE浏览器弹出的文件下载工具条实现自动另存为

    IE浏览器中如果有一个文件可以下载,用鼠标点击一下文件的超链接,会在IE浏览器下方出现一个工具条,工具条上主要有“打开” “保存”两个按钮. 如果点击“保存”按钮,会把附件保存到系统的“下载”或“Do ...

  9. elementUI的select全选

    elementUI中的el-select全选 <template> <el-select class="handle-select" size="min ...

  10. Q_Go1

    Go语言的特点及优势 一.Go语言设计初衷(为什么设计Go语言?) 1.1.设计Go源是为了解决当时Google开发遇到的困难: 大量的C++代码,同时有引入了Java和Python 成千上万的工程师 ...