谈Linux之磁盘管理——万字详解

  论坛元老 | 2025-4-9 20:07:18 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1725|帖子 1725|积分 5175

  


                                       —— 小 峰 编 程


目录
一、硬盘的基本知识
1.了解硬盘的接口类型
2. 硬盘定名方式
3. 磁盘设备的定名
4. HP服务器硬盘
5. 硬盘的分区方式
二、 基本分区管理
1. 磁盘分别思路
2. 分区
2.1 MBR分区
2.2GPT分区
3.格式化—下令:mkfs
4.挂载
4.1手动挂载
4.2开机主动挂载之编辑/etc/fstable 或/etc/rc.local
4.3autofs主动挂载
4.4卸载设备:umount
三、逻辑卷管理(重点)
1. 逻辑卷介绍       
2、逻辑卷基本概念
3. 逻辑卷LVM应用
3.1 逻辑卷创建
3.2 逻辑卷动态扩容
3.3 逻辑卷干系下令
 四、RAID
1、RAID介绍
2、常见的RAID级别
2.1. RAID0
2.2. RAID1
2.3. RAID5
2.4. RAID6
2.5. RAID10
2.6 RAID01
2.7. 总结
三、软硬RAID
1. 软RAID
2. 硬RAID
四、软raid创建
1. 环境准备
2. raid的创建
创建RAID0
创建RAID1
创建RAID5
2. 保存RAID信息
3. raid制止与启动
4. raid的删除


一、硬盘的基本知识

1.了解硬盘的接口类型

2. 硬盘定名方式

OSIDE(并口)SATA(串口)SCSI
RHEL5/dev/hda/dev/sda/dev/sda
RHEL6/dev/sda/dev/sda/dev/sda
RHEL7/dev/sda/dev/sda/dev/sda





3. 磁盘设备的定名

   /dev/sda2
s=硬件接口类型(sata/scsi),d=disk(硬盘),a=第1块硬盘(b,第二块)2=第几个分区 /dev/hd h=IDE硬盘 /dev/hdd3
  /dev/vd v=假造硬盘 /dev/vdf7
  4. HP服务器硬盘


   /dev/cciss/c0d0 /dev/cciss/c0d0p1 c0第一个控制器, d0第一块磁盘, p1分区1 /dev/cciss/c0d0p2 c0第一个控制器,d0第一块磁盘, p2分区2
  5. 硬盘的分区方式

   MBR <2TB fdisk 4个主分区大概3个主分区+1个扩展分区(N个逻辑分区)
MBR(Master Boot Record)的缩写,由三部分组成,即:
  

  •  Bootloader(主引导步伐)=446字节 、硬盘第一个扇区=512字节
          引导操纵体系的主步伐
  

  • DPT分区表(Disk Partition Table)=64字节
  分区表保存了硬盘的分区信息,操纵体系通过读取分区表内的信息,就能够获得该硬盘的分区信息。每个分区必要占用16个字节巨细,保存有文件体系标识、起止柱面号、磁头号、扇区号、起始扇区位置(4个字节)、分区总扇区数目(4个字节)等内容分区表中保存的分区信息都是主分区与扩展分区的分区信息,扩展分区不能直接利用,必要在扩展分区内分别一个或多个逻辑分区后才华利用。逻辑分区的分区信息保存在扩展分区内,而不是保存在MBR分区表内,这样,就可以突破MBR分区表只能保存4个分区的限定
  

  •  硬盘有用标记(校验位)=2个字节
  GPT >2TB gdisk(parted) 128个主分区
注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!
  扩展阅读:http://www.eassos.cn/jiao-cheng/ying-pan/mbr-vs-gpt.php
  二、 基本分区管理

1. 磁盘分别思路

   

  • 进入分区表 ,新建分区 fdisk /dev/sdb;
  • 更新分区表<革新分区表>;
  • 格式化分区——>文件体系 mkfs.ext4 /dev/sdb1;
  • 挂载利用——>mount【开机主动挂载|autofs主动挂载】。
  2. 分区

2.1 MBR分区

   总结:
  

  • 1. 最多只能分4个主分区,主分区编号1-4
  1. # lsblk
  2. # df -h 查看正在挂载的设备情况
  3. # fdisk -l 查看当前系统的所有设备分区情况
复制代码
硬盘容量 = 柱面数 × 盘面数(磁头数) × 扇区数 × 扇区巨细(一样平常为512字节)
Disk /dev/sda: 10.7 GB, 10737418240 bytes--磁盘空间
   20971520 sectors—扇区
