1.RAID是什么
RAID:Redundant Arrays of Inexpensive Disks,是指由多个磁盘合成一个阵列,来提供更好的性能,冗余或者两者都提供。在生产生活中,通常一个硬盘往往不能满足我们的存储需要,这是就需要通过RAID磁盘阵列来对磁盘进行“扩容”,来满足我们的日常需要,相比较于单一的大容量的硬盘,使用RAID阵列可以更好的节约成本到达同样的效果,所以,RAID阵列技术被广泛的应用于我们的生产生活中。
RAID能提供的优点:
提高IO能力
磁盘并行读写
提高耐用性
磁盘冗余实现
RAID实现方式:
外界式磁盘阵列:通过扩展卡提供适配能力
内接式RAID:主板集成raid控制器
Software RAID
级别:多块磁盘组织在一起的工作方式有所不同
RAID-0:0,条带卷,strip
RAID-1:1,镜像卷,mirror
RAID-2:
…
RAID-5:
RAID-6:
RAID01:
RAID10:
RAID-0 读写性能提升
可用空间N*min(s1,s2,s3…)
无容错能力
最少磁盘数2,2+
RAID-0阵列就是将多个磁盘组成一个大容量的“新硬盘”,数据传输过来,以trunk值分别存储到不同的硬盘中,这样每个盘都有分摊了这个数据的一部分,从而提高了“大硬盘”的存储能力,但是,有一个硬盘出现故障时,这个“大硬盘”将无法进行数据读取,从而导致大硬盘也呈现“故障”状态,RAID-0只是单纯增加硬盘容量。
RAID-1 读性能提升,写性能略有下降
可用空间1*min(s1,s2…)
有冗余能力
最少磁盘数2
RAID-1磁盘阵列:硬盘B作为A的镜像,当数据传输过来,A盘存储这份数据,B盘也存储这份数据,当作A盘的备份,当A盘出现故障时,B盘就顶替上去,保证了硬盘甚至于整个程序,服务的正常运行,有了冗余能力,但是,这样磁盘的利用率就变为磁盘数的1/2。
RAID-5:读写性能提升
(N-1)*min(s1,s2,s3…)
有容错能力 1块磁盘
最少磁盘数 3
RAID-5磁盘阵列:与RAID-4类似,用一个盘存放校验值,不过在4的基础上有了改进,在实际生产中,做校验盘的硬盘很容易损坏,经常性的读写,RAID-5,它实现了动态的存储校验值,第一次数据存储在A,B盘上,C盘存储校验值,下一次数据存储在A,C盘上,B盘存储校验值,第三次B,C盘存储数据,A盘存储校验值,轮替的进行,从而减轻了某个存储校验值的硬盘的压力,有冗余能力,当一个盘故障时,可以通过其他两个盘进行抑或操作算出故障盘的数据,也能保证程服务正常运行。
RAID-6:最少磁盘数 4
读写性能提升
可用空间(N-2)*min(s1,s2…)
用容错能力 2块磁盘
RAID-6磁盘阵列:使用两块硬盘作为存放校验值的盘,当其中一个存放校验值的盘故障时且一块数据盘也出现故障时,还可以通过另一个存放校验值的盘计算出故障数据盘的数据,也可以保证服务的正常运行,但在企业中运用并不多。
混合类型
RAID-10 先做1,后做0
读写性能提升
可用空间N*min(s1,s2…)/2
有容错能力每组镜像只能最多坏一块
最少磁盘数 4
RAID-10:先做1,再做0,先使用两块磁盘进行RAID-1,保证数据有冗余性,有备份,当主盘故障时,备份盘可以顶替上,再做RAID-0,这样就可以使数据存储在不同的硬盘上,实现了对磁盘的扩容,从而既达到0的效果,又达到1的效果。
RAID-01 先做0,后做1
RAID-01:先做0,再做1,先将磁盘组成RAID-0阵列,实现数据分开存储,实现硬盘的扩容,再做1,即对先前做的0阵列进行1操作,为他们做备份,实现硬盘的冗余性,当主硬盘中一块故障时,备份区的硬盘能够为服务提供数据,同样保障了服务程序的正常运行,但主硬盘区和备份区域都出现故障时,这个磁盘阵列则会呈现故障状态,所以RAID-01比RAID-10性能方面还是有些差别的。
RAID7:可以理解为一个独立存储的计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID模式
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-device>
支持的RAID级别:LINERA RAID0 RAID1 RAID4 RAID5 RAID6 RAID10
模式:
创建模式 -C
装配模式 -A
监控模式 -F
管理模式 -f:标记指定磁盘为损坏
-r:移除磁盘
-a:添加磁盘
观察md状态
cat /proc/md#
<raiddevice>: /dev/md#
<component-devices>:任意块设备
-C 创建模式
-n #:使用#个块设备来创建此RAID
-l #: 指明要创建的RAID级别
-a{yes|no} 自动创建目标RAID设备的设备文件
-c chunk_size 指明块大小
-x # 指明空闲盘的个数
-D 显示RAID详细信息
停止md设备
mdadm –S /dev/md#
watch 命令
-n # :刷新时间,单位为秒
LVM逻辑卷管理器
Logical Volume Manager Version:2
dm:device mapper 将一个或多个底层块设备组织成一个逻辑设备的模块
/dev/dm-#
/dev/mapper/VG_name-LV_name
/dev/VG_name/LV_name
在硬盘上进行分区,可以满足一些情况,但这样的分区,它的存储空间容量就固定了,不能进行扩容或者其他变更分区容量的操作,这样便会给磁盘管理对来一些不便的影响,而LVM逻辑卷管理可以喊好的解决这种问题,所以,在实际生产生活中,这种技术也有相当广泛的应用。
通过多个物理卷来创建一个卷组,,物理卷使用固定大小的物理区域来定义,在卷组之上可以根据需要划分成多个逻辑卷。
Pv管理工具
Pvs 简要显示pv信息
Pvdisplay 详细显示信息
Pvcreate /dev/device 创建pv
Vg管理工具
Vgs
Vgdisplay
vgcreate /dev/vg# /dev/device
Lv管理工具
lvs
lvdisplay
lvcreate /dev/vg#
磁盘管理:
卸载命令
umount /dev/device
查看挂载情况
findmnt mount_point
查看正在访问指定文件系统的进程
lsof mount_point
fuser -v mount_point
终止所有正在访问指定文件系统的进程
fuser -km mount_point
文件挂载配置文件
/etc/fstab
每个要挂载的设备或伪文件系统
挂载点
文件系统类型
挂载选项
转储频率 0 表示不转储 1 每天都备份 2 表示每隔一天备份
自检次序 0 表示不自检 1表示优先自检
交换分区
交换分区是系统RAM的补充
基本设置包括:
创建交换分区或者文件
使用mkswap写入特殊签名
在/etc/fstab文件中添加适当的条目
使用swapon激活交换空间
swapon [option]…[device]
-a 激活所有的交换分区
-p priority 指定优先级
swapoff 禁用
移动介质的挂载
访问前介质必须被挂在
摘除前介质必须被卸载
eject 弹出光驱
mount /dev/cdrom /mnt/
创建ISO文件
cp /dev/cdrom /root/centos7.iso
mkisofd -r -o /root/etc.iso /etc
刻录光盘
wodim -v -eject centos.iso
free 内存空间使用状态
-m 以MB为单位
-g 以GB为单位
df文件系统空间占用等信息的查看工具
-H 以1000为单位
-T 文件系统类型
-h human readable
-i 显示节点数
-P 以posix兼容格式显示
du查看某目录总体空间占用状态
-h human readable
-s summary
dd工具
dd if=/path/to/src of=/path/to/dst bs=# count=#
bs 复制单元大小
count 复制多少个bs
of 写到文件中 if 从文件读取
ibs 一次读多少个byte obs 一次写入多少个byte
cbs 一次转化多少个byte
skip 从开头忽略blocks个ibs大小的块
seek 从开头糊了blocks个obs大小的块
conv=conversion[,conversion…]用指定的参数转化文件
ascii 转化EBCDIC为ascii
ebcdic 转化ascii为ebcbic
block 转化为长度为cbs的记录,不足用空格补充
unblock 替代cbs长度的每一行尾的空格为新行
lcase 把大写字符转换为小写字符
ucase 把小写字符转化为大写字符
swab 交换输入的每对字节
noerror 出错时不停止
notrunc 不截断输出文件
sync 把每个输入块填充到ibs个字节,不足部分用空字符补齐
dd if=/dev/sda1 of=/dev/sdc1 bs=1 count=64 skip=446 seek=446 conv=notrunc
使用dd命令可以是实现数据的备份
dd if=/dev/sdx of=/dev/sdy
备份全盘数据
dd if=/dev/sdx | gzip > /path/to/image.gz
数据恢复
dd if=/path/to/image.gz of=/dev/sdx
gzip -dc /path/to/image.gz | dd of=/dev/sdx
习题
1:创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
对硬盘分区,并调整system id
查看分区是否被识别
分区格式化
创建RAID-1
mkfs.ext4 /dev/md/dm0
修改/etc/fstab
生成配置文件
2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机可自动挂载至/mydata目录
创建共2G的单个分区
3、创建和扩展逻辑卷
原创文章,作者:Stupid_L,如若转载,请注明出处:http://www.178linux.com/41817
评论列表(1条)
不错,内容充实,格式优美,能迅速吸引眼球并能勾起读者继续的欲望