TangWei's Studio

Linux系统中RAID及LVM管理

Word count: 1,770 / Reading time: 7 min
2018/04/26 Share

一、RAID概念及管理

RAID:Redundant Arrays of Inexpensive(Independent) Disks 廉价(独立)磁盘冗余阵列

使用多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两种都提供。
RAID的作用:

  • 提高IO能力

  • 磁盘并行读写

  • 提高耐用性

  • 磁盘冗余来实现

级别:多块磁盘组织在一起的工作方式有所不同

RAID实现的方式:

  • 外接式磁盘阵列:通过扩展卡提供适配能力

  • 内接式RAID:主板集成RAID控制器

  • 安装OS前在BIOS里配置

  • 软件RAID:通过OS实现(生产环境很少用,一般用来测试模拟)

RAID级别

  • RAID-0 条带卷,strip

  • RAID-1 镜像卷,mirror

  • RAID-2

  • RAID-5

  • RAID-6

  • RAID-10

  • RAID-01

  • JBOD 将多块磁盘的空间合并成一个连续空间使用

注:目前RAID2-4已基本淘汰,RAID0生产中也少用,RAID1,RAID5,RAID10,RAID01常见

  • RAID0 条带卷,读写能力提升,但无容错能力,最少需2块磁盘组成,磁盘利用率100%

  • RAID1 镜像卷,具有一块硬盘的容错性,需要2,2N块磁盘组成,磁盘利用率50%

  • RAID4 牺牲了1块硬盘实现冗余,至少3块磁盘组成,磁盘利用率(n-1)n

  • RAID5 带奇偶校验的条带集,至少3块磁盘组成,磁盘利用率(n-1)n,一块硬盘损坏,将大幅消耗系统性能,造成宕机,应及时更换硬盘,性价比高

  • RAID6 牺牲了2块硬盘实现冗余,至少4块磁盘组成,磁盘利用率(n-2)n

  • RAID10 先做RAID1,再做RAID0,容错性相较于RAID01更强,至少4块磁盘组成,空间利用率50%。生产中有条件情况下建议使用RAID10

  • RAID01 先做RAID0,再做RAID1,至少4块磁盘组成,容错性较RAID10稍弱,空间利用率50%

  • RAID50 先做RAID5,再做RAID0,提供了接近RAID 10性能、可用性以及接近RAID 5成本的特性,具有较好的整体性价比,至少6块磁盘组成,空间利用率(n-2)n

  • JBOD 可用空间sum(S1,S2…),性能无提升,至少需要2块磁盘,磁盘利用率100%

常见RAID图形示意
RAID0 条带卷,读写能力提升,但无容错能力,最少需2块磁盘组成,磁盘利用率100%

enter image description here

RAID1 镜像卷,读性能提升,写性能下降具有一块硬盘的容错性,需要2,2N块磁盘组成,磁盘利用率50%

enter image description here

RAID5 带奇偶校验的条带集,与RAID4校验位固定在一个磁盘上相比,RAID5校验位在不同磁盘上不断更替;至少3块磁盘组成,磁盘利用率(n-1)n,一块硬盘损坏,将大幅消耗系统性能,造成宕机,应及时更换硬盘,性价比高

enter image description here

RAID01 先做RAID0,再做RAID1,至少4块磁盘组成,容错性较RAID10稍弱,空间利用率50%

enter image description here

RAID10 先做RAID1,再做RAID0,容错性相较于RAID01更强,至少4块磁盘组成,空间利用率50%。生产中有条件情况下建议使用RAID10

enter image description here

RAID50 先做RAID5,再做RAID0,提供了接近RAID 10性能、可用性以及接近RAID 5成本的特性,具有较好的整体性价比,至少6块磁盘组成,空间利用率(n-2)n

enter image description here

JBOD 可用空间sum(S1,S2…),性能无提升,无冗余能力,至少需要2块磁盘,磁盘利用率100%

enter image description here

RAID按实现方式的不同一般分为硬件RAID和软件RAID,生产环境中多数使用硬件RAID,在下面的实

验测试环境中我们使用软件RAID。

软件RAID
mdadm 命令 为软RAID提供管理界面

为空余磁盘添加冗余

结合内核中的md(multi devices)

RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等

dd if=/dev/zero of=/dev/sdb1 破坏文件系统

mdadm -C /dev/md0 -a yes -l5 -n4 -x1 /dev/sd{b,c,d,e}1 创建一个RAID5,包含4块硬盘,一块空闲盘