Sector size (logical/physical): 512 bytes / 512 bytes —扇区巨细(逻辑/物理) 都是512字节。
I/O size (minimum/optimal): 512 bytes / 512 bytes—I/O 巨细(最小/最大) 都是512字节。
Disk label type: dos —设备标签类型,这个磁盘分区类型,dos表现为MBR分区,gpt为gpt分区
Disk identifier: 0xf921a80d—设备识别码
  
启动设备 起始结束id 体系
Device      Boot StartEndBlocksIdSystem
/dev/sda1   * 2048  1026047 51200083Linux
/dev/sda2   1026048  209715199972736  8e  Linux LVM
  
……

  1. # fdisk /dev/sdb
复制代码
  1. Command(m for help): m 输出帮助信息
  2.    a   toggle a bootable flag   设置启动分区
  3.    b   edit bsd disklabel           编辑分区标签
  4.    c   toggle the dos compatibility flag
  5.    d   delete a partition    删除一个分区
  6.    g   create a new empty GPT partition table
  7.    G   create an IRIX (SGI) partition table
  8.    l   list known partition types     列出分区类型
  9.    m   print this menu    帮助
  10.    n   add a new partition    建立一个新的分区
  11.    o   create a new empty DOS partition table  创建一个新的空白DOS分区表
  12.    p   print the partition table   打印分区表
  13.    q   quit without saving changes  退出不保存设置
  14.    s   create a new empty Sun disklabel  创建一个新的空的SUN标示
  15.    t   change a partition’s system id   改变分区的类型
  16.    u   change display/entry units  改变显示的单位
  17.    v   verify the partition table    检查验证分区表
  18.    w   write table to disk and exit   保存分区表
  19.    x   extra functionality (experts only)
复制代码


  • 2. 逻辑分区巨细总和不能超过扩展分区巨细,逻辑分区分区编号从5开始
  • 3. 如果删除扩展分区,下面的逻辑卷分区也被删除
  • 4. 扩展分区的分区编号(1-4)
  总结:
1. 扩展分区的巨细决定了所有逻辑分区的巨细
2. 删除扩展分区后下面的逻辑分区都被删除
3. 分完区后必要手动革新分区表(partprobe/partx -d),如果革新不成功必要重启操纵体系
4. 创建分区的时候尽大概注意分区序号的连续性
  2.2GPT分区

磁盘分区 常用来分区的工具有 fdisk 和 parted/ gdisk,因为 fdisk 是一个基于 MBR 的分区工具,无法支持超过 2TB 的分区需求(最新的体系里边已经升级支持),保举利用 parted (gdisk和fdisk的利用类似,在这里我就不举行解说了)。


  • 如果没有parted下令,利用yum直接安装
  1. yum install parted -y
复制代码


  • 设置磁盘分区类型
  1. parted -s /dev/xxx mklabel gpt
复制代码
  # 注意:将xxx替换为本身lsblk出来必要处理的磁盘名称;分区类是对磁盘设置的,不是分区哦,所以不要出 现/dev/vdb1 这种part设备;mbr分区 label为 msdos.
  

  • 创建分区
  1. parted -s /dev/xxx mkpart part-type fs-type start end
复制代码
  /dev/xxx :要操纵的磁盘设备,例如 /dev/sda 、 /dev/sdb 等。
  part-type :分区的类型,例如 primary 、 logical 或 extended 。
  fs-type :文件体系的类型,例如 ext4 、 xfs 、 ntfs 等。参数可选,一样平常不指定, fs-type 会在格式化时指定
  start 和end :分区的起始和结束位置,通常以 MB 为单位,大概利用百分比(例如 10% ) 保举利用百分比,这样会主动处理分区对齐问题。
    思索: 什么是分区对齐,分区对齐有什么作用?
  答:分区对齐是指在硬盘上分别分区时,将每个分区的起始位置与硬盘的物理块边界对齐的过程。分区对齐的作用重要有以下几点:
  

  • 提高性能:分区对齐可以减少硬盘读写时的寻址时间,从而提升磁盘I/O性能,减少读写延迟,提高数据传输速度。
  • 增倔强盘寿命:分区对齐可以减少硬盘的寻址次数,低落硬盘读写的磨损水平,延长硬盘的利用寿命。
  • 避免数据损坏:未对齐的分区大概导致部分数据超过多个物理块,容易发生读写错误,甚至数据损坏。
  总的来说,分区对齐可以优化硬盘性能,提高数据传输速度,减轻硬盘的负担,低落数据损坏的风险,是一个值得注意和遵循的硬盘管理原则
  

  •  查看磁盘现有分区
  1. lsblk
  2. parted -s /dev/xxx print
  3. fdisk -l
