一、RAID

1.什么是raid

磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。

2.raid诞生背景

提高读写能力

保证数据安全

3.raid有什么用

提高读写能力

保证数据安全

4.raid的模式

raid1 条带卷,最少两块盘。读写性能好,但没有容错机制。坏一块磁盘数据全丢。容量是多快盘之和

raid1 镜像卷,写入性能一般、读取性能快、有容错机制,但磁盘有50%浪费

raid5 校验卷, 至少3快盘,只允许坏一块盘,有效空间1/3,读写速度快。坏掉一块盘,读会慢。
-------------------
raid10:raid1和raid0的组合

4.1实验环境:

sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sdd 8:48 0 20G 0 disk
sde 8:64 0 20G 0 disk
sdf 8:80 0 20G 0 disk
sdg 8:96 0 20G 0 disk
sdh 8:112 0 20G 0 disk

4.2.安装模拟环境的软件

yum install mdadm -y 

mdadm命令常见参数解释:
-A 激活磁盘阵列
-C 建立一个新阵列
-D 打印阵列设备的信息
-G 改变阵列大小或形态
-S 停止阵列 -r 移除设备
-l 设定磁盘阵列的级别
-n 指定阵列磁盘的数量
-x 指定阵列中备用盘的数量
-f 将设备状态定为故障
-a 添加设备到阵列

4.3.实验

创建RAID0实验环境

raid种类  磁盘
1.创建RAID0
[root@oldboy ~]# mdadm -C -v /dev/md0 -l 0 -n 2 /dev/sdb /dev/sdc [root@oldboy ~]# mdadm -Ds
ARRAY /dev/md0 metadata=1.2 name=oldboy:0 UUID=55b053ef:4e189cab:e892fbe9:33317588

创建RAID1实验环境

raid种类  磁盘  热备盘
raid1 sdd、sde、 sdf 1)创建RAID1,并添加1个热备盘
2)模拟磁盘故障,看备用盘是否会自动顶替故障盘
3)从raid1中移出故障盘 [root@oldboy ~]# mdadm -C -v /dev/md1 -l 1 -n 2 -x 1 /dev/sd[d,e,f]

创建RAID5实验环境

raid种类  磁盘  热备盘
raid5 sdg、sdh、sdi sdj 1)使用三块盘创建RAID5, 使用-x添加1个热备盘
2)模拟损坏一块磁盘,然后备用盘自动顶上,只能顶一次
3)在模拟损坏,检测数据是否丢失,如果没有再次模拟损坏. 1、创建RAID5阵列,添加一块备用盘
[root@oldboy ~]# mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 /dev/sd{g,h,i,j} 2、格式化RAID5,并挂载使用
[root@oldboy ~]# mkfs.xfs /dev/md5
[root@oldboy ~]# mkdir /raid5
[root@oldboy ~]# mount /dev/md5 /raid5/ 3、检查RAID详情
[root@oldboy ~]# mdadm -D /dev/md5 4、模拟一块磁盘损坏
[root@oldboy ~]# mdadm -f /dev/md5 /dev/sdj 5 检查备用盘是否顶上
[root@oldboy ~]# mdadm -D /dev/md5 6、在模拟一块磁盘损坏
[root@oldboy ~]# mdadm -f /dev/md5 /dev/sdh ......持续此步骤进行验证

二、LVM

sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk

1.实现逻辑卷

1.将普通磁盘转为pv物理卷
[root@oldboy ~]# pvcreate /dev/sdb 2.将/dev/sdb物理卷加入卷组(资源池)-->名字lvm_test
[root@oldboy ~]# vgcreate lvm_test /dev/sdb 3.分配lv逻辑卷(分区)
[root@oldboy ~]# lvcreate -L 100M -n lv1 lvm_test 4.格式化分区
[root@oldboy ~]# mkfs.xfs /dev/lvm_test/lv1 5.挂载使用
[root@oldboy ~]# mount /dev/lvm_test/lv1 /lv1/

2.扩展vg卷组的大小

分配一个25GB的存储空间 (原有的不到20GB)

