• RAID和LVM


    EXT家族支持度最广,但
    创建文件系统慢
    修复慢
    存储容量有限

    XFS同样是日志文件系统:
    容量大,支持大存储
    高性能,创建/修复文件系统快
    inode与block都是系统需要用到时,才动态配置产生

    基本分区(静态)
           7*24小时
           不能随意重装系统,装系统时,必须提前规划好

    动态磁盘
    RAID介绍
    什么是raid
           raid是廉价冗余磁盘阵列(Redundant Arrays of Independent Drives,RAID)的简称,有时候也简称磁盘阵列(Disk Array)
    raid是一种把多块独立的物理磁盘按不同的技术方式组合起来形成一个磁盘组,在逻辑上(做完RAID,装系统后)看起来就是
    一块大的磁盘,从而提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又提供不同级别数据冗余备份的一种技术。

    RAID级别介绍
            把多个物理磁盘通过不同技术方式组成磁盘阵列,这个不同的技术方式就被称为RAID级别
    RAID级别一般Raid0、Raid1、Raid2、Raid3、Raid4、Raid5、Raid6、Raid7、Raid0+1(也称为raid10)、Raid53等
    生产环境常用的Raid级别为:Raid0、Raid1、Raid5、Raid10

    Raid级别      关键优点             关键缺点              实际应用场景
    0           读写速度最快           没有任何冗余          MySQL Slave,集群的节点RS
    1           100%冗余,镜像         读写性能一般,成本高  单独的,数据重要,且不能宕机的业务。监控、系统盘
    5           具备一定性能和冗余可以 写入性能不高          一般的业务都可以用
                坏一块盘。读性能不错
    10          读写速度很快,百分百   成本高                性能和冗余要求都很好的业务
                冗余                                         数据库主库和存储的主节点
                

    下表提供了7级RAID的简单定义

    Raid技术分类
    常见Raid技术分为两种
    基于硬件的Riad技术和基于软件的Raid技术
    1.软raid技术
    只有Windows2000/2003、Win9x/WinMe/Linux系统支持
    需要CPU配合,性能相对较低
    安全性不好,当有一块硬盘损坏时,它不能实现重建的功能
    通过在硬盘中模拟实现,成本较低

    2.硬raid技术
    所有系统都支持。
    从硬件直接支持RAIN,不需要额外性能
    当有硬盘丢失时,它可以实现重建,以及如果RAID卡损坏时,它可以通过更换RAID卡,实现不丢失数据的功能
    需要相应的硬件设备支持,成本较高

    互联网公司首选dell服务器,默认的就会支持raid0和raid1,如果需要raid5、raid10就需要买raid卡

    RAID和LVM的区别

    LVM源于HP,是LINUX平台下的一种综合存储解决方案。算是RAID的一个超集。不但实现了主流的RAID功能(span/stripe/mirror
    /stripemirror/RAID 4/RAID 5/RAID 6),而且还有快照和存储池支持;同时还支持在线数据迁移和卷级别的尺寸变动等功能。
    算是一种相当优秀的解决方案。当然,缺点跟软件RAID一样,需要占用CPU。

    LVM:灵活的管理磁盘的容量,有一定的冗余和性能功能,但很弱。
    RAID:更侧重性能和数据安全

    为什么使用RAID

    1.提高数据安全性
    2.提升数据读写性能
    3.提供更大的单一逻辑磁盘数据容量存储

    raid5案例:3+1(热备)

    1.准备四块硬盘
    [root@xiaoming ~]# lsblk | grep sd[d-g]
    sdd               8:48   0    5G  0 disk 
    sde               8:64   0    5G  0 disk 
    sdf               8:80   0    5G  0 disk 
    sdg               8:96   0    5G  0 disk 
    2.创建raid5
    [root@xiaoming ~]# yum install -y mdadm
    [root@xiaoming ~]#  mdadm -C /dev/md0 -l5 -n3 -x1 /dev/sd[d-g]
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md0 started.
    \相关选项解释
    -C        创建RAID
    /dev/md0  第一个raid设备
    -l5       Raid5
    -n3       raid成员三块硬盘
    -x1       热备磁盘一块硬盘
    3.格式化
    [root@xiaoming ~]# mkfs.xfs /dev/md0 
    
    4.挂载
    [root@xiaoming ~]# mkdir /mnt/raid5
    [root@xiaoming ~]# mount /dev/md0 /m
    5.查看raid信息
    [root@xiaoming ~]# mdadm -D /dev/md0 
    /dev/md0:
               Version : 1.2
         Creation Time : Mon Dec 30 12:10:14 2019
            Raid Level : raid5
            Array Size : 10475520 (9.99 GiB 10.73 GB)
         Used Dev Size : 5237760 (5.00 GiB 5.36 GB)
          Raid Devices : 3
         Total Devices : 4
           Persistence : Superblock is persistent
    
           Update Time : Mon Dec 30 12:17:13 2019
                 State : clean 
        Active Devices : 3
       Working Devices : 4
        Failed Devices : 0
         Spare Devices : 1
    
                Layout : left-symmetric
            Chunk Size : 512K
    
    Consistency Policy : resync
    
                  Name : xiaoming:0  (local to host xiaoming)
                  UUID : 5f80c18b:d803af9e:5b002baa:06c7dedf
                Events : 18
    
        Number   Major   Minor   RaidDevice State
           0       8       48        0      active sync   /dev/sdd
           1       8       64        1      active sync   /dev/sde
           4       8       80        2      active sync   /dev/sdf
    
           3       8       96        -      spare   /dev/sdg
    6.模拟一块硬盘错误
    开两个终端
    一个监控RAID信息
    
    一个模拟磁盘故障
    [root@xiaoming raid5]# mdadm /dev/md0 -f /dev/sde -r /dev/sde
    mdadm: set /dev/sde faulty in /dev/md0
    mdadm: hot removed /dev/sde from /dev/md0
    //-f fail
    //-r remove
    观察RAID卷的变化
    ...

    LVM简介

    logical volume manager
    实现动态分区
    CentOS6/7默认都是lvm分区

    物理卷(PV):把常规的块设备(硬盘、分区等可以读写数据的设备)通过PVcreate命令对其进行初始化,就成了物理卷
    卷组(VG):把多个物理卷的容量组成一个逻辑整体,可以从里面灵活分配容量
    逻辑卷(LV):从卷组中划分部分空间成为一个可以读写数据的逻辑单元。需要对其格式化然后挂载使用

    案例:基于RAID5的lvm

    1.创建过程:
    1)创建物理卷,添加物理磁盘
    2)创建卷组,添加物理卷加入该卷组
    3)在卷组中划分逻辑卷

    1.准备物理磁盘
    /dev/md0

    2.创建物理卷PV
    查看物理卷
    pvs
    pvscan
    pvdisplay
    [root@xiaoming ~]# yum install -y lvm2
    [root@xiaoming ~]# pvcreate /dev/md0 
      Physical volume "/dev/md0" successfully created.
    [root@xiaoming ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree
      /dev/md0          lvm2 ---    9.99g 9.99g
      /dev/sda2  centos lvm2 a--  <19.00g    0 
    3.创建卷组
    查看卷组
    vgs
    vgscan
    vgdisplay
    [root@xiaoming ~]# vgcreate datavg /dev/md0
      Volume group "datavg" successfully created
    [root@xiaoming ~]# vgs
      VG     #PV #LV #SN Attr   VSize   VFree 
      centos   1   2   0 wz--n- <19.00g     0 
      datavg   1   0   0 wz--n-  <9.99g <9.99g

    4.创建逻辑卷LV
    查看逻辑卷
    lvs
    lvscan
    lvdisplay
    [root@xiaoming ~]# lvcreate -L 2G -n lv1 datavg
      Logical volume "lv1" created.
    [root@xiaoming ~]# lvs
      LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      root centos -wi-ao---- <17.00g                                                    
      swap centos -wi-ao----   2.00g                                                    
      lv1  datavg -wi-a-----   2.00g  
    5.创建文件系统(格式化)
    mkfs.ext4 /dev/datavg/lv1
    mkfs.xfs /dev/datavg/lv2mkfs.xfs
    
    lv的写法
    /dev/mapper/datavg-lv1
    /dev/mapper/lv1
    UUID
        
    6.挂载并使用
    [root@xiaoming ~]# mkdir /mnt/lv1
    [root@xiaoming ~]# mount /dev/datavg/lv1 /mnt/lv1/

    数据迁移卷组VG,同一卷组的磁盘才可以进行在线迁移

    1.检查当前逻辑卷的使用情况
    [root@xiaoming ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree 
      /dev/md0   datavg lvm2 a--   <9.99g <5.99g
      /dev/sda2  centos lvm2 a--  <19.00g     0 
      /dev/sdc   datavg lvm2 a--   <5.00g <5.00g
    
    2.pvmove在线数据迁移至其他pv
    [root@xiaoming ~]# pvmove /dev/md0 
      /dev/md0: Moved: 5.86%
      /dev/md0: Moved: 50.00%
    
    [root@xiaoming ~]# pvs
      PV         VG     Fmt  Attr PSize   PFree   
      /dev/md0   datavg lvm2 a--   <9.99g   <9.99g
      /dev/sda2  centos lvm2 a--  <19.00g       0 
      /dev/sdc   datavg lvm2 a--   <5.00g 1020.00m

    扩容逻辑卷lv
    逻辑卷的扩展,取决于vg卷中剩余多少容量。

    [root@xiaoming ~]# lvextend -L +2G /dev/datavg/lv1
      Size of logical volume datavg/lv1 changed from 2.00 GiB (512 extents) to 4.00 GiB (1024 extents).
      Logical volume datavg/lv1 successfully resized.
    [root@xiaoming ~]# lvextend -l +50%FREE /dev/datavg/lv2
      Size of logical volume datavg/lv2 changed from 2.00 GiB (512 extents) to 6.49 GiB (1662 extents).
      Logical volume datavg/lv2 successfully resized.
    
    注意:必须使用下面的方式,更新扩展之后的lv
    //xfs扩容
    [root@xiaoming ~]# xfs_growfs /dev/datavg/lv1
    
    //ext扩容
    [root@xiaoming ~]# resize2fs /dev/datavg/lv2

    缩小逻辑卷

    1.如果已经挂载,先卸载需要缩容的lv
    [root@xiaoming ~]# umount /dev/datavg/lv1
    
    2.检测文件系统
    //ext检测
    [root@xiaoming ~]# fsck /dev/datavg/lv1
    fsck,来自 util-linux 2.23.2
    e2fsck 1.42.9 (28-Dec-2013)
    /dev/mapper/datavg-lv1: clean, 11/262144 files, 34894/1048576 blocks
    //xfs检测
    [root@xiaoming ~]# xfs_repair /dev/datavg/lv2
    注意:必须先卸载lv
    
    3.定义裁剪容量(ext4)
    [root@xiaoming ~]# resize2fs /dev/datavg/lv2 1G
    resize2fs 1.42.9 (28-Dec-2013)
    resize2fs: Bad magic number in super-block while trying to open /dev/datavg/lv2
    Couldn't find valid filesystem superblock.
    
    [root@xiaoming ~]# resize2fs /dev/datavg/lv1 1G
    resize2fs 1.42.9 (28-Dec-2013)
    Please run 'e2fsck -f /dev/datavg/lv1' first.
    注意:如果不成功,根据提示信息输入下面的命令
    [root@xiaoming ~]# e2fsck -f /dev/datavg/lv1
    [root@xiaoming ~]# resize2fs /dev/datavg/lv1 1G
    resize2fs 1.42.9 (28-Dec-2013)
    Resizing the filesystem on /dev/datavg/lv1 to 262144 (4k) blocks.
    The filesystem on /dev/datavg/lv1 is now 262144 blocks long.
    
    [root@xiaoming ~]# fsck /dev/datavg/lv1
    fsck from util-linux 2.23.2
    e2fsck 1.42.9 (28-Dec-2013)
    /dev/mapper/datavg-lv1: clean, 11/262144 files, 34894/1048576 blocks
    
    //裁剪容量(扩展,慎重)
    [root@xiaoming ~]# lvreduce -L 1G /dev/datavg/lv1
      WARNING: Reducing active logical volume to 1.00 GiB.
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce datavg/lv1? [y/n]: y
      Size of logical volume datavg/lv1 changed from 4.00 GiB (1024 extents) to 1.00 GiB (256 extents).
      Logical volume datavg/lv1 successfully resized.
    
    [root@xiaoming ~]fsck -f /dev/datavg/lv1
    fsck from util-linux 2.23.2
    e2fsck 1.42.9 (28-Dec-2013)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    /dev/mapper/datavg-lv1: 11/65536 files (0.0% non-contiguous), 21787/262144 blocks
    
    5.再次检测文件系统
    [root@xiaoming ~]# fsck /dev/datavg/lv1
    fsck from util-linux 2.23.2
    e2fsck 1.42.9 (28-Dec-2013)
    /dev/mapper/datavg-lv1: clean, 11/65536 files, 21787/262144 blocks
    
    6.挂载测试
    如果能够挂载,一般说明裁剪成功,文件系统没有损坏

    删除LV逻辑卷
    删除使用lv-vg-pv,保证都没使用

    //逻辑卷
    [root@xiaoming ~]# umount /dev/datavg/lv1
    [root@xiaoming ~]# lvremove /dev/datavg/lv1
    Do you really want to remove active logical volume datavg/lv1? [y/n]: y
      Logical volume "lv1" successfully removed
    
    //卷组
    [root@xiaoming ~]# vgremove /dev/datavg   
    Do you really want to remove volume group "datavg" containing 1 logical volumes? [y/n]: y
    Do you really want to remove active logical volume datavg/lv2? [y/n]: y
      Logical volume "lv2" successfully removed
      Volume group "datavg" successfully removed
    
    //物理卷
    [root@xiaoming ~]# pvremove /dev/md0 /dev/sdc 
      Labels on physical volume "/dev/md0" successfully wiped.
      Labels on physical volume "/dev/sdc" successfully wiped.

    总结
    RAID *****
            企业使用的硬件RAID(raid卡),保障磁盘的可靠性,提高磁盘的性能
    LVM  ***
            针对分区实现动态扩容
            pv vg lv

    磁盘分区企业应用:数据迁移
    常规生产环境分区一个/
    问题:/home /var /usr等目录数据增长较快

    解决方案:
    1、将新加的硬盘(RAID)分区格式化挂载
    2、cp(mv) -rpf /home/* 新分区挂载点
    3、mount 新分区 /home,写入/etc/fstab

          创建        查看       扩展        删除
    pv  pvcreate      pvs                    pvremove
                      pvscan
                      pvdisplay
    vg  vgcreate      vgs        vgextend    vgremove
                      vgscan
                      vgdisplay
    lv  lvcreate      lvs        lvextend    lvremove
                      lvscan
                      lvdisplay
  • 相关阅读:
    第一周作业
    第一周作业
    C语言I博客作业07
    C语言I博客作业06
    C语言I博客作业03
    C语言I博客作业04
    c语言|博客作业02
    字段的约束验证
    [转]AS IS ? ??运算符
    BindingManagerBase 跟踪不一致
  • 原文地址:https://www.cnblogs.com/xmtxh/p/12120356.html
Copyright © 2020-2023  润新知