复制代码
以上三个下令都可以,请本身测试对比其中信息的差别,根据本身的需求利用。


  • 删除分区
   删除分区时一个非常伤害的动作,在操纵之前,请明白每一条下令的功能和结果 。删除分区固然只是将分区信息删除,实际上边的文件体系,文件是没有删除的。只要你可以将源分 区信息还原(实际上就是每一个分区的起始位置和终止位置),数据就可以正常读取出来。这仅是对您 的提示,生产环境尽量不要碰到这种环境。没有特殊的需求,分区都从0%-100%,即一个磁盘只创建一个分区。这样分区被误删是比力 容易恢复的,重新按照 0%到100%巨细创建分区即可。 在生产环境下目前大部分的实践是不分区,直接格式化
  1. parted -s /dev/xxx rm 1  
复制代码
# 删除第一个分区,这个必要是从 parted -s /dev/xxx print 中 获取的。磁盘完成分区之后,是无法直接利用的,还必要格式化,这个过程实际上是在硬盘上创建文件系 统。
  3.格式化—下令:mkfs

体系中除了 mkfs 下令外,还有上边这一批,mkfs.* 开头的下令,可以直接格式化对应的文件系 统,目前被Linux体系广泛利用的是 ext4 和 xfs 。 mkfs.ext4 这个下令就等价于 mkfs -t ext4。
  1. mkfs.ext4  /dev/xxx 或 mkfs -t ext4  /dev/xxx
复制代码
注意: 格式化是非常伤害的操纵,会造成数据丢失,所以请务必谨慎核对格式化的分区名称。 mkfs 格式化时,必要指定分区(lsblk 下令表现 part类型的设备),而不是磁盘,如果对一个 已经分区的磁盘直接举行格式化,会令分区丢失。
4.挂载

4.1手动挂载



  • 创建新的挂载点
       本身创建一个挂载点,大概挂载当前体系下的某个挂载点上。
  1. mkdir /test
复制代码


  • 挂载利用 mount [options] 必要挂载的设备 挂载点
  1. mount /dev/sdb1 /test
复制代码
  特点:体系重启后必要重新挂载;手动卸载后必要手动挂载
  

  • -o:挂载选项 ro,sync,rw,remount
  • -t:文件体系类型
  • mount -t nfs=mount.nfs
    mount -t cifs=mount.cifs
    10.1.1.2 /share [smb]
    mount.cifs -o user=user01,password=123 //10.1.1.2/smb /u01
    mount.nfs 10.1.1.2:/share /u02

  • remount:重新挂载一个正在挂载的设备
  注意:反面可以根挂载点也可以跟设备本身;挂载设备:真实设备、设备UUID,设备的卷标
  1. blkid /dev/xxxx  查看设备的UUID和文件系统类型
复制代码
4.2开机主动挂载之编辑/etc/fstable 或/etc/rc.local

   操纵体系启动流程:
  

  • 1. 硬件初始化 硬盘、内存.......
  • 2. 体系初始化 /sbin/init—>xxxxxx/etc/fstab
  增补:
  操纵体系启动流程通常包括以下步调:
  

  • 加电自检(Power-On Self-Test,POST):盘算机加电时举行的自检,检查硬件是否正常工作。
  • BIOS启动:盘算机启动时首先加载Basic Input/Output System(BIOS),举行硬件初始化、设备检测等操纵。
  • 引导加载步伐(Boot Loader):BIOS将控制权交给引导加载步伐,好比GRUB、LILO等。引导加载步伐会加载操纵体系的内核。
  • 操纵体系内核加载:引导加载步伐加载操纵体系内核,将控制权交给内核。
  • 体系初始化:操纵体系内核负责举行体系的初始化工作,包括初始化内存、文件体系、进程管理等。
  • 运行init进程:操纵体系内核启动一个init进程(大概Systemd等替换物),init负责体系的后续初始化和服务管理。在Linux体系中,初始的init进程是/sbin/init。
  • 挂载文件体系:体系初始化完毕后,会根据/etc/fstab文件中的配置将必要的文件体系挂载到相应的目录上,包括根目录、/home目录等。
  这是一个简要的操纵体系启动流程,详细步调大概因操纵体系的版本和配置而有所不同。
  

  • /etc/fstab文件:vim /etc/fstab ---->编辑该文件之后就可开机主动挂载
  格式:
  1. 要挂载的资源路径              挂载点 文件系统类型   挂载选项 dump备份支持 文件系统检测
  2. UUID=xxxx(自己使用blkid进行查看) /     ext4       defaults      1          1
