[linux学习](linuxprobe课程)七 使用RAID与LVM磁盘阵列技术。

RAID磁盘冗余阵列

RAID 0

  1. 白搭型,可以提高读写速度,因为做过RAID后两块或多块硬盘相当于一个整体,只是在读写的时候,会分别往两边的block写,例如两块硬盘做RAID0,一个文件大小为9KB,它将会在硬盘1取出一个incode写上文件属性,然后指向硬盘1的第一个4k block,不够了,则写入硬盘2的第一个4k block,还不够再写入硬盘1的第二个4kblock。
  2. 这么做读写速度会增加,但是一旦一个盘损坏,则文件因为缺失了其中某些block而无法还原,就相当于一块硬盘时,硬盘损坏的结果

RAID 1

  1. 难用型,多块硬盘同时写入,类似于做备份,但是是由CPU主导写入的实时备份。即写入硬盘1的同时也在写入硬盘2.
  2. 数据安全了,一个硬盘损坏了,另一个硬盘也可以用,但是CPU的压力增大,本来写一份,现在要写两份,而且利用率也低,只有百分之五十

RAID 5

  1. 妥协型,最少三个硬盘,比如一个13k的文件,会在硬盘1写入一个inode,指向硬盘1的一个4k block,地方不够,同时写到硬盘2的一个4k block,还不够,写到硬盘3的第一个block校验位,然后在硬盘1写入一个4k,硬盘3写入一个1k,硬盘2写入基于1,3的奇偶校验位
  2. 介于RAID 0 和 RAID 1 之间的方式
  3. 如果一个盘数据出问题,可以通过另外几个盘的奇偶校验位加数据,恢复损坏盘的数据

RAID10

  1. RAID一零,不是RAID十,是RAID0和RAID1的合体版
  2. 最少四块硬盘,先两个两个做RAID1,保证数据安全性,在两组做RAID0保证读写速度,虽然感觉和一块硬盘读写没啥区别

部署磁盘阵列

  1. 最好是磁盘大小一样,读写速度一样,不然他们会取最小的,浪费资源
  2. 放四块硬盘以用来做RAID10
  3. mdadm -Cv /dev/md10 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
    参数 作用
    -a 检测设备名称
    -n 指定设备数量
    -l 指定RAID级别
    -C 创建
    -v 显示过程
    -f 模拟设备损坏
    -r 移除设备
    -Q 查看摘要信息
    -D 查看详细信息
    -S 停止RAID磁盘阵列
  4. 剩下的和普通硬盘操作一样,分区格式化,挂载,写入挂载文件

RAID磁盘损坏和修复

  1. 确认损坏后 mdadm /dev/md10 -f /dev/sdb
  2. 新的硬盘放上后
    umount /dev/md10
    mdadm /dev/md19 -a /dev/sdb
    mdadm -D /dev/md10 等待同步完成
    mount /dev/md10
  3. 移除旧硬盘 mdadm /dev/md10 -r /dev/sdb

LVM逻辑卷管理器

作用

灵活配置分区大小,多个硬盘合理利用

配置过程

功能物理卷卷组逻辑卷
扫描pvscanvgscanlvscan
创建pvcreatevgcreatelvcreate
删除pvremovevgremovelvremove
显示pvdisplayvgdisplaylvdisplay
增加vgextendlvextend
缩小vgreducelvreduce
备份卷恢复lvconvert

e2fsck -f 逻辑卷 检查逻辑卷是否正常
resize2fs 逻辑卷 重置容量(在增加和缩小逻辑卷容量之后使用)

新增

  1. pvcreate /dev/sda pvcreate /dev/sdb 让sda,sdb能做LVM
  2. vgcreate ygjz /dev/sda /dev/sdb 创建又给卷组,把sda,sdb加入到该卷组
  3. lvcreate -n dygjz -l 25 ygjz 创建一个叫dygjz的逻辑卷,分配25*4M的资源,或者-L 100M
  4. msfs.ext4 /dev/ygjz/dygjz 格式化这个卷组,现在可以把它看作一个分区了,XFS不支持LVM
  5. mount

删除

  1. umount
  2. lvremove /dev/ygjz/dygjz
  3. vgremove ygjz
  4. pvremove /dev/sda

扩容

  1. umount
  2. lvextend -L 200M /dev/ygjz/dygjz 缩容
  3. e2fsck -f /dev/ygjz/dygjz 检测文件是否损坏
  4. resize2fs /dev/ygjz/dygjz 告诉文件系统硬盘大小发生改变
  5. mount

缩小

  1. umount
  2. e2fsck -f /dev/ygjz/dygjz 检测文件好着没
  3. resize2fs /dev/ygjz/dygjz 120M 询问文件管理系统,缩小到120M有没有问题
  4. lvreduce -L 120M /dev/ygjz/dygjz 如果没报错,就缩小
  5. mount

快照盘

  1. lvcreate -n SNAP -s -l 50 /dev/ygjz/dygjz 制作/dev/ygjz/dygjz的快照
  2. lvconvert --merge /dev/ygjz/SNAP 还原快照

知识点

  1. 扩容和缩小的命令执行顺序是不同的,扩容因为不会影响当前数据,直接扩就可以,扩完再告知文件系统,缩小因为可能影响到数据,比如一共200M,已经存了190M还要缩小到180M那么就会有问题,所以要先resize2fs申请下。
  2. 顺序正向pv—vg—lv,反向lv—vg—pv
  3. 是对硬盘的操作,不能是分区
  4. 快照盘是对当前状态的被快照盘进行备份
  5. 快照盘和普通逻辑卷的lvcreate <参数> 文件中的文件不同,普通盘是卷组,快照盘是被快照的。
  6. 快照还原后,快照盘会释放

一个大坑very big

千万别删除sda的分区也就是系统盘的分区,瞬间爆炸,至今没找到解决办法
别删系统盘的分区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值