Linux:Day8(下) RAID
RAID:Redudant Arrays of Inexpensive(Independent) Disks 廉价(独立)冗余磁盘阵列
提高IO能力:磁盘并行读写;
提高耐用性:磁盘冗余来实现;
级别:多块磁盘组织在一起的工作方式有所不同;
RAID实现的方式:
外接式磁盘阵列:通过扩展卡提供适配能力;
内接式RAID:主板集成RAID控制器;
Sofeware RAID:
级别:level
RAID-0:0,条带卷,strip;
RAID-1:1,镜像卷,mirror;
RAID-2
...
RAID-5:
RAID-6
RAID01
RAID-0:
读、写性能提升;
可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:2,2+
RAID-1:
读性能提升、写性能略有下降;
可用空间:1*min(S1,S2,...)
有冗余能力
最少磁盘数:2
RAID-4:
1101,0110,1011
RAID-5:
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:1 块磁盘
最少磁盘数:3,3+
RAID-6:
读、写性能提升
可用空间:(N-2)*min(S1,S2,...)
有容错能力:2块磁盘
最少磁盘数:4,4+
混合类型:
RAID-10:底层是1,上层为0
读写性能提升;
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块;
最少磁盘数:4,4+
RAID-01:(不如10合理)
JBOD:Just a Bunch of Disks
功能:将多块磁盘的空间合并一个大的连续空间使用;
可用空间:sum(S1,S2,...)
常用级别:RAID-0,RAID-1,RAID-5,RAID-10,RAID-50,JBOD
实现方式:
硬件实现方式
软件实现方式
CentOS 6上的软件RAID的实现:
结合内核中的md(multi devices)
mdadm:模式化的工具
命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID级别:LINEAR,RAID0,RAID1,RAID4,RAID5,RAID6,RAID10;
模式:
创建:-C
装配:-A
监控:-F
管理:-f,-r,-a
<reaiddevice>:/dev/md#
<componet-device>:任意块设备
-C:创建模式
-n #:使用#个块设备来创建此RAID;
-l #:指明要创建的RAID的级别;
-a {yes|no}:自动创建目标RAID设备的设备文件;
-c CHUNK_SIZE:指明块大小;
-x #:指明空闲盘的个数;
例如:创建一个10G可用空间的RAID5;
mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10}
cat /proc/mdstat
mdadm -D /dev/md0
mdadm /dev/md0 -f /dev/sda7 将sda7标记为损坏
watch -nl 'cat /pro/mdstat'
mdadm /dev/md0 -r /dev/sda7 将sda7移除
-D:显示raid的详细信息;
mdadm -D /dev/md#
管理模式:
-f:标记指定磁盘为损坏;
-a:添加磁盘;
-r:移除磁盘
观察md的状态:
cat /proc/mdstat
停止md设备:
mdadm -S /dev/md#
watch命令:
-n #:刷新间隔,单位是秒;
watch -n# 'COMMAND'
练习1:创建一个可用空间为10G的RAID1设备,要求其chunk大小为128k,文件系统为ext4,开机可自动挂载至/backup目录;
练习2:创建一个可用空间为10G的RAID10设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录;
LVM2:
LVM:Logical Volume Manager,version:2
dm:device mapper,将一个或多个底层块设备组织成一个逻辑设备的模块;
最新文章
- 【Java并发编程实战】-----&ldquo;J.U.C&rdquo;:ReentrantLock之二lock方法分析
- 理解GC日志
- apple Swift教程大全,希望对你有帮助!
- 解决Unable to resolve superclass的问题
- 使你的 Google Summer of Code 建议被接收的5个技巧
- Servlet过滤器理解
- Tomcat Server Locations
- ThinkPHP 3.1.2 查询方式的一般使用2
- 恶补jquery(四)jquery中事件--冒泡
- 推荐几个我一直在使用chrome小工具(上)
- 使用Windows2003创建AD服务器 - 进阶者系列 - 学习者系列文章
- IIS判断W3WP进程对应哪个网站
- 4.DHCP与PRE
- 4.计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动
- Arrays工具类
- Unity3D里怎样隐藏物体
- 力扣(LeetCode)1.两数之和
- ACM-ICPC 2018 南京赛区网络预赛 G. Lpl and Energy-saving Lamps(二分+线段树区间最小)
- google开发新人入职100天,聊聊自己的经验&;教训 个人对编程和开发的理解 技术发展路线
- Allow Zero Length 允许空字符串 ACCESS
热门文章
- JS无法获取display为none的隐藏元素的宽度和高度的解决方案
- Wyn BI的机会在哪里:越靠近消费者的行业,比如零售、文娱和金融,信息化投入越大 ZT
- SDN的初步实践--通过netconf协议控制交换机
- JMeter http(s)请求插件jmeter-plugin-httpBinaryFileUpload.jar
- 你不可不知的Java引用类型之——ReferenceQueue源码详解
- 关于Linux安装Mono 3.4的bug
- Solr5.5高级应用(基于tomcat9)
- ApplicationContext 配置里dataSource mysql连接数据源,设置ssl和utf-8
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
- Linux下键盘值 对应input_evnet的code值。