复制代码

  • 1段:挂载的设备(磁盘设备的文件名或设备的卷标大概是设备的UUID
  • 2段:挂载点(发起用一个空目录),发起不要将多个设备挂载到同一个挂载点上
  • 3段:文件体系类型(ext3、ext4、vfat、ntfs(安装软件包)、swap等等)
  • 4段:挂载选项,defaults 同时具有rw, dev, exec, acl, async,nouser等参数。
  
async/sync异步/同步;
auto/noauto主动/非主动;
rw/ro读写/只读
exec/noexec 可被执行/不可被执行;
remount重新挂在一个已经挂载的文件体系,常用于修改挂载参数;
user/nouser 允许/不允许其他普通用户挂载;
suid/nosuid具有/不具有suid权限:该文件体系是否允许SUID的存在;
usrquota这个是在启动文件体系的时候,让其支持磁盘配额,这个是针对用户的;
grpquota支持用户组的磁盘配额;
                                           ....
  
  ​mount    -a    重新读取/etc/fstab文件内容
  man mount 可以找到详细信息
          5.5段:是否支持dump备份。dump是一个用来备份的下令,0代表不要做dump备份,1代表要每天举行dump的动作,2也代表其他不定日期的dump备份。通常这个数值不是0就是1。数字越小优先级越高。
          6.6段:是否用 fsck 查验扇区。开机的过程中,体系默认会用fsck查验文件体系是否完备。0是不要查验,1表现最先查验(一样平常只有根目录会设定为1),2也是要查验,只是1是最先,2是其次才举行查验。
  
  

  • 我本人并不发起挂载在该设备文件中,如果稍有差错就会导致一些列加载启动的问题。由于/etc/rc.local 操纵体系启动后读取的最后一个文件,所以我发起大家挂载在此目录下:
  1. vim /etc/rc.local
  2. /bin/mount -o noexec,ro /dev/sdb1 /test
复制代码
主动挂载 Automount:
  # fsck -f /dev/sdb2 强制查验/dev/sdb2上文件体系
  阐明:
  要挂载的资源路径可以是文件体系的UUID,设备路径,文件体系的标签 ,光盘镜像文件(iso),亦或是来自网络的共享资源等。
  特点:体系重启后主动挂载;手动卸载后重启会主动挂载大概利用mount -a主动挂载
  增补阐明:e2label只能够对ext2~ext4的文件体系设置卷标(等同标识符)
  

  • 便于利用卷标对卷举行管理,如挂载
    1. e2label /dev/sdb1 mytest
    2. blkid /dev/sdb1
    3. mount LABEL="mytest" /test
    复制代码
  4.3autofs主动挂载

   特点:挂载是由访问产生;卸载是由超时产生;依赖于配景的autofs服务。利用时触发主动挂载,超时主动卸载。
  

  • 如何配置设备的autofs主动挂载?
  1)安装autofs软件
  1. rpm -q autofs #先查看本机有没有安装autofs
  2. yum install autofs -y
复制代码
2)修改/etc/auto.master文件 定义1级挂载点和超时时间,子配置文件
  1. vi /etc/auto.master
  2.             ……
  3. /misc   /etc/auto.misc
  4. /test(一级目录路径)   /etc/auto.test  -t 120 #在文件中招上面一行,进行编辑左边所示。
复制代码
3)创建刚刚定义的子配置文件 二级挂载点和必要挂载设备以及文件体系类型及挂载方式
  1. vi auto.test
  2. test1(二级目录,即就是最终挂载的目录)   -fstype=ext4(系统文件类型)    :/dev/sdb1
复制代码
4)启动服务,测试验证
  1. systemctl start autofs
  2. lsblk或 df -h
  3. cd /test/test1
  4. lsblk或 df -h
复制代码
4.4卸载设备:umount

  
  1. umount /test 或 umount /dev/sdb1
  2. umonut 挂载的文件名/挂载的设备名称
复制代码
最后挂载成功之后就可以利用了。
  三、逻辑卷管理(重点)

1. 逻辑卷介绍       

