RAID及LVM逻辑卷

一、RAID类型

1.RAID0
RAID0 条带集
个数:2,2+
利用率:100%
优缺点:读写性能提升,不容错

在这里插入图片描述

2、RAID1
RAID1 镜像集
个数:2,2+
利用率:50%
优缺点:读性能提升,写性能下降,有冗余能力

在这里插入图片描述

3、RAID5
RAID5 奇偶校验条带集
个数:3+
利用率:n-1
优缺点:读写性能提升,容错,允许坏一块盘

在这里插入图片描述

4、RAID6
RAID6奇偶校验条带集双校验
个数:4+
利用率:n-2
优缺点:读写性能提升,容错,允许坏2块盘

在这里插入图片描述

5、RAID50
RAID50
个数:6
利用率:n-2
优缺点:读写性能提升,容错
6、RAID60
RAID60
个数:8
利用率:n-4
优缺点:读写性能提升,容错
7、RAID01
RAID01
个数:4+
利用率:50%
优缺点:读写性能提升,容错

在这里插入图片描述

8、RAID10
RAID10
个数:4+
利用率:50%
优缺点:读写性能提升,容错

在这里插入图片描述

二、创建软RAID

mdadm工具:创建和维护软RAID

mdadm常用的参数:

–-create或-C:创建一个新的软RAID,后面接raid设备的名称。例如,/dev/md0,/dev/md1等。
–-assemble或-A:加载一个已存在的阵列,后面跟阵列以及设备的名称。
–-detail或-D:输出指定RAID设备的详细信息。
–-stop或-S:停止指定的RAID设备。
–-level或-l:设置RAID的级别,例如,设置“-–level=5”则表示创建阵列的级别是RAID 5。
–-raid-devices或-n:指定阵列中活动磁盘的数目。
–-spare-devices:指定阵列中的备用磁盘数目
–-scan或-s:扫描配置文件或/proc/mdstat文件来搜索软RAID的配置信息,该参数 不能单独使用,只能配置其它参数才 能使用。
–stop:停止raid

以创建软RAID5为例:

#创建完/dev/sdb{1,2,3,4}四个分区后,就可以创建RAID 5了,其中设定/dev/sdb4作为
备用设备,其余为活动设备,备用设备的作用是一旦某一设备损坏可以立即使用备用设备替换
[root@lz ~]# mdadm --create /dev/md0 --level=5 --raid-devices=3 --spare-devices=1 /dev/sdb[1-4]
mdadm: array /dev/md0 started.

[root@lz ~]# mdadm --detail /dev/md0     #查看RAID详细信息
/dev/md0:
    Version : 1.2
 Creation Time : Wed Apr  1 04:59:24 2020
 Raid Level : raid5
 Array Size : 222208 (217.00 MiB 227.54 MB)
 Used Dev Size : 111104 (108.50 MiB 113.77 MB)
 Raid Devices : 3
 Total Devices : 4
 Persistence : Superblock is persistent

 Update Time : Wed Apr  1 04:59:26 2020
      State : clean
 Active Devices : 3
 Working Devices : 4
 Failed Devices : 0
 Spare Devices : 1

     Layout : left-symmetric
 Chunk Size : 512K

       Name : lz:0  (local to host lz)
       UUID : bcb4bcfa:3f025798:7f463fc0:ec2c8c49
     Events : 18

Number   Major   Minor   RaidDevice State
   0       8       17        0      active sync   /dev/sdb1
   1       8       18        1      active sync   /dev/sdb2
   4       8       19        2      active sync   /dev/sdb3

   3       8       20        -      spare   /dev/sdb4
   
[root@lz ~]# mdadm --detail >scan /etc/mdadm.conf    #创建RAID的配置文件
mdadm: /etc/mdadm.conf does not appear to be an md device
[root@lz ~]# vi /etc/mdadm.conf
DEVICE /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=bcb4bcfa:3f025798:7f463fc0:ec2c8c49
[root@lz ~]# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb4  
 #手工加载软RAID,如果没有创建RAID的配置文件,每次系统启动后,需要手工加载软RAID才能使用
 
[root@lz ~]# mkfs.ext4 /dev/md0     #在设备/dev/md0上创建ext4的文件系统
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=512 blocks, Stripe width=1024 blocks
55552 inodes, 222208 blocks
11110 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
28 block groups
8192 blocks per group, 8192 fragments per group
1984 inodes per group
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

