Linux的磁盘管理
RAID
独立冗余磁盘阵列
raid
(
redundant arrays of independent
)它是一种将多块磁盘组成一个存储总体,并经过磁盘之间的联结实现数据的冗余备份、存储设备的容量扩充和数据存储速度的提高。
raid
分为
“
软
raid”
和
“
硬
raid”
两种:
软
raid
:也就是经过软件实现的
raid
。
硬
raid
:是经过适配器将多个硬盘组合在一块儿。
常见的几种
raid
级别:
level0
:条带式
stripe
将要存放的一段数据等分红若干块,分辨按次序轮流存储在若干个硬盘中。
level0
能够明显提升存取效率,可是其中一块硬盘发生故障就会使整个系统崩溃。
level1
:镜像式
mirror
同时向多个硬盘写入相同的数据,提供彻底的冗余备份,可是对写入速度没有一点提高,对读取速度与
level0
相同。
level 1+0
同时将条带式的高读写和镜像式的数据冗余之优势集于一身,它的结构是先有硬盘组成若干个
level1
的单元,每一个单元都具备
mirror
备份数据的功能,在由这样的单元经过
level0
的方式组成一个总体,读写速度时具备
level0
的高并发性。
level4
此种体系结构在存储数据的同时又系统自己提供校验机制。假设该种体系有块磁盘组成,数据轮流存放在系统的
n-1
个磁盘中,每一个存储周期都向指定第
n
块磁盘写入校验码,假若系统中有磁盘故障,可由其它盘上的数据与校验码一块儿进行数据修复。但此种体系校验码存储盘的性能会成为整个系统的瓶颈,并且高频率的写入会大大提升校验码存储盘的故障率。
level5
基于
level4
但对
level4
进行了必定得优化,它再也不指定校验码有固定的存储盘,而是和数据块一块儿加入整个磁盘存储体系的循环。
软
raid
在
linux
中的实现:
命令:
mdadm
模式
raid
设备
选项
磁盘设备
模式:
-A
装配模式
-C
建立模式
-F
监控模式
-M
管理模式
-D
查看模式
选项
-a
--add
添加设备
-f
--fail
虚拟设备故障
-r
--remove
移除设备
-n
指定
raid
数组磁盘个数
-x
指定
raid
数组冗余设备个数
-l
指定
raid level
-a {yes|no}
是否自动建立设备文件
-c
指定
chunk
的大小默认为
64k
[root@server28 ~]# mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sda1 /dev/sda2
#
将
2
块硬盘建立
radi md0
等级
level 1
从
raid
中增长
/
卸去磁盘
[root@server28 ~]# mdadm -a /dev/md0 /dev/sda7
向
raid
中添加一块自动成为备用。
[root@server28 ~]# mdadm -D /dev/md0
使用
-D
查看
/dev/md0:
Version : 0.90
Creation Time : Tue Aug 2 05:11:36 2011
Raid Level : raid1
Array Size : 987840 (964.85 MiB 1011.55 MB)
Used Dev Size : 987840 (964.85 MiB 1011.55 MB)
Raid Devices : 2
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Aug 2 05:11:50 2011
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 0
Spare Devices : 1
UUID : 032c7ad4:3dc68a67:613b10af:7922e25a
Events : 0.2
Number Major Minor
RaidDevice
State
0 8 5 0 active sync /dev/sda5
1 8 6 1 active sync /dev/sda6
2 8 7 - spare
/dev/sda7
要拆除硬盘时必须将硬盘设置成
fail
或者中止整个
raid
[root@server28 ~]# mdadm -f /dev/md0 /dev/sda5
mdadm: set /dev/sda5 faulty in /dev/md0
再进行拆除
remove
[root@server28 ~]# mdadm -r /dev/md0 /dev/sda5
mdadm: hot removed /dev/sda5
[root@server28 ~]# mdadm -S /dev/md0
中止整个
md0
设备
装配模式:
目的是将卸载的
raid
,在其它计算机或本机重新挂载。
首先,在本机备份
raid
信息
本机
raid
信息在
/etc/mdadm.conf
中存储
[root@server28 ~]# mdadm -D -scan > /etc/mdadm.conf #
此文件会在复位向后自动产生
中止设备
[root@server28 ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
中止后能够对组成
raid
的磁盘进行拆卸、删除的操做。
LVM
逻辑卷管理器
LVM
是
logic volume manger
的缩写,这种体系的存储结构是将物理磁盘转换成物理卷
pv
(
physical volume
),将
pv
的容量汇总成卷组
vg
(
volume group
)后,再将卷组
vg
进行拆分,造成多个自定义大小且容量可实时调成的逻辑卷(
logic volume
)。在将物理磁盘作成物理卷后将造成
lvm
的最小单位
pe
(
physical extend
),
pe
的大小能够为
4M
、
8M
和
16M
,
相似于磁盘系统的中块
block
的概念。
pv
相关的命令:
pvcreat
建立、
pvmove
存储内容移动、
pvremove
删除、
pvscan
扫描、
pvdisplay
显示信息
vg
相关的指令:
vgcreat
建立、
vgremove
删除、
vgscan
扫描、
vgdisplay
显示信息、
vgreduce
容量缩小、
vgextend
容量扩大
lv
相关的指令:;
lvcreat
建立、
lvmove
存储内容移动、
lvremove
删除、
lvscan
扫描、
lvdisplay
查看、
lvreduce
缩小物理容量、
lvextend
扩大物理容量、
resize2fs
调整逻辑容量
建立
pv
:
pvcreate
物理磁盘分区
1
物理磁盘分区
2
物理磁盘分区
3..
查看
pv
:
pvdisplay #
显示当前全部的
pv
移除
pv
:先
pvmove
将当前
pv
上的内容同步在别的
pv
,而后再
pvremove
将磁盘卸除。
建立
vg
:
vgcreate
选项
vg
名称
pv1 pv2 pv3 …
增大
vg
的容量:
vgextend vg
名
pv
名
vgextend /dev/vg0 /dev/sdb5
缩小
vg
的容量:
vgreduce vg
名
pv
名
Pvreduce /dev/vg0 /dev/sdb5
建立
lv
:
lvcreate –L 2G –n lv0 vg0 #
从
vg0
中建立一个
2g
的
lv0
-n lv
名称
-L
建立
lv
的大小
查看
lv
:
lvdisplay #
显示当前全部的
lv
完成
lv
的建立,格式化文件系统。
逻辑卷的扩展、缩减和
snapshot
:
Lv
的扩展:
先扩大
lv
的物理大小:
lvextend –L 2g /dev/vg0/lv1
在调整
lv
的逻辑大小:
resize2fs
选项
设备
大小
resize2fs /dev/vg0/lv1 #
不跟数值就调整到分区大小
lv
的缩减:
先缩小逻辑大小:
resize2fs /dev/vg0/lv0 512m #
将
lv0
逻辑大小缩小到
512m
再缩小物理
lv
的大小:
lvreduce –L 512m /dev/vg0/lv0 #
将
lv0
物理大小缩小到
512m
快照
snapshot
的建立:
lvcreate –s –L 512M –n snapshot0 –p r /dev/vg0/lv0
#
再
vg0
上建立一个
lv0
的快照卷,
-s
说明新加卷是快照
–p r
说明权限是只读
/dev/vg0/lv0
说明是
lv0
的快照