逻辑卷(LVM):它是Linux环境下对磁盘分区举行管理的一种机制,它是建立在物理存储设备之上的一个抽象层,优点在于灵活管理。
特点: 动态在线扩容(重点) 、离线裁剪 、数据条带化 、数据镜像

注:真实的物理设备——>逻辑上(下令创建)——>物理卷(pv)——>卷组(vg)——>逻辑卷(lv)——>逻辑卷格式化——>挂载利用。 
2、逻辑卷基本概念

   

  • 物理卷(Physical Volume,PV)
  物理卷是底层真正提供容量,存放数据的设备,它可以是整个硬盘、硬盘上的分区等。
  

  • 卷组(Volume Group, VG)
  卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。 一个LVM体系中可以只有一个卷组,也可以包含多个卷组。
  

  • 逻辑卷(Logical Volume, LV)
  逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是终极用户利用的逻辑设备。逻辑卷创建之后,其巨细可以伸缩。逻辑卷也被分别为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的巨细和PE是相同的,并且一 一对应。
  

  • 物理区域 PE(physical extent)
  每一个物理卷被分别为称为PE(Physical Extents)的基本单位,具有唯一编号的PE是能被LVM寻址的最小单位。PE的巨细可指定,默认为4 MB。 PE的巨细一旦确定将不能改变,同一个卷组中的所有物理卷的PE的巨细是同等的
  4MB=4096kb=4096kb/4kb=1024个block
  

  • 阐明:
  

  • 硬盘读取数据最小单位1个扇区512字节
  • 操纵读取数据最小单位1个数据块=8*512字节=4096字节=4KB
  • lvm寻址最小单位1个PE=4MB
  3. 逻辑卷LVM应用


3.1 逻辑卷创建


   需求:创建一个2.5G巨细的逻辑卷
思路:
        1. 物理的设备
        2. 将物理设备做成物理卷
        3. 创建卷组并将物理卷参加其中
        4. 创建逻辑卷
        5. 格式化逻辑卷
        6. 挂载利用
  1. 物理设备的准备
  1. sdb               8:16   0   10G  0 disk
  2. ├─sdb1            8:17   0 1024M  0 part
  3. ├─sdb2            8:18   0    1G  0 part
  4. ├─sdb3            8:19   0    1G  0 part
  5. ├─sdb4            8:20   0    1G  0 part
  6. ├─sdb5            8:21   0    1G  0 part
  7. ├─sdb6            8:22   0    1G  0 part
  8. ├─sdb7            8:23   0    1G  0 part
  9. ├─sdb8            8:24   0    1G  0 part
  10. ├─sdb9            8:25   0    1G  0 part
  11. └─sdb10           8:26   0 1023M  0 part
复制代码
2. 创建物理卷
  1. pvcreate /dev/sdb1 /dev/sdb2
复制代码
查看物理卷:
  1. pvs #简单查看
复制代码
  1. PV         VG     Fmt  Attr PSize    PFree
  2.   /dev/sda2  centos lvm2 a--    <9.51g       0
  3.   /dev/sdb1         lvm2 ---  1023.98m 1023.98m
  4.   /dev/sdb2         lvm2 ---     1.00g    1.00g
复制代码
  1.  pvdisplay /dev/sdb1 #详细查看
  2. "/dev/sdb1" is a new physical volume of "1023.98 MiB"
  3.   --- NEW Physical volume ---
  4.   PV Name               /dev/sdb1
  5.   VG Name
  6.   PV Size               1023.98 MiB
  7.   Allocatable           NO
  8.   PE Size               0
  9.   Total PE              0
  10.   Free PE               0
  11.   Allocated PE          0
  12.   PV UUID               Ta58vg-tNa9-xjPw-XAhN-wWCO-dFFt-EwZLlg
复制代码
3. 创建卷组并将物理卷参加其中
  1. vgcreate vg1 /dev/sdb1 /dev/sdb2
复制代码
查看卷组信息:
  1. vgs vg1 #简单查看
  2. vgdisplay vg01 详细查看
复制代码
4. 创建逻辑卷
  1. lvcreate -n lv1 -L 1.5G vg1
复制代码
在操纵体系层面映射两个地方:
  1. [root@bogon ~]# ll /dev/mapper/vg1-lv1
  2. lrwxrwxrwx. 1 root root 7 Apr  7 23:02 /dev/mapper/vg1-lv1 -> ../dm-1
  3. [root@bogon ~]# ll /dev/vg1/lv1
  4. lrwxrwxrwx. 1 root root 7 Apr  7 23:02 /dev/vg1/lv1 -> ../dm-1
