LVM逻辑卷管理
软RAID磁盘阵列管理
#################################################
一、LVM逻辑卷管理
1. 基本概念
Logical Volume Manager
** 多个物理分区/磁盘 ==> 组合成一个整体 ==>划分逻辑存储单位,即逻辑卷
** 逻辑分区的大小可以根据需要扩大、缩减
** /boot 用来存放引导文件,不能使用LVM逻辑卷(启动时会找不到内核)
PV(Physical Volume,物理卷):
物理分区,或整个物理磁盘
由PE(Physical Extent,基本单元)组成 【PE默认4MB】
VG(Volume Group,卷组)
一个或多个物理卷组成的逻辑整体
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块逻辑存储空间
经过格式化可建立文件系统
2.LVM管理工具总览
管理物理卷:pvscan、pvcreate、pvdisplay、pvremove
管理卷组:vgscan、vgcreate、vgdisplay、vgremove、vgextend、vgreduce
管理逻辑卷:lvscan、lvcreate、lvdisplay、lvremove、lvextend、lvreduce
图形化管理工具: system-config-lvm
3. 基本使用过程
1)建立物理卷
fdisk 分区 ... 【类型 8e 】
partprobe 磁盘设备 【更新分区表】
pvcreate 设备名
2)整合为卷组
vgcreate 卷组名 物理卷...
或者
vgcreate -s pe大小 卷组名 物理卷...
3)划分逻辑卷
lvcreate -L 大小 -n 逻辑卷名 卷组名
lvcreate -l PE个数 -n 逻辑卷名 卷组名
** -L 磁盘容量(MB、GB、TB)
** 建好的逻辑卷设备位于:/dev/卷组名/逻辑卷名
4)mkfs 格式化 --> mount 挂载
4. 逻辑卷的扩容
如果卷组空间不足,需要先扩展卷组:
扩展组 vgextend 现有卷组名 要添加的物理卷...
扩展现有的逻辑卷:
扩展逻辑卷 lvextend -L +大小 /dev/卷组名/逻辑卷名
或者
lvextend -l +PE个数 /dev/卷组名/逻辑卷名
识别调整后的逻辑卷容量
resize2fs /dev/卷组名/逻辑卷名
df -hT 挂载点
修改物理单元大小
vgchange –s 1M myvg
二、软RAID磁盘阵列管理
硬盘故障的恢复机制
低速磁盘整合成高速存储设备
1. RAID技术简介
廉价冗余磁盘阵列,Redundant Arrays of Inexpensive Disks
将多个较小/低速的磁盘整合成一个大磁盘,提供硬件容错、提高I/O性能
2. 常见的RAID阵列级别
RAID0,条带模式:
并行读写多块磁盘(最少需2块),提高读写效率
无冗余,磁盘利用率100%
RAID1,镜像模式
并行读写多块磁盘(最少需2块),其中半数磁盘用来备份,提高读效率
有一倍冗余,磁盘利用率50%
RAID10,条带+镜像模式
融合RAID0+RAID1的特点(最少需4块磁盘),提高读写效率
有一倍冗余,磁盘利用率50%
RAID5,高性价比阵列
相当于RAID 0和RAID 1的折中方案(最少需3块磁盘)
校验盘:提供1块成员盘的容量存放校验信息,用于恢复数据,提高可靠性
冗余盘:可额外准备一块或多块冗余盘,以便当成员盘故障时实现自动替换(热备份)
冗余空间=校验盘+冗余盘
最大磁盘利用率=(N-1)/N
【补充】RAID6
与RAID5类似,最少需4块磁盘
其中有2块成员盘的容量做为校验盘
最大磁盘利用率=(N-2)/N
磁盘标识:
83
82
b
8e
fd
3.RAID阵列的实现方式
硬RAID:由RAID控制卡管理阵列
主板-->阵列卡-->磁盘-->操作系统-->数据
软RAID:由操作系统来管理阵列
主板-->磁盘-->操作系统-->RAID软件-->数据
4.Linux软RAID管理—— mdadm
格式:mdadm -C 阵列名 [选项]... 成员盘...
相关选项:
-C:新建阵列设备 【--create】
-l:指定RAID级别 【--level=】
-n:指定成员磁盘数量 【--raid-devices=】
-x:指定冗余盘个数 【--spare-devices=】
-v:显示详细执行过程信息 【--verbose】
-Q 磁盘设备 查看阵列信息
-D 磁盘设备 产看详细阵列信息
-S 磁盘设备 解散阵列
rm –rf 设备 彻底删除阵列
比如,创建RAID 5阵列:
mdadm -C /dev/md0 -l5 -n4 /dev/sd[c-f]
5.RAID5软阵列应用过程
1)准备成员盘,比如 /dev/{sdc,sdd,sde,sdf}
** 如果使用一个分区作为成员盘,建议用fdisk将分区类型改成 fd
** 否则(整块磁盘作为成员)不需要分区再改类型ID
2)创建RAID5软阵列
mdadm -C /dev/md0 -l5 -n4 /dev/sd[c-f]
ls -lh /dev/md0
3)格式化RAID软阵列
mkfs.ext3 /dev/md0
4)挂载并访问阵列
mkdir /mymd 【建挂载点目录】
mount /dev/md0/mymd/ 【挂载阵列】
ls >/mymd/mdtest.txt 【测试写】
head -1/mymd/mdtest.txt 【测试读】
5)磁盘故障测试
直接移除一个成员盘,阵列仍能正常访问
6.RAID阵列监控、故障恢复
将故障盘标记为故障:
mdadm 阵列设备 -f 成员盘 【--fail】
比如:mdadm /dev/md0 -f /dev/sdc
阵列查询(-Q或--query、-D或--detail):
mdadm --query /dev/md0
mdadm --detail /dev/md0
查询阵列状态:
cat /proc/mdstat
** 标记为 (F) 的成员盘为故障盘,对应状态位为 _
** 结合watch工具可持续观察一个命令输出,默认每2秒钟刷新一次
** 比如: watch cat /proc/mdstat
故障盘的替换:
mdadm 阵列设备 -r 成员盘 【--remove,移除故障盘】
比如:mdadm /dev/md0 -r /dev/sdc
mdadm 阵列设备 -a 成员盘 【--add,添加新的成员盘】
比如:mdadm /dev/md0 --add /dev/sdc
7.RAID阵列的解散、重组
扫描并保存阵列(复合选项 -vDs)
查看:mdadm --verbose --detail --scan
或者 mdadm -vDs
保存为配置文件:mdadm -vDs > /etc/mdadm.conf
解散(删除)阵列:
umount /mymd 【若阵列正在使用,需要先卸载】
mdadm -S /dev/md0 【--stop】
重组阵列(必须有配置文件):
mdadm -A/dev/md0 【--assemble】
mdadm -vDs >/etc/mdadm.conf
创建配置文件
cat/proc/mdstat
watch cat /proc/mdstat 时时 刷新
raid5软阵列故障盘替换
step1标记失效盘
step2移除失效的盘
step插入新的盘
标记失效盘
mdadm /dev/md0 –f /dev/sde
故障盘的替换:
mdadm 阵列设备 -r 成员盘 【--remove,移除故障盘】
比如:mdadm /dev/md0 -r /dev/sdc
mdadm 阵列设备 -a 成员盘 【--add,添加新的成员盘】
比如:mdadm /dev/md0 --add /dev/sdc
保存阵列
mdadm–vDs > /etc/mdadm.conf
原文地址:http://315805980.blog.51cto.com/2027806/1555275