RAID(Redundant Array of Inexpensive Disks):
原来叫做廉价冗余磁盘序列,后改为了独立冗余磁盘序列,是由多个独立的物理硬盘按照不同的方式组合起来,形成一个虚拟的硬盘,又通过冗余能力,提高了可靠性,极大的增强了管理能力。冗余能力就是容错能力。
不同RAID的优缺点
RAID 0 :条带
优点:提高了读,写能力
冗余能力 无 不适合用于数据安全性要求高的环境
所需磁盘数:最少两块
RAID 1:镜像
性能表现(优点):写性能下降,读性能能升
冗余能力 :有
空间利用率 :1/2
所需磁盘数:至少2块盘
RAID 5:
性能表现:读,写提升
冗余能力: 有
空间利用率:(n-1)/n
所需磁盘:最少3块盘(留出一块盘用于存放其他磁盘的校验码)
RAID 10:
性能表现:读,写提升
冗余能力: 有
所需磁盘数:最少4块盘
缺点:一块磁盘损坏,会影响整体,可能会造成数据丢失等后果
RAID 50:
性能表现:读,写提升
冗余能力 有
空间利用率 (n-2)/2
所需磁盘数:至少6块盘
RAID 01:
性能表现:读,写提升
冗余能力 有
空间利用率: 1/2
所需磁盘数:至少需要4块
JBOD:将多个小存量的磁盘组合,形成一个较大的容量的虚拟磁盘
空间利用率:100%
所需磁盘数:至少2块盘
RAID的实现方式:
1、硬RAID 即由独立操作的硬件提供整个磁盘整列的控制盒计算功能,不依靠系统的CPU资源
2、软RAID 即通过软件程序来实现,由计算机的CPU提供运行能力
mdadm:用户管理工具,可以将任何设备做成RAID
模式化的命令:
-C:创建模式
-l:指定级别
-n:设备个数
-a {yes|no}:是否自动为其创建设备文件
-c:CHUNK大小(数据块大小)
-x #:指定空闲盘个数
-F:监控模式
-G:增长模式
-A:装配模式
例如:
启用RAID:需要先将其格式化,然后再挂载。
查看阵列的详细信息命令:
mdadm -D /dev/md#
停止阵列命令:
mdadm -S /dev/md#
LVM
DM:Device Mapper(磁盘映射)
是一种提供逻辑设备的机制,可以将多额物理设备映射成为一个逻辑设备。
逻辑设备:可以动态的增添或缩减
PV:Physical Volome 物理卷
VG:Volume Group 卷组 可划分多个逻辑卷 是PV的组合
LV:Logical Volume 逻辑卷
PV的创建、删除等操作命令:
pvcreate /dev/sda#
pvcreate /dev/sda{5,6} 即在sda5和sda6上创建PV
pvdisplay :查看PV的详细信息 pvs:简单查看pv信息
pvremove :删除pv,删除前确认里面的数据移出,可能会损坏数据,造成数据丢失
pvmove :移动PV里面的数据
VG的创建、删除等操作命令:
vgcreate -s # VG_NAME /dev/sda (第一个#代表大小。要有单位,默认是4M )
-s选项 指定PE的大小 默认是4M
例如:创建VG,名字为abcd,并指定PE大小为8M
vgcreate -s 8M abcd /dev/sda{5,6}
删除vg:
vgremove ... 指定要删除的VG
例如:vgremove abcd /dev/sda{5,6} 即删除vg下的sda5和sda6
直接删除可能会损坏pv中的数据,删除前最好将数据移到别处
由于VG是PV的组合,所以可以根据PV的多少来扩展或缩减VG
扩展vg(在VG中增加一个PV):
vgxtend abcd /dev/sda7
缩减vg(在VG中拿走一个pv):
vgreduce abcd /dev/sda7
LV的创建、删除等操作命令:
lvcreate -n LV_NAME -L # VG_NAME
例如:创建一个大小30M,名字为abc的LV
lvcreate -L 30M -n abc abcd
LV逻辑卷的扩展与缩减:
扩展时应当注意:先扩展物理边界,之后扩展逻辑边界
扩展物理边界命令为:lvextend -L # /PATH/TO/LV
例如:扩展边界至2G lvextend -L 2G /dev/abcd/abc (要带有卷组名)
扩展逻辑边界命令为:
resize2fs /PATH/TO/LV 5G 表示直接扩展到5G
resize2fs -p /PATH/TO/LV 表示能扩展到多大就扩展到多大
缩减逻辑卷:
注意:1:先缩减逻辑边界,再缩减物理边界,不能在线缩减,得先卸载;
2;确保缩减后的空间大小依然能储存原有的所有数据;
3:在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态;
缩减逻辑边界命令:resize2fs /PATH/TO/PV #
缩减物理边界命令:lvreduce -L # /PATH/TO/LV
快照卷:
1、生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小
2、快照卷应该是只读的;
3、跟原卷在同一卷组内;
创建:
lvcreate
-s 创建快照卷
-p r|w 给权限
lvcreate -L # -n SLV_NAME -s -p r|w /PATH/TO/LV
例如:创建一个大小为30M,命名为mykuaizhao 有读权限的abc的快照
lvcreate -L 30M -n mykuaizhao -s -p r /dev/abcd/abc