复制代码
查看逻辑卷的信息:
  1. lvdisplay /dev/vg1/lv1
  2. -n:指定逻辑卷的名字
  3. -L:指定逻辑卷的大小
  4. -l:指定逻辑卷的大小
复制代码
5. 格式化逻辑卷
  1. mkfs.ext4 /dev/vg1/lv1
复制代码
6. 挂载利用
1)创建一个空的挂载点
2)挂载利用
 
  1. mount /dev/vg1/lv1 /test/test2
复制代码
3.2 逻辑卷动态扩容

   需求:将/test2目录动态扩容到3G
思路:
  

  • 1. 查看/u01目录所对应的逻辑卷是哪一个 /dev/mapper/vg02-lv01
  • 2. 查看当前逻辑卷所在的卷组vg01剩余空间是否充足
  • 3. 如果vg01空间不够,得先扩容卷组,再扩容逻辑卷
  •  4. 如果vg01空间充足,直接扩容逻辑卷
  步调:
  1. 查看/u01目录属于哪个卷组
  1. df -h
  2.  lvs
复制代码
2. 卷组的剩余空间
  1. vgs
复制代码
结果:当前卷组空间不敷我扩容
  3. 扩容逻辑卷所在的卷组
  

  • 1)首先得有物理设备 
  • 2) 将物理设备做成物理卷
  1. pvcreate /dev/sdb[3-4]
  2. pvs
复制代码

  

  • 3)将物理卷参加到卷组中(卷组扩容)
  1. vgextend vg1 /dev/sdb[3-4]
  2. pvs
  3. vgs
复制代码
注意:正常环境下,应该先将物理设备创建为物理卷再参加到卷组中;如果直接参加卷组,体系会主动帮你将其做成物理卷。
  4. 扩容逻辑卷
  1. lvextend -n /dev/vg1/lv1 -L 3G  # -L 3G最终的大小
  2. 或者
  3. lvextend -L +1.5G /dev/vg1/lv1 -L +1.5G 扩容1.5G
复制代码
5. 查看结果
  1. lvs
  2.   LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  3.   root centos -wi-ao---- <9.51g
  4.   lv1  vg1    -wi-ao----  3.00g
复制代码
6. 同步文件体系
  1. resize2fs /dev/vg1/v1  #ext4文件系统类型
  2. xfs_growfs /dev/vg1/v1   #xfs
复制代码
7. 再次查看验证
  1. df -h
复制代码
离线裁剪逻辑卷(了解)
  1. umount /test/test2
  2. e2fsck -f /dev/vg1/lv1 检验文件系统
  3. resize2fs /dev/vg1/lv1 2G 裁剪文件系统到2G
  4. lvreduce /dev/vg1/lv1 -L 2G 裁剪逻辑卷
  5. mount /dev/vg1/lv1 /data 挂载使用
复制代码
3.3 逻辑卷干系下令

   

  • 创建物理卷:pvcreate
  • 创建卷组:vgcreate
  • 创建逻辑卷:lvcreate
  • 删除逻辑卷:lvremove
  • 删除卷组:vgremove
  阐明:卷组里的物理卷没有被利用才可以直接删除卷组
  

  • 删除物理卷:pvremove
  • 扩容卷组:vgextend
  • 扩容逻辑卷:lvextend
  • 同步文件体系:resize2fs
  • 裁剪卷组:vgreduce
  • 裁剪逻辑卷:lvreduce
  四、RAID

1、RAID介绍

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技能是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来取代大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技能。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操纵体系下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的上风,可以提升硬盘速度,增大容量,提供容错功能,能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的环境下都可以继承工作,不会 受到损坏硬盘的影响
2、常见的RAID级别

2.1. RAID0


RAID0特点:


  • 至少必要两块磁盘
  • 数据条带化分布到磁盘,高的读写性能,100%高存储空间利用率
  • 数据没有冗余计谋,一块磁盘故障,数据将无法恢复
  • 应用场景:对性能要求高但对数据安全性和可靠性要求不高的场景,好比音频、视频等的存储。
2.2. RAID1


RAID1特点:


  • 至少必要2块磁盘
  • 数据镜像备份写到磁盘上(工作盘和镜像盘),可靠性高,磁盘利用率为50%
  • 读性能可以,但写性能不佳
  • 一块磁盘故障,不会影响数据的读写
  • 应用场景:对数据安全可靠要求较高的场景,好比邮件体系、买卖业务体系等。
2.3. RAID5