mdadm -D /dev/md0 查看raid信息

mkfs.ext4 /dev/md0 -L raid 添加文件系统,添加卷标为raid

停用

umount /mnt/raid/

mdadm -S /dev/md0 禁用raid

-A 启用raid

模拟损坏硬盘

1
mdadm    /dev/md0 -f /dev/sdd1

移除损坏硬盘

1
mdadm   /dev/md0 -r /dev/sdd1

更换一个新硬盘

1
mdadm    /dev/md0 -a /dev/sda1

拓展RAID一个硬盘

1
mdadm -G /dev/md0 -n4 -a /dev/sdb3
1
ll /etc/mdadm/conf

mdadm -Ds /dev/md0 > /etc/mdadm/conf 保存配置文件

将来重启或停止raid服务不会出现找不到配置文件的情况

二、LVM逻辑卷介绍及使用

logical Volumes 逻辑卷

  • lvcreae ↑ 创建逻辑卷 ↑

Volime Group 卷组

  • vgcreate ↑ 创建卷组 ↑

Physical Volumes 物理卷

  • pvcreate ↑ 创建物理卷 ↑

Linux Block Devices Linux块设备

pv管理工具

显示物理卷

  • pvs 简要

  • pvdisplay 详细

创建卷组

  • pvcreate /dev/DEVICE
vg管理工具

显示卷组

  • vgs

  • vgdisplay

创建卷组

  • vgcreate [-s #[kKmMgGtTpPeE]] 卷组名 各分区物理路径
lv管理工具

显示逻辑卷

  • lvs

  • Lvdisplay

创建逻辑卷

  • lvcreate -L #[mMgGtT] -n 逻辑卷名 卷组名

  • lvcreate -l 60%VG -n mylv testvg

  • lvcreate -l 100%FREE -n yourlv testvg

lvcreate

常用选项

  • -c 指定chunk大小

  • -l 指定PE数创建逻辑卷,或[%{VG|FREE|ORIGIN}]

  • -L 指定大小创建逻辑卷

  • -n 指定逻辑卷名称

  • -p{r|rw}指定逻辑卷权限

  • -t 测试

删除逻辑卷

  • lvremove /dev/VG_NAME/LV_NAME

重设文件系统大小

  • fsadm [options] resize device [new_size[BKMGTEP]]

  • resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

LVM快照
快照是特殊的逻辑卷,它是在生成快照时存在的逻辑卷的准确拷贝

要注意快照不能替代备份作用,但可用于测试环境,在特殊情况下可代替备份效果。

快照生成时需要分配给它一定的空间,这些空间只有在原来的逻辑卷或者快照有所改变才会使用这些空间,建立快照的卷大小只需要原始逻辑卷的15%-20%就可以了,也可以使用lvextend放大快照空间要注意快照必须与被快照的LV在同一个卷组中,系统恢复时文件数量不能高于快照区的实际容量。

为现有逻辑卷创建快照与添加逻辑卷命令相同

lvcreate

创建快照常用选项:

  • -l 指定PE数创建快照,或[%{VG|FREE|ORIGIN}]

  • -L 指定大小创建快照逻辑卷

  • -n 指定快照名称

  • -p{r|rw}指定快照权限,一般设为只读

ext系列:

  • lvcreate -n centoslv0-snapshot -s -L 1G -p r /dev/centos6lv0

  • lvdisplay

  • mkdir /mnt/snap

  • mount /dev/centos6vg0/centos6lv0-snapshot /mnt/snap

xfs文件系统:

  • lvcreate -n centoslv0-snapshot -s -L 1G -p r /dev/lv0

  • lvdisplay

  • mkdir /mnt/snap

  • xfs文件系统不予许相同UUID设备进行挂载

  • mount -o nouuid /dev/vg0/lv0-snopshot /mnt/lv0-snap

恢复快照

  • umount /mnt/snap/

  • umount /mnt/centos6lv0/

  • lvconvert –merge /dev/centos6vg0/centos6lv0-snapshot

注:快照会在合并恢复后自动删除

删除快照

  • umount /mnt/vg0/lv0

  • lvremove /dev/mnt/lv0-snap

CATALOG
  1. 1. 一、RAID概念及管理
  2. 2. 二、LVM逻辑卷介绍及使用
    1. 2.1. pv管理工具
    2. 2.2. vg管理工具
    3. 2.3. lv管理工具