假定其中的/dev/sdb2设备出现故障时,更换一个新的磁盘
[root@lz ~]# mdadm /dev/md0 --fail /dev/sdb2     #将/dev/sdb2标记为出现故障的磁盘
mdadm: set /dev/sdb2 faulty in /dev/md0
[root@lz ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdb3[4] sdb4[3] sdb2[1](F) sdb1[0]
  222208 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices: <none>

[root@lz ~]# mdadm /dev/md0 --remove /dev/sdb2    #移除故障盘/dev/sdb2
mdadm: hot removed /dev/sdb2 from /dev/md0

[root@lz ~]# mdadm /dev/md0 --add /dev/sdb2     #添加新盘 
mdadm: added /dev/sdb2
[root@lz ~]# mdadm --detail /dev/md0
/dev/md0:
    Version : 1.2
 Creation Time : Wed Apr  1 04:59:24 2020
 Raid Level : raid5
 Array Size : 222208 (217.00 MiB 227.54 MB)
Used Dev Size : 111104 (108.50 MiB 113.77 MB)
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent

Update Time : Wed Apr  1 05:38:43 2020
      State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1

     Layout : left-symmetric
 Chunk Size : 512K

       Name : lz:0  (local to host lz)
       UUID : bcb4bcfa:3f025798:7f463fc0:ec2c8c49
     Events : 39

Number   Major   Minor   RaidDevice State
   0       8       17        0      active sync   /dev/sdb1
   3       8       20        1      active sync   /dev/sdb4
   4       8       19        2      active sync   /dev/sdb3

   5       8       18        -      spare   /dev/sdb2

三、LVM逻辑卷

LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下
的一个逻辑层, 可提高磁盘分区管理的灵活性。
1、基本的LVM术语:

①PE (Physical Extend) :每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的 PE是可以被LVM寻址的小单元。PE的大小是可配置的,默认为4MB。

②PV (Physical Volume) : 物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID), 是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

③VG (Volume Group) : LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建 一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

④LV (Logical Volume) :LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统 (比如/home或者/usr等)。