RAID5特点:


  • 至少必要3块磁盘
  • 数据条带化存储在磁盘,读写性能好,磁盘利用率为(n-1)/n
  • 奇偶校验(分散)做数据冗余
  • 一块磁盘故障,可根据其他数据块和对应的校验数据重构损坏数据(消耗性能)
  • 是目前综合性能最佳的数据保护解决方案
  • 兼顾了存储性能、数据安全和存储成本等各方面因素(性价比高)
  • 适用于大部分的应用场景
2.4. RAID6


RAID6特点:


  • 至少必要4块磁盘
  • 数据条带化存储在磁盘,读取性能好,容错本领强
  • 接纳双重校验方式包管数据的安全性
  • 如果2块磁盘同时故障,可以通过两个校验数据来重建两个磁盘的数据
  • 成本要比其他品级高,并且更复杂
  • 一样平常用于对数据安全性要求非常高的场合
2.5. RAID10


RAID10特点:


  • RAID10是raid1+raid0的组合(镜像+条带化)
  • 至少必要4块磁盘
  • 两块硬盘为一组先做raid1,再将做好raid1的两组做raid0
  • 兼顾数据的冗余(raid1镜像)和读写性能(raid0数据条带化)
  • 磁盘利用率为50%,成本较高
2.6 RAID01


raid01与raid10的架构次序刚好相反,raid01是先做条带再做镜像,结构如图 这种架构的安全性低于raid10,而两者由于IO数目同等。读写速度相同,利用的硬盘数目也同等。
2.7. 总结

类型读写性能可靠性磁盘利用率成本RAID0最好最低100%较低RAID1读正常;写两份数据高50%高RAID5读:近似RAID0 写:多了校验RAID0<RAID5<RAID1(n-1)/nRAID0<RAID5<RAID1RAID6读:近似RAID0 写:多了双重校验RAID6>RAID5RAID6<RAID5RAID6>RAID1RAID10读:RAID10=RAID0 写:RAID10=RAID1高50%最高 3、软硬RAID

3.1. 软RAID

软RAID运行于操纵体系底层,将SCSI大概IDE控制器提交上来的物理磁盘,假造成假造磁盘,再提交给管理步伐来举行管理。软RAID有以下特点:


  • 占用内存空间
  • 占用CPU资源
  • 如果步伐大概操纵体系故障就无法运行
总结:基于以上缺陷,所以如今企业很少用软raid。
3.2. 硬RAID

通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。不同的RAID卡支持的RAID功能不同。支持RAlD0、RAID1、RAID4、RAID5、RAID10不等。


4、软raid创建

4.1. 环境准备

添加1个巨细为10G的假造硬盘,并分10个分区。
4.2. raid的创建

创建RAID0

  
  1. 安装mdadm工具:
  2. yum -y install mdadm
  3. mdadm --create /dev/md0 --raid-devices=2 /dev/sdb1 /dev/sdb2 --level=0
  4. mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdb2
  5. -C:创建软raid
  6. -l:指定raid级别
  7. -n:指定raid中设备个数
复制代码
查看RAID信息:/proc/mdstat文件记载了所有raid信息
  1. cat /proc/mdstat 
复制代码
查看指定的RAID信息:
  1. mdadm -D /dev/md0
复制代码
格式化挂载利用:
  1. mkfs.ext4 /dev/md0
  2. mount /dev/md0 /test/test1
复制代码
测试:
  1. iostat -m -d /dev/sdc[12] 2
  2. dd if=/dev/zero of=/u01/file bs=1M count=1024
复制代码
创建RAID1

   

  • 创建raid1:
  1. mdadm -C /dev/md1 -l1 -n 2 /dev/sdc[34]
复制代码


  • 查看状态信息:
    1. watch -n 1 cat /proc/mdstat   #watch命令监控该文件变化情况,1秒钟显示一次
    2. #或者直接查看 cat /proc/mdstat 
    复制代码
    注:两个UU阐明状态ok,一个盘故障则表现_U;F表现失效失败;_表现有一块盘失效。
  • 查看raid1详细信息
  1. mdadm -D /dev/md1     
复制代码


  • 格式化挂载利用:
  1. mkfs.ext4 /dev/md1
  2. mount /dev/md1 /test/test2
复制代码


  • 测试验证热插拔:
          1. 模仿一块盘故障(将磁盘标记为失效)
  1. mdadm /dev/md1 -f /dev/sdb3
  2. set /dev/sdb3 faulty in /dev/md1
  3. -f or --fail  表示失效