1.如何扩大VG卷组 (注意卷组的名称---)

#1.新硬盘加入pv
[root@xuliangwei~]# pvcreate /dev/sdc #2.先检查当前的vg卷组大小
[root@oldboyedu ~]# vgs
VG #PV #LV #SN Attr VSize VFree
datavg 1 1 0 wz--n- 1020.00m 920.00m #3.使用vgextend扩展卷组
[root@xuliangwei~]# vgextend datavg /dev/sdc
Volume group "datavg" successfully extended #4.再次检查,发现卷组已经扩大
[root@oldboyedu ~]# vgs
VG #PV #LV #SN Attr VSize VFree
datavg 2 1 0 wz--n- 1.99g 1.89g

3.减少vg卷组的大小

假设想移除/dev/sdb磁盘,建议先将sdb磁盘数据先迁移到sdc磁盘,然后在移除。

(同一卷组的磁盘才可以进行在线迁移) (注意卷组的名称---)

#1.检查当前逻辑卷VG中PV使用情况
[root@xuliangwei~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb vg1 lvm2 a -- 2.00g 1.76g
/dev/sdc vg1 lvm2 a -- 2.00g 2.00g #2.pvmove在线数据迁移,将sdb的数据迁移至sdc
[root@xuliangwei~]# pvmove /dev/sdb
/dev/sdb: Moved: 100.00% #3.检查是否将sdb数据迁移至sdc
[root@xuliangwei~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb vg1 lvm2 a -- 2.00g 2.00g
/dev/sdc vg1 lvm2 a -- 2.00g 1.76g #4.从卷组中移除sdb磁盘
[root@xuliangwei~]# vgreduce datavg /dev/sdb
Removed "/dev/sdb" from volume group "datavg"

4.动态的调整逻辑卷大小

1.逻辑卷的扩展,是取决于vg卷中是否还有剩余的容量,注意扩展逻辑卷不能超过卷组VG的总大小

[root@xuliangwei~]# vgs
VG #PV #LV #SN Attr VSize VFree
datavg 1 1 0 wz--n- 1020.00m 920.00m #1.扩展lv逻辑卷,增加800M分配给逻辑卷 {注意: 800M +800M 不一样}
[root@xuliangwei~]# lvextend -L +800M /dev/datavg/lv1
#或者可以选择分配磁盘池中多少百分比给逻辑卷
[root@xuliangwei~]# lvextend -l +50%FREE /dev/datavg/lv1 #2.扩展逻辑卷后需要更新fs文件系统
[root@xuliangwei~]# xfs_growfs /dev/datavg/lv1 #xfs文件格式扩容

5.删除逻辑卷

3.删除逻辑卷,如果不想使用逻辑卷可以选择删除
[root@oldboyedu ~]# umount /dev/datavg/lv1
[root@oldboyedu ~]# lvremove /dev/datavg/lv1 LVM如果有一个磁盘损坏,整个lvm都坏了. lvm只有动态扩展作用
底层用RAID + 上层LVM = 既有冗余又有动态扩

6.总结

 1.RAID
2.RAID模式 0 1 5 10
3.RAID实现 硬 软
4.系统的mdadm工具实现的软RAID (看看效果) 5.LVM逻辑卷
动态调整分区的大小(如果不是逻辑卷,无法调整)
PV pvcreate pvs
VG vgcreate vgextend vgremove vgs
LV lvcreate lvextend lvremove lvs

17、RAID和LVM的更多相关文章

  1. linux入门系列13--磁盘管理之RAID、LVM技术

    前一篇文章学习了磁盘分区.格式化.挂载等相关知识,本文将讲解RAID和LVM技术. 磁盘管理操作主要是运维人员用的较多,如果只是单纯的开发人员,可以先略过本文.但是在很多小公司里往往都是一人多用,运维 ...

  2. RAID和LVM

    EXT家族支持度最广,但创建文件系统慢修复慢存储容量有限 XFS同样是日志文件系统:容量大,支持大存储高性能,创建/修复文件系统快inode与block都是系统需要用到时,才动态配置产生 基本分区(静 ...

  3. 第7章 使用RAID与LVM磁盘阵列技术

    章节简述: 您好,此章节为新增加的知识内容,正在努力的排版完善,预习2016年9月中旬完成,感谢您的支持,QQ群:340829. 7.1  磁盘冗余阵列 1988年由加利福尼亚大学伯克利分校发表的文章 ...

  4. 使用RAID与LVM磁盘阵列技术。

    7.2 LVM逻辑卷管理器 前面学习的硬盘设备管理技术虽然能够有效地提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为RAID磁盘阵列之后,再想修改硬盘分区大小就不容易了.换句话说,当 ...

  5. RAID与LVM磁盘阵列技术

    RAID(Redundant Array of Independent Disks,独立冗余磁盘阵列) RAID概念: RAID技术通过把多个硬盘设备组合成一个容量更大.安全性更好的磁盘阵列,并把数据 ...

  6. 【linux之挂载,Raid,LVM】

    一.挂载,卸载 挂载:将新的文件系统关联至当前根文件系统卸载:将某文件系统与当前根文件系统的关联关系移除 cat /etc/mtab 存储着已经挂载的文件系统 (跟 mount 一样) mount:显 ...

  7. Linux - RAID和LVM

    什么是 RAID 磁盘阵列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列. RAID 可以透过一个技术(软件或 ...

  8. 第8天【文件系统挂载、ext文件系统及read命令、Linux RAID、lvm应用】

    文件系统挂载与管理工具(01)_recv 文件系统管理: 将额外文件系统与根文件系统某现存的目录建立关联关系,进而使得此目录作为其他文件访问入口的行成为挂载: 解除此关联关系的过程 吧设备关联挂载点: ...

  9. RAID和LVM磁盘阵列

    RAID磁盘冗余阵列 CPU的处理性能保持着高速增长,Intel公司在2017年最新发布的i9-7980XE处理器芯片更是达到了18核心36线程.但与此同时,硬盘设备的性能提升却不是很大,因此逐渐成为 ...

随机推荐

  1. javascript的历史和入门

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. TortoiseGit的安装

    运行TortoiseGit-1.7.7.0-32bit.msi, 如下图 点击Next, 下一步 点击Next, 下一步 选择ssh客户端, 使用默认, 点击Next, 下一步 选择安装路径, 点击N ...

  3. The inherit, initial, and unset values

    The  inherit, initial, and unset keywords are special values you can give to any CSS property. Tests ...

  4. c++传递函数当作对象传递

    c++中函数当作对象来传递,类似c#中的指针操作如: #include <iostream> using namespace std; int tst(int a){ cout<&l ...

  5. promise 实现红绿灯

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 解决gradle项目每次编译都下载gradle-x.x-all.zip gradle-x.x-bin.zip

    想必有一些热爱技术的看官或者android开发人员都会接触gradle项目.中国用户每次下载都很慢,甚至狂躁(CTMD的什么人做的这种设计,每次下载都狗日慢的想死). 哦,不好意思,骂人了.不管你高不 ...

  7. JS进阶学习<一>

    一:区分大小写: 1. JS是区分大小写的,如:classname和ClassName是不一样的.同时注意方法.属性.变量等的大小写吆. 2. JS中的字符.符号等一定要在英文状态下输入吆. 二:变量 ...

  8. for循环使用

    cat > a.sh <<EOF #!/bin/bash export NODE_NAMES=(kube-test1 kube-test2 kube-test3 kube-test4 ...

  9. 小程序入门 MQTT物联网协议 publish 和订阅subscribe onenet 阿里云 百度云 基于GPRS模块(SIM800C/SIM900A/SIM868等)和STM32主控芯片

    本文基本公开了如何移植MQTT物联网协议到STM32平台上,并结合GPRS模块(SIM800C/SIM900A/SIM868等)实现publish和订阅topic从onenet,阿里云,百度云等.如果 ...

  10. 在vue中后台返回的文本包含标签时候解析为html代码

    1.数据格式: str=‘<p>11111</p>' 解析方式一: <p v-html="str">{{str}}</p> 解析方式 ...