天天看点

Linux磁盘管理LVM和RAID使用介绍

作者:JasonTang

摘要:一般情况下,Linux的磁盘管理有很多工具,划分磁盘的类型可以是普通的物理磁盘,也可以是逻辑磁盘,还可以使用RAID工具对磁盘进行容错管理。

本文主要介绍Linux系统磁盘管理工具LVM和RAID的使用方法,详细内容参考下文。

一、登陆Linux系统

1、登陆Linux

Linux磁盘管理LVM和RAID使用介绍

2、查看磁盘情况

Linux磁盘管理LVM和RAID使用介绍

二、逻辑卷管理器(LVM)

LVM:LVM是逻辑盘卷管理(Logical Volume Manager)的简称,是Linux环境下对卷进行操作的抽象层。LVM是建立在硬盘和分区之上的一个逻辑层,为文件系统屏蔽下层磁盘分区布局,从而提高磁盘分区管理的灵活性。LVM允许在多个物理设备间重新组织文件系统,包括重新设定文件系统的大小。

通过LVM,可以实现存储空间的抽象化并在上面建立虚拟分区,可以更简便地扩大和缩小分区,可以增删分区时无需担心某个硬盘上没有足够的连续空间,避免为正在使用的磁盘重新分区的麻烦、为调整分区而不得不移动其他分区的不便,它相比传统的分区系统可以更灵活地管理磁盘。

1、LVM结构图

Linux磁盘管理LVM和RAID使用介绍

2、LVM术语

(1)、物理卷

物理卷是LVM的基本存储逻辑块,物理卷可以是整个硬盘、硬盘上的分区或从逻辑上一磁盘分区具有同样功能的设备(如:RIAD)。物理卷(physical volume, PV)在LVM系统中处理最底层。

(2)、卷组

卷组(Volume Group,VG)建立在物理卷之上,它由一个或多个物理卷组成;卷组创建之后,可以动态添加物理卷到卷组中,在卷组上可以创建一个或多个逻辑卷;一个LVM系统中可以只有一个卷组,也可以包含多个卷组。LVM的卷组类似于非LVM系统中的物理硬盘。

(3)、逻辑卷

逻辑卷(Logical Volume,LV)建立在卷组之上,逻辑卷相当于分区,只不过给分区时通过卷组划分,划分为逻辑卷后就相当于划分了分区,仅需要对LV进行格式化文件系统即可。

(4)、LVM与文件系统之间的关系

说明:/boot 分区不能位于卷组中,因为引导装载程序无法从逻辑卷中读取;如果想把 / 分区放在逻辑卷上,必须创建一个与卷组分离的 /boot 分区。

Linux磁盘管理LVM和RAID使用介绍

注意:安装Linux系统的时候,如果选择LVM磁盘管理,需要将启动文件放到单独的/boot目录中,这个/boot目录最好是单独创建的/dev/sda1磁盘。

(5)、PV&VG&LV的设备名

名称 含义 设备名
PV 物理卷,对应磁盘或者分区 /dev/sda*
VG 卷组,对应一组磁盘或者分区 /dev/<VGname>
LV 逻辑卷,对应着LVM分区 /dev/<VGname>/<LVname>

(6)、LVM 常用命令集

任务 PV VG LV
创建 pvcreate vgcreate lvcreate
删除 pvremove vgremove lvremove
显示信息 pvs vgs lvs
扫描列表 pvscan vgscan lvscan
显示属性 pvdisplay vgdisplay lvdisplay
更改属性 pvchange vgchange lvchange
扩展 vgextend lvextend / lvresize
缩减 vgreduce lvreduce / lvresize

(7)、LVM创建过程

第一步:执行指令# pvcreate /dev/sda2创建物理卷/dev/sda2

执行指令# pvcreate /dev/sda3创建物理卷/dev/sda3

第二步:查看新建好的物理卷

执行指令# pvs查看创建好的物理卷

Linux磁盘管理LVM和RAID使用介绍

或者执行指令# pvdisplay

Linux磁盘管理LVM和RAID使用介绍

第三步:将新创建的物理卷添加到卷组中

执行指令# vgcreate -s 8m centos /dev/{sda2,sda3}

第四步:查看创建好的卷组

执行指令# vgs

Linux磁盘管理LVM和RAID使用介绍

或者执行指令# vgdisplay

Linux磁盘管理LVM和RAID使用介绍

第五步:在卷组中创建逻辑卷

执行指令# lvcreate -L 140G -n home centos

第六步:查看创建好的逻辑卷

执行指令# lvs

Linux磁盘管理LVM和RAID使用介绍

或者执行指令# lvdisplay

Linux磁盘管理LVM和RAID使用介绍

第七步:对逻辑卷进行扩展 lvextend / lvresize

执行指令# lvextend -L 100G /dev/centos/home可以对逻辑卷/home扩容100G。

第八步:对逻辑卷进行格式化 mkfs、

执行指令# mkfs -t ext4 /dev/centos/home对逻辑卷/home进行ext4格式化。

第九步:对逻辑卷进行挂载 mount

执行指令# mkdir /lvm创建挂载点

执行指令# mount /dev/centos/home /lvm将逻辑卷挂载到挂载点

三、磁盘阵列(RAID)

RAID:RAID(Redundant Arrays of Inexpensive Disks)容错式廉价磁盘阵列。RAID技术可以通过软件或硬件实现,将多个磁盘整合成为一个较大的磁盘装置,该装置不仅有存储功能,还具有数据保护的功能。RAID具有多个不同的等级,每个等级的对整合后的磁盘实现不同的功能。比较常用等级有RAID1和RAID5。

1、磁盘阵列的优点

(1)、整合现有的磁盘空间

(2)、提高磁盘的IO效率

(3)、提供容错性

2、磁盘阵列的类型

(1)、硬件磁盘阵列:使用磁盘阵列卡,使用dmraid工具管理;

(2)、软件磁盘阵列:使用Linux系统仿真磁盘功能,使用mdadm工具管理。

备注:在Linux中常用的是使用mdadm工具管理来实现软件RAID。

3、创建软件RAID

第一步:确认Linux是否安装mdadm工具包

执行指令# rpm -qa mdadm

Linux磁盘管理LVM和RAID使用介绍

第二步:对磁盘进行分区并设置分区类型为RAID

执行执行# fdisk /dev/sda

Linux磁盘管理LVM和RAID使用介绍
Linux磁盘管理LVM和RAID使用介绍

备注:fdisk 命令只适合小于2T的硬盘,如大于2T则需要使用parted。

第三步:使用mdadm创建RAID

执行指令# mdadm --create /dev/md0 --auto yes --level 1 n2 /dev/sda{sda2,sda3}

第四步:查看创建好的RAID

执行指令# mdadm -D /dev/md0

第五步:格式化RAID分区

执行指令# mkfs -t ext4 /dev/md0

第六步:挂载RAID分区

执行指令# mkdir /raid创建挂载点

执行指令# mount /dev/md0 /raid将RAID分区挂载到挂载点

继续阅读