Linux之磁盘阵列(Raid)介绍和LVM创建

1.磁盘阵列

磁盘阵列(raid):有独立磁盘构成的具有冗余能力的阵列。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

raid0:(一种简单的、无数据校验的数据条带化技术)它的性能是所有raid中是最好的。
特点:成本低,高读写性能;
100%的高存储空间利用率;
不提供数据冗余保护,数据一旦损坏,无法恢复;
适用场景:一般适用于对性能要求严格,但对数据安全性和可靠性不高的应用;如视频、音频存储、临时数据缓存空间。
raid1:(镜像存储)
特点:数据完全一致的分别写到工作磁盘和镜像磁盘;
磁盘空间利用率为50%;
数据写入时,响应时间会有所影响,但是读数据时无影响;
提供数据保护,当工作磁盘发生故障,系统自动的从镜像磁盘中读取数据,不影响用户工作;
raid5:(最少 3 块盘)
特点:具有很好的扩展性,当磁盘数量增加时,并行操作的能力也随之增长;
可同时存储数据和校验数据,当一个数据盘损坏时,系统可以根据同一条带的其他数据和对应的校验数据来重建损坏的数据;
兼顾存储性能,数据安全和存储成本等因素;
raid6:(最少 4 快盘)
特点:不仅支持数据的恢复,还支持检验数据的恢复;
可以保护阵列中两个磁盘失效而造成的数据丢失(校验数据可以分别存储在两个不同的校验盘上,或者分散在所有成员磁盘中;)
raid 0 1(先条带,在镜像;本质是对物理磁盘做镜像)****兼容了raid0和raid1的优点;磁盘利用率仅50%;
raid1 0先镜像,再条带;对虚拟磁盘实现镜像

2.创建软raid

(用mdadm工具创建和维护软raid)
–c :创建一个新的软raid,后接raid设备名的名称 /dev/md0 /dev/md1
–A:加载一个已经存在的阵列,后接raid设备名的名称
–D:输出指定设备的详细信息
–s:停止指定的raid设备
–l:设置raid的级别
–n:指定磁盘阵列中活动磁盘的数目
–spare-devices:指定阵列中的备用磁盘数目
创建分区(并在硬盘上创建几个分区):fdisk /dev/sdb
创建raid5(其中/dev/sde1为备用设备、其余为活动设备):mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sd[b-e]1
查看raid详细信息:mdadm --detail /dev/md0
创建raid的配置文件:mdadm --detail --scan > /etc/mdadm.conf
(当前的mdadm.conf文件内容不符合规定格式,不生效,需要手工修改vi /etc/mdadm.conf DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 )
创建文件系统:mkfs.ext4 /dev/md0

3.维护软raid

标记/dev/sdc1为故障磁盘:mdadm /dev/md0 --fail /dev/sdc1
查看阵列状态:cat /proc/mdstat (/proc/mdstat文件可查看当前阵列状态)
移除故障磁盘:mdadm /dev/md0 ==remove /dev/sdc1
添加新硬盘:mdadm /dev/md0 --add /dev/sdc1

4.LVM逻辑卷

(LVM是Linux中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上,文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性;/boot分区不能基于LVM创建,必须独立出来)
PE:物理卷中最小的基本单元,它的大小可配置,默认是4MB
PV(物理卷):物理的磁盘分区;
指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备,是LVM的 基本存储逻辑块。
VG(卷组):LVM的物理磁盘分区;
类似于非LVM系统中的物理硬盘,由物理卷组成;可以在卷组上创建一个或多个LVM分区,LVM由一个或多个物理卷组成。
LV(逻辑卷):从VG中划分的逻辑分区;
类似于非LVM系统中的硬盘分区,在逻辑卷上可以建立文件系统。
LE:LE和PE的大小是相同的,并且一一对应。

4.1 pv相关命令

pvcreate:创建pv
pvsvs:查看pv信息 pvdisplay:查看pv详细信息
pvscan:在系统中扫描硬盘,列出找到的物理卷列表
-e 仅显示属于卷组的物理卷
-n 仅显示不属于任何卷组的物理卷
-s 短格式输出
-u 显示UUID
pvremove:移除物理卷
pvmove:移除物理卷中的PE,即将硬盘上的数据转移到其他硬盘上

4.2 vg相关命令

vgcreate:创建卷组 vgcreate 卷组名 /dev/sd{b,c,d}
-s 指定PE的大小 vgcreate -s 100M 卷组名 /dev/sd{b,c,d}
vgextend:向卷组中添加成员 vgextend 卷组名 /dev/sd{e,f}
cgreduce:从卷组中删除成员 vgreduce 卷组名 /dev/sd{e,f}
vgremove:删除卷组 vgremove 卷组名
vgs:查看卷组信息
vgdisplay:查看卷组的详细信息
vgrename:更改卷组的名称 vgrename 旧卷组名 新卷组名
vgchange:改变卷组的工作状态 vgchange -a y | n 卷组名