⑤LE (Logical Extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组 中,LE的大小和PE是相同的,并且一一对应。

在这里插入图片描述

2、LVM管理命令
  • PV相关命令

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

    vgcreated : 创建卷组     vgcreated vg0(创建卷组的名称) /dev/sd{c,d,e}    
         -s : 指定PE的大小         vgcreated –s 16M vg1 /dev/sd{d,f,g} 
    vgextend: 向卷组中添加成员     vgextend vg0 /dev/sd{c,e} 
    vgreduce:从卷组中删除成员     vgreduce vg0 /dev/sdc 
    vgremove: 删除卷组     vgremove vg0 
    vgs : 查看卷组信息 
    vgdisplay: 查看卷组的详细信息
    vgrename : 更改卷组的名称     verename vg0 lalala 
    vgchange : 改变卷组的工作状态  
    vgexport :导出卷组      vgexport vg0 
    vgimport :导入卷组     vgexport vg0
    
  • lv相关命令

    lvcreate: 创建逻辑卷     
        -n :指定逻辑卷的名称     
        -L :指定逻辑卷的大小,使用空间容量进行指定,-L ## 绝对容量 ,-L +## 增量容量    
        -l :指定逻辑卷的大小,使用PE的个数进行指定.-l ## 绝对数量 ,-l +## 增量个数  
        -s :指明创建的逻辑卷为快照    
        -p : r 设置只读属性            
    lvextent :扩展逻辑卷大小     lvextent –L +100G /dev/vg0/lv1 
    lvreduce :缩减逻辑卷大小     lvreduce –L 17G /dev/vg0/lv0 
    lvrename :更改逻辑卷名称     lvrename /dev/lalala/lv0 lalala0 
    lvs: 查看lv的信息
    lvdisplay : 查看lv 的详细信息 
    lvremove :删除逻辑卷 
    lvconvert :恢复快照,快照在恢复后被删除。    
    

例:

1、新增磁盘一块;
2、创建至少4个分区;
[root@localhost ~]# fdisk  /dev/sdb
[root@localhost ~]# ll /dev/sdb{1,2,3,4}
brw-rw----. 1 root disk 8, 17 4月   2 06:39 /dev/sdb1
brw-rw----. 1 root disk 8, 18 4月   2 06:39 /dev/sdb2
brw-rw----. 1 root disk 8, 19 4月   2 06:39 /dev/sdb3
brw-rw----. 1 root disk 8, 20 4月   2 06:39 /dev/sdb4
[root@localhost ~]# yum install lvm2 -y
已加载插件:fastestmirror
设置安装进程
Determining fastest mirrors
centos6.8                                                                                               | 4.0 kB     00:00 ...
包 lvm2-2.02.143-7.el6.x86_64 已安装并且是最新版本
无须任何处理

3、创建2块pv  大小100M  pvs;
[root@localhost ~]# pvcreate /dev/sdb1 /dev/sdb2
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
[root@localhost ~]# pvs
PV         VG   Fmt  Attr PSize   PFree
/dev/sdb1       lvm2 ---- 109.79m 109.79m
/dev/sdb2       lvm2 ---- 109.82m 109.82m

4、创建一组vg1 大小100M  vgs;
[root@localhost ~]# vgcreate vg1 /dev/sdb1 /dev/sdb2
Volume group "vg1" successfully created
[root@localhost ~]# vgs
VG   #PV #LV #SN Attr   VSize   VFree
vg1    2   0   0 wz--n- 216.00m 216.00m

5、创建lvm   大小100M  lvs;
[root@localhost ~]# lvcreate  -L 100M -n mylv1 vg1
Logical volume "mylv1" created.
[root@localhost ~]# lvs
LV    VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
mylv1 vg1  -wi-a----- 100.00m

6、新增vg2  100M;
[root@localhost ~]# pvcreate /dev/sdb3 /dev/sdb4
Physical volume "/dev/sdb3" successfully created
Physical volume "/dev/sdb4" successfully created
[root@localhost ~]# pvs
PV         VG   Fmt  Attr PSize   PFree
/dev/sdb1  vg1  lvm2 a--u 108.00m   8.00m
/dev/sdb2  vg1  lvm2 a--u 108.00m 108.00m
/dev/sdb3       lvm2 ---- 109.82m 109.82m
/dev/sdb4       lvm2 ---- 109.82m 109.82m
[root@localhost ~]# vgcreate vg2 /dev/sdb3 /dev/sdb4
Volume group "vg2" successfully created
[root@localhost ~]# vgs
VG   #PV #LV #SN Attr   VSize   VFree
vg1    2   1   0 wz--n- 216.00m 116.00m
vg2    2   0   0 wz--n- 216.00m 216.00m

7、扩容vg1	+100;
[root@localhost ~]# vgremove vg2
Volume group "vg2" successfully removed
[root@localhost ~]# pvremove /dev/sdb3 /dev/sdb4
Labels on physical volume "/dev/sdb3" successfully wiped
Labels on physical volume "/dev/sdb4" successfully wiped
[root@localhost ~]# vgextend vg1 /dev/sdb4
Physical volume "/dev/sdb4" successfully created
Volume group "vg1" successfully extended
[root@localhost ~]# vgs
VG   #PV #LV #SN Attr   VSize   VFree
vg1    3   1   0 wz--n- 324.00m 224.00m

8、扩容LV   300M;
[root@localhost ~]# lvextend -L 300M /dev/vg1/mylv1
Size of logical volume vg1/mylv1 changed from 100.00 MiB (25 extents) to 300.00 MiB (75 extents).
Logical volume mylv1 successfully resized.
[root@localhost ~]# lvs
LV    VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
mylv1 vg1  -wi-a----- 300.00m

9、格式化lv  ext4格式;
[root@localhost ~]# mkfs.ext4 /dev/vg1/mylv1
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
76912 inodes, 307200 blocks
15360 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=67633152
38 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
    8193, 24577, 40961, 57345, 73729, 204801, 221185
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

10、挂载到 /mnt/mylv
[root@localhost ~]# mount /dev/vg1/mylv1 /mnt/mylv
[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.8G  982M  8.3G  11% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             190M   30M  150M  17% /boot
/dev/sr0              3.7G  3.7G     0 100% /media
/dev/mapper/vg1-mylv1
                  283M  2.1M  266M   1% /mnt/mylv
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值