raid

多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供

提高IO能力

    磁盘并行读写

提高耐用性

    磁盘冗余来实现

级别:多块磁盘组织在一起的工作方式有所不同

RAID实现的方式

    外接式磁盘阵列:通过扩展卡提供适配能力

    内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置

    软件RAID:通过OS实现

RAID级别

 RAID-0

  • 读、写性能提升
  • 可用空间:N*min(S1,S2,...)
  • 无容错能力
  • 最少磁盘数:2, 2+

 RAID-1

  • 读性能提升、写性能略有下降
  • 可用空间:N/2*min(S1,S2,...)     利用率50%
  • 有冗余能力
  • 最少磁盘数:2, 2N

 RAID-5

  • 读、写性能提升
  • 可用空间:(N-1)*min(S1,S2,...)      利用率 N-1/N
  • 有容错能力:允许最多1块磁盘损坏
  • 最少磁盘数:3, 3+

          

RAID-6

  • 读、写性能提升
  • 可用空间:(N-2)*min(S1,S2,...)     利用率  N-2/N
  • 有容错能力:允许最多2块磁盘损坏
  • 最少磁盘数:4, 4+

            

RAID-10

  • 读、写性能提升
  • 可用空间:N*min(S1,S2,...)/2   利用率50%
  • 有容错能力:每组镜像最多只能坏一块
  • 最少磁盘数:4, 4+

          

RAID-50  多块磁盘先实现RAID5,再组合成RAID0,利用率   RAID中 N-1/N

        

 逻辑卷(LVM)

底层块设备,硬盘,分区都可以,将底层的块设备,创建成pv物理卷,再创建卷组,再把pv物理卷加入到卷组

分区的话 需要修改块设备的ID 为LVM的,硬盘不用改,修改ID   t==>1(分区编号)==>8e

              

  pv物理卷

显示pv信息

pvs:简要pv信息显示

pvdisplay

创建pv pvcreate /dev/DEVICE(可以跟很多设备)

删除pv pvremove /dev/DEVICE

 vg 卷组

显示卷组

vgs vgdisplay

创建卷组 

vgcreate  [-s #[kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...] 

vgcreate   vg组名  哪些pv

显示逻辑卷

lvs Lvdisplay

lvcreate   -n mysql(逻辑卷名字)    -L  8G(逻辑卷容量)   vg0(从哪个卷组取容量)

创建出逻辑卷后,就相当于我们有了逻辑卷这个设备了,逻辑卷产生的设备 叫这个名字  /dev/mapper/卷组名-逻辑卷名字  等同于  /dev/卷组名/逻辑卷名

挂载  先把这个设备格式化文件系统然后把 这个设备挂载到 挂载点

扩展逻辑卷的空间

    lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME

    lvextend -l +100%free /dev/vg0/mysql   把剩下空间的100% 分给mysql逻辑卷

    添加完成之后,你df会发现,硬盘的大小没变?因为你是增加了空间,但是这些新增加的空间没有文件系统啊,所有就不能使用

    xfs_growfs  逻辑卷的挂载点   //把新增加的空间与已经存在的空间的文件系统做同步,这是针对于xfs文件系统的

    resize2fs   设备名   //这是针对于 ext4文件系统的

    当然还有一种方法 在加空间的时候,-r选项 可以直接同步好   lvextend -r -l +100%free /dev/vg0/mysql  直接扩展并且同步了文件系统,

把剩下的空间都加完了还不够?那就扩展 vg的空间

vgextend  vg0  /dev/sdc   //把pv加到vg里面

缩减ext逻辑卷

  • umount /mnt/binlog
  • e2fsck -f /dev/vg0/binlog
  • resize2fs /dev/vg0/binlog 10G
  • lvreduce -L 10G /dev/vg0/binlog
  • mount /dev/vg0/binlog /mnt/binlog/

只能缩减ext的文件系统,不能缩减xfs文件系统

linux磁盘管理2-raid,lvm的更多相关文章

  1. linux磁盘管理系列-软RAID的实现

    1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...

  2. linux磁盘管理系列-LVM的使用

    LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的LVM,分别是 LVM1,LVM2.LVM1是一种已经被认为稳定了几年的成熟产品,LVM2 是最新最好的LVM版本. ...

  3. linux磁盘管理系列三:LVM的使用

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  4. linux磁盘管理系列二:软RAID的实现

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  5. Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理

    一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(Master Boot Recorder)都是通过先对一个硬盘进行分区,然后再将该 ...

  6. 【转载】Linux磁盘管理:LVM逻辑卷管理

    Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...

  7. Linux学习之CentOS(二十六)--Linux磁盘管理:LVM逻辑卷的创建及使用

    在上一篇随笔里面 Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理, ...

  8. linux磁盘管理系列一:磁盘配额管理

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  9. Linux学习之十九-Linux磁盘管理

    Linux磁盘管理 1.相关知识 磁盘,是计算机硬件中不可或缺的部分磁盘,是计算机的外部存储器中类似磁带的装置,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失 ...

  10. Linux 磁盘管理

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

随机推荐

  1. 题解【UVA839】天平 Not so Mobile

    Description Input Output Examples Input 1 0 2 0 4 0 3 0 1 1 1 1 1 2 4 4 2 1 6 3 2 Output YES Transla ...

  2. alibaba-java-style-guide

    (一) 命名规约 1.[强制]代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name / $Object / name_ / name$ / O ...

  3. Web 安全工具篇:Burp Suite 使用指南

    真的是一点都不过分,了解详情请继续往下读. Burp Suite 介绍 Burp Suite 是用于攻击 web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程 ...

  4. css的理解 ----footrt固定在底部

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

  5. django url映射的时候指定默认参数

    使用path或者re_path后,在url中都可以包含参数,而有时候想指定默认的参数,可以通过在urls.py中写两个url都指向同一个视图函数.一个带参数一个不带参数.同时,在视同函数的参数中设置默 ...

  6. 如何将mongo查询结果导出到文件中

    1.新建一个js文件,将查询方法写进去,如dump.js,文件内容如下 var c = db.campaign.find({status:1}).limit(5) while(c.hasNext()) ...

  7. POJ2909_Goldbach's Conjecture(线性欧拉筛)

    Goldbach's Conjecture: For any even number n greater than or equal to 4, there exists at least one p ...

  8. imread函数+cvtColor()函数

    加载图像(用cv::imread) imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称 第二个参数,表示加载的图像是什么类型,支持常见的三个参数值 IMREAD_UNCH ...

  9. Bugku-CTF之你从哪里来

    Day 27 你从哪里来 http://123.206.87.240:9009/from.php 本题要点: http referer头的修改     查看源码什么也没有   抓个包看一下

  10. go使用错误概览

    1. 解决:GO语言中要提供给外面访问的方法或是结构体必须是首字母大写.这个结构体只有结构体名大写了,而里面的字段没有首字母大写,而GO语言在模板调用时应该认为是两个不同的过程,所以找不到值.于是把结 ...