4.3 LV的相关命令

lvcreate:创建逻辑卷
-n:指定逻辑卷的名称
-L:指定逻辑卷的大小(使用空间容量进行指定) lvcreate -L 100M -n mylv myvg
-l:指定逻辑卷的大小(使用PE的个数进行指定) lvcreate -l 10 -n mylv myvg
-s:指明创建的逻辑卷为快照 lvcreate -s -n mylv -L 100M /dev/myvg/mylv -p r
-p:设置属性(r 设置制度属性)
lvextend:扩展逻辑卷的大小 lvextend -L +500M /dev/myvg/mylv
lvreduce:所见逻辑卷的大小 lvreduce -L 10G /dev/myvg/mylv
lvrename:更改逻辑卷的名称 lvrename 旧名称 新名称
lvs:查看lv的信息
lvdisplay:查看lv的详细信息
lvremove:删除逻辑卷
lvconvert:恢复快照,快照在恢复后被删除 lvconert --merge /dev/myvg/mylv

4.4 创建LVM

创建物理磁盘:/dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4
创建pv:pvcreate /dev/sdb1 /dev/sdb2
创建vg:vgcreate myvg /dev/sdb1 /dev/sdb2
创建lv:lvcreat -L 100M -n mylv myvg (按空间容量)
lvcreat -l 100 -n mylv myvg (按PE个数)
创建文件系统并挂载:mkfs.ext4 /dev/myvg/mylv
查看:df -Th

4.5 VG管理

扩展vg vgextend myvg /dev/sdb5
缩减vg dd if=/dev/zero of=/mnt/mylv/lvfile bs=1 count=20
pvs
pvmove /dev/sdb1 (将数据挪到其它的pv)
vgreduce myvg /dev/sdb1
vgs

4.6 LV 扩容

(必须有足够的vg才可以扩容lv)
lvextend -L +500M /dev/nyvg/mylv (给lv扩容500M)
lvs
df -h |grep mylv (查看当前lv大小)
resize2fs /dev/myvg/mylv (重新创建文件系统)
df -h |grep mylv (查看扩容后的文件系统大小)

4.7 LV 缩减

umount /dev/myvg/mylv(必须先卸载逻辑卷)
df -h
e2fsck -f /dev/myvg/mylv (检查逻辑空间;必须强制检测,否则缩减的时候会提示)
第一步:检查inode,块,大小
第二步:检查目录结构
第三步:检查目录连接性
第四步:检查参数
第五步:检查簇概要信息
resize2fs /dev/myvg/mylv (重置文件系统大小)
resize2fs /dev/myvg/mylv 500M (缩减文件系统到500M)
lvreduce -L -500M /dev/myvg/mglv (缩减逻辑卷500M)
mount /dev/myvg/mylv /mnt/mylv
df -h |grep mylv (查看缩减后的逻辑卷大小)

4.8 删除逻辑卷

先卸载逻辑卷umount
修改/etc/fstab 里面逻辑卷的挂载信息
lvrrmove 删除逻辑卷
vgremove 删除卷组
pvremove 将物理卷转化为普通分区

5. LVM快照

VG中需要预留存放快照本身的空间,不能全部被占满
快照所在的vg必须与备份的lv相同
如果快照卷满了,则会自动失效,因为快照区记录的是数据变化前的数据,也就是说数据的修改量不能超过快照区的大小,否则这个快照就不能用了。
创建快照:lvcreate -L 20M -s -n /dev/myvg/mylv
lvdisplay
删除快照:lvremove /dev/myvg/mysnop
通过快照恢复数据
给创建好的lv中写入数据
echo “hello” > mysnop_file
cat mysnop_file
创建快照
lvcreate -L 20M -s -n mysnop /dev/myvg/mylv
lvdisplay | grep %
dd if =/dev/zero of = /mnt/mylv/lvfile bs=1M count=5
lvdisplay | grep %
echo “hello” > mysnop_file2
ls
恢复原始数据
lvconvert --merge /dev/myvg/mysnop
mount /dev/myvg/mylv /mnt/mylv/
cd /mylv/
ls -lh (数据已恢复到原始状态)

6.文件系统

inode table:存储文件的元数据(文件权限、时间戳、指向block的指针等信息)
date block:存储文件的实际数据
Linux正统的文件系统的(如ext2\ext3\ext4)一个文件由目录项、inode和数据块组成。
目录项:包括文件名和inode节点号
inode:又称文件索引节点,是文件基本信息的存放地和数据块指针存放地。
数据块:文件具体内容存放地。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值