复制代码
        2. 查看raid1状态
  1. cat /proc/mdstat 
复制代码
        3. 移除故障大概失效硬盘(热拔)
  1. mdadm /dev/md1 -r /dev/sdb3
  2. -r or --remove 表示移除
  3. mdadm -D /dev/md1
复制代码
        4. 参加新的磁盘到raid1中(热插)
 
  1. mdadm /dev/md1 -a /dev/sdb3
  2. -a or --add 表示增加
  3. cat /proc/mdstat 
复制代码
创建RAID5

   

  • 创建raid5:
  1. mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sdc{7,8,9,10}
  2. -x, --spare-devices=  表示指定热备盘
  3. 说明:热备盘表示当其中一块盘故障后,热备盘会立马顶上去,而不需要人为手动干预。
复制代码


  • 格式化挂载利用:
  1. mkfs.ext4 /dev/md5
  2. mount /dev/md5 /test/test3
复制代码


  • 测试热备磁盘作用:
          1. 标记一块活动盘失效
  1. mdadm /dev/md5 -f /dev/sdb5
复制代码
        立即查看状态:
  1. cat /proc/mdstat 
  2. mdadm -D /dev/md5
复制代码
        2. 移除失效的盘
  1. mdadm /dev/md5 -r /dev/sdc7
  2. cat /proc/mdstat
复制代码
        3. 为了日后考虑,再次添加一个热备盘到raid5中
 
  1.  mdadm /dev/md5 -a /dev/sdb5
复制代码
小训练:
1. 创建一个raid5,raid5至少由3块磁盘设备组成
2. 模仿1块设备故障,检查raid5是否可以正常利用
   保存RAID信息

   问:为什么要保存raid信息?
答:如果不做信息的保存,重启体系后raid不能主动被识别到(在rhel6里测试为重启后名字会变)。
1. 创建配置文件
  1. vim /etc/mdadm.conf 
  2. DEVICES /dev/sdb[125678]
复制代码
阐明:该配置文件默认没有,手动创建,内里写上做了raid的所有硬盘设备。
  2. 扫描raid信息保存到配置文件
  1.  mdadm -D --scan >> /etc/mdadm.conf 
  2. cat /etc/mdadm.conf 
  3. DEVICES /dev/sdb[125678]
  4. DEVICES /dev/sdb[12345678]
  5. ARRAY /dev/md/0 metadata=1.2 name=localhost.localdomain:0 UUID=b5fae7c0:28c267ed:d2fcf245:638caa84
  6. ARRAY /dev/md1 metadata=1.2 name=bogon:1 UUID=d795a5af:09c8966a:cc88b2d5:a2a68562
  7. ARRAY /dev/md5 metadata=1.2 spares=1 name=bogon:5 UUID=9f29e214:07984db1:20b92e6c:b0604f57
复制代码
 raid制止与启动



  • 以RAID5为例阐明:
   制止raid:
1. 卸载raid
  1. umount /test/test3
复制代码
2. 利用下令制止raid
  1. mdadm --stop /dev/md5
复制代码
启动raid
1. 配置文件(/etc/mdadm.conf)存在如下启动
  1. mdadm -A /dev/md5
  2. -A:Assemble a pre-existing array  表示装载一个已存在的raid
复制代码
2. 配置文件(/etc/mdadm.conf)不存在如下启动
 
  1. mdadm -A /dev/md5 /dev/sdb[5678]
复制代码
3. 如果设备名不知道,可以去查看每个设备的raid信息,利用uuid把raid设备重新组合
 
  1. mdadm -E /dev/sdb5
  2.  说明:同一个raid里每个磁盘查看的UUID都是这个值
  3. mdadm -E /dev/sdn6
  4. 通过以上方法找到后进行重新组合,如下:
  5. mdadm -A --uuid=18a60636:71c82e50:724a2a8f:e763fdcf /dev/md5
复制代码
 raid的删除

   

  • 1. 卸载设备
  1. umount /test/test3
复制代码


  • 2. 移除所有磁盘
  1.  mdadm /dev/md5 -f /dev/sdb[5678]
  2.  mdadm /dev/md5 -r /dev/sdb[5678]
复制代码


  • 3. 制止raid
  1.  mdadm --stop /dev/md5
复制代码


  • 4. 擦出超等块(superblock)清除干系信息
  1. mdadm --misc --zero-superblock /dev/sdb[5678]
复制代码

 本   篇   完   结   …  …


持     续     更     新     中   …    … 


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表