美文网首页
「Linux就该这么学」读书笔记(五)

「Linux就该这么学」读书笔记(五)

作者: LL大L | 来源:发表于2018-07-24 21:21 被阅读124次

    欢迎来我的博客

    RAID(独立冗余磁盘阵列)

    通过把多个硬盘设备组合成一个容量更大、安全性更好的磁盘阵列,并把数据切割成多个区段后分别存放在各个不同的物理硬盘设备上,然后利用分散读写技术来提升磁盘阵列整体的性能,同时把多个重要数据的副本同步到不同的物理硬盘设备上

    RAID 0

    能够有效的提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力,数据会被分开写入到不同的硬盘设备中

    RAID 1

    在写入数据时,将数据同时写入到多块硬盘设备上,当其中一块硬盘出错时,会自动替换

    RAID 5

    把硬盘设备的数据奇偶校验信息保存到其他硬盘设备中,这样任何一个设备损坏后不至于出现致命缺陷

    RAID 10

    RAID 0和RAID 1的组合体,继承了RAID 0的高读写速度和RAID 1的数据安全性,在不考虑成本的情况下RAID 10的性能都超过了RAID 5

    mdadm

    管理Linux 系统中的软件RAID硬盘阵列

    参数 作用
    -a 检测设备名称
    -n 指定设备数量
    -l 指定RAID界别
    -C 创建
    -v 显示过程
    -f 模拟设备损坏
    -r 移除设备
    -Q 查看摘要信息
    -D 查看详细信息
    -S 停止RAID磁盘阵列
    -x 备份盘数量

    使用4块硬盘来部署RAID 10,并挂载硬盘,最后将挂载信息写入到配置文件中

    # mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
    # mkfs.ext4 /dev/md0
    # mkdir /RAID
    # mount /dev/md0 /RAID
    # df -h
    etc...
    /dev/md0  40G  49M 38G 1% /RAID
    # echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
    

    损坏硬盘阵列及修复

    这里模拟一下RAID 磁盘阵列损坏后的处理方法

    使用madadm命令将坏掉的硬盘移除,然后查看RAID磁盘阵列的状态,这时可以发现状态已经改变,再模拟一个新的硬盘,重启系统,接着把新的硬盘添加到RAID磁盘阵列中

    # mdadm /dev/md0 -f /dev/sdb
    mdadm: set /dev/sdb faulty in /dev/md0
    # mdadm -D /dev/md0
    etc...
    0 8 16 - faulty    /dev/sdb
    # umount /RAID
    # mdadm /dev/md0 -a /dev/sdb
    # mdadm -D /dev/md0
    etc...
    Number Major Minor RaidDevice State
    4 8 16 0 active sync /dev/sdb
    1 8 32 1 active sync /dev/sdc
    2 8 48 2 active sync /dev/sdd
    3 8 64 3 active sync /dev/sde
    # mount -a
    

    磁盘阵列+备份盘

    RAID 10 最多允许50%的硬盘设备发生故障,但是存在一些极端情况,这时我们需要用到备份盘

    这里的例子是RAID 5,一共使用4块硬盘,其中一个是用来备份,用 -x 来表示数量,当硬盘出现问题时,备份盘会自动顶替出问题的硬盘,并回复数据

    # mdadm -Cv /dev/md0 -n 3 -l 5 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde
    etc...
    # mdadm -D /dev/md0
    etc...
    Number Major Minor RaidDevice State
    0      8     16    0          active sync /dev/sdb
    1      8     32    1          active sync /dev/sdc
    4      8     48    2          active sync /dev/sdd
    3      8     64    -          spare       /dev/sde
    # mkfs.ext4 /dev/md0
    etc...
    # echo "/dev/md0 /RAID ext4 defaults 0 0" >> /etc/fstab
    # mkdir /RAID
    # mount -a
    

    LVM(逻辑卷管理器)

    在硬盘分区或者部署为RAID磁盘阵列后,用户想要调整硬盘分区的大小时,需要用到LVM技术,该技术可以允许用户对硬盘资源进行动态调整

    部署逻辑卷

    功能/命令 物理卷管理 卷组管理 逻辑卷管理
    扫描 pvscan vgscan lvscan
    建立 pvcreate vgcreate lvcreate
    显示 pvdisplay vgdisplay lvdisplay
    删除 pvremove vgremove lvremove
    扩展 vgextend lvextend
    缩小 vgreduce lvreduce

    部署:

    1. 让添加的设备支持LVM技术
    2. 将两块硬盘设备加入到storage卷组中
    3. 切割出一个150MB的逻辑卷设备
    4. 把生成好的逻辑卷格式化,挂载使用
    5. 写入配置文件
    # pvcreate /dev/sdb /dev/sdc
    etc...
    # vgcreate storage /dev/sdb /dev/sdc
    etc...
    # vgdisplay
    etc...
    Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiB
    etc...
    # lvcreate -n vo -l 37 storage
    etc...
    # lvdisplay
    etc...
    LV Size 148.00MiB
    etc...
    # mkfs.ext4 /dev/storage/vo
    etc...
    # mkdir /lvm
    # mount /dev/storage/vo /lvm
    # df -h
    etc...
    /dev/mapper/storage-vo 145M 7.6M 138M 6% /lvm
    # echo "/dev/storage/vo /lvm ext4 defaults 0 0" >> /etc/fstab
    

    扩容逻辑卷

    扩容:

    1. 把逻辑卷vo扩展至290MB
    2. 检查硬盘完整性,并重置硬盘容量
    3. 重新挂载硬盘设备并查看挂载状态
    # umount /lvm
    # lvextend -L 290M /dev/storage/vo
    etc...
    # e2fsck -f /dev/storage/vo
    etc...
    # resize2fs /dev/storage/vo
    # mount -a
    # df -h
    etc...
    /dev/mapper/storage-vo 279M 2.1M 259M 1% /lvm
    

    缩小逻辑卷

    缩小:

    1. 检查文件系统的完整性
    2. 把逻辑卷的容量减小到120MB
    3. 重新挂载文件系统并查看系统状态
    # umount /lvm
    # e2fsck -f /dev/storage/vo
    etc...
    # resize2fs /dev/storage/vo 120M
    etc...
    # lvreduce -L 120M /dev/storage/vo
    etc...
    # mount -a
    # df -h
    etc...
    /dev/mapper/storage-vo 113M 1.6M 103M 2% /lvm
    

    逻辑卷快照

    快照:

    1. 使用-s参数生成一个快照卷,使用-L参数指定切割的大小
    2. 在逻辑卷所挂载的目录中创建一个100MB的垃圾文件,然后再看快照卷的状态可以发现存储空间占用的量上升了
    3. 校验SNAP快照卷的效果,需要对逻辑卷进行快照还原操作
    4. 快照卷会被自动删除掉
    # vgdisplay
    etc...
    Alloc PE / Size 30 / 120.00 MiB Free PE / Size 10208 / 39.88 GiB
    etc..
    # lvcreate -L 120M -s -n SNAP /dev/storage/vo
    etc...
    # lvdisplay
    etc...
    # dd if=/dev/zero of=/lvm/files count=1 bs=100M
    etc..
    # lvdisplay
    etc...
    Allocated to snapshot 83.71%
    etc...
    # umount /lvm
    # lvconvert --merge /dev/storage/SNAP
    etc...
    # mount -a
    # ls /lvm/
    

    相关文章

      网友评论

          本文标题:「Linux就该这么学」读书笔记(五)

          本文链接:https://www.haomeiwen.com/subject/amaymftx.html