• 文档
  • 控制台
  • 登录
  • 立即注册
    目前不支持用户自主注册,如需注册账号,请联系400-080-1100
云硬盘 EBS
下载PDF

4 最佳实践

4.1 云硬盘EBS最佳实践

4.1.1 通过多块云硬盘组成LVM逻辑卷

4.1.1.1 LVM概述

在Linux系统中使用云硬盘时,需要对云硬盘进行分区。伴随着存储需求的不断提升,会出现分区容量不足的情况。当容量不足时,通常会采用替换原有分区的方式进行扩容(具体方法可参见扩容云硬盘)。该方法操作过程复杂,需要经过备份数据、清除硬盘、重新分区、数据恢复等多个环节,此外,还需要中断业务运行。

通过逻辑卷管理LVM来管理云硬盘后,文件系统不再受限于云硬盘的大小,可以分布在多个云硬盘上,并且可以动态扩容。

逻辑卷管理LVM(Logical Volume Manager)是在Linux环境下对磁盘分区管理的一种机制。LVM是建立在云硬盘和分区之间的一个逻辑层,可以将若干个磁盘物理分区连接为一个整块的卷组VG(Vloume Group),形成一个存储池,然后,在卷组上创建逻辑卷LV(Logical Volumes))。通过这样一种方式,可以在线动态调整存储卷的大小,提高磁盘分区管理的灵活性。

4.1.1.2 LVM架构

LVM的基本工作原理是将底层的云硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。

最底层的存储设备为云硬盘。

云硬盘被格式化为物理卷PV(Physical Volume)。物理卷可以是实际云硬盘上的分区,也可以是整个云硬盘,也可以是RAID设备。

在物理卷PV之上建立卷组VG。一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。

在卷组之上建立逻辑卷LV。卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展或缩小空间。

image.png

4.1.1.3 构建LVM

从上节的LVM架构图中可以看出,使用LVM管理云硬盘的基本操作步骤如下:

安装LVM。

1、将云硬盘创建为物理卷。

2、将多个物理卷组合成卷组。

3、在卷组中创建逻辑卷。

4、在逻辑卷之上创建文件系统。

背景信息

本文以/dev/vdb、/dev/vdc和/dev/vdd三块云硬盘为例说明如何创建LVM。如下图所示,系统已经挂载了三块云硬盘,大小是20GB。

image.png

前提条件

已经完成云硬盘的创建,并且挂载在对应的云服务器上。请参见创建云硬盘。

注意事项

在单台实例已挂载多块云硬盘创建LVM时,由于快照只能针对独立的每个云硬盘创建,当使用LVM后,使用快照回滚云盘时会造成数据差异。

操作步骤

步骤一:安装LVM

1、执行如下命令,检查系统是否安装过LVM。

rpm -qa |grep lvm2

如果出现如下显示信息,则说明已经安装,可以跳过步骤一,直接执行步骤二

image.png

如果没有出现如上显示信息,则执行步骤二。

2、执行如下命令,安装LVM。

yum install lvm2

执行后,若出现如下信息,则说明安装成功。

image.png

步骤二:将云硬盘创建为物理卷

1、以root用户登录云服务器。

2、执行如下命令,查看当前设备挂载的云硬盘。

fdisk -l

image.png

从上述的显示信息中我们可以看出,当前系统挂载了三块云硬盘,分别是/dev/vdb、/dev/vdc和/dev/vdd。

3、创建物理卷,将希望添加到卷组的所有分区或者云硬盘创建为物理卷。将整个硬盘创建为物理卷的命令为:

pvcreate <磁盘设备名1> <磁盘设备名2 > … <磁盘设备名n>

多个磁盘之间用空格来分隔。

本示例中,执行pvcreate /dev/vdb /dev/vdc /dev/vdd命令,显示如下。

image.png

4、执行如下命令,查看新创建的物理卷详细信息。

pvdisplay

image.png

从显示信息中,我们可以看到新创建的三个物理卷,分别是/dev/vdb、/dev/vdc 、/dev/vdd。

步骤三:创建卷组

1、将多个物理卷创建为一个卷组。

vgcreate <卷组名> <物理卷名称1> <物理卷名称2> … <物理卷名称n>

本示例中,执行 vgcreate lvm_example /dev/vdb /dev/vdc /dev/vdd。

image.png

如果出现如上提示信息,则说明卷组创建成功。

2、查看卷组详细信息

vgdisplay

image.png


3、(可选)卷组创建完成后,如果想将新的物理卷添加到该卷组,可以执行如下命令。

vgextend <卷组名> <物理卷名称1>

步骤四:在卷组中创建逻辑卷

1、创建逻辑卷。

lvcreate -L <逻辑卷大小> -n <逻辑卷名称> <卷组名称>

本示例中,执行lvcreate -L 20G -n lv1 lvm_example。

image.png

2、查看逻辑卷详情。

lvdisplay

image.png

步骤五:创建并挂载文件系统

1、创建文件系统。

mkfs.<文件格式> <逻辑卷路径>

本示例中,执行mkfs.ext3 /dev/lvm_example/lv1。

2、创建挂载目录。

mkdir <挂载目录>

示例

mkdir /Data

3、挂载逻辑卷。

mount <逻辑卷路径> <挂载目录>

示例

mount /dev/lvm_example/lv1 /Data

4、查看挂载是否成功。

df -h

image.png

4.1.1.4 扩容LVM

当逻辑卷容量不足时,可以在线动态扩展逻辑卷容量。

背景信息

在调整逻辑卷容量大小的同时也要调整在该卷上的文件系统的大小。因此,当要增大容量时,先调整容量,后调整文件系统。

操作步骤

1、扩展逻辑卷容量。

lvextend -L +/- <增减容量> <逻辑卷路径>

示例

//样例1:将逻辑卷lv1增加350M容量

 lvextend -L +350M /dev/lvm_example/lv1

 //样例2:将逻辑卷lv1所在卷组所有空闲空间分配到lv1中

 lvextend –l +100%FREE /dev/lvm_example/lv1

2、扩展文件系统容量。

resize2fs <逻辑卷路径>

示例

resize2fs  /dev/lvm_example/lv1

image.png

3、查看扩展后的逻辑卷大小。

df -h

image.png

可以看到,新增加的1G容量已经加到逻辑卷上了,容量总量变为21G。

4.1.2 通过多块云硬盘组成RAID

4.1.2.1 RAID简介

磁盘阵列RAID(Redundant Array of Independent Disks)是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。不同RAID 级别代表着不同的存储性能、数据安全性和存储成本。

image.png

image.png

4.1.2.2 构建RAID

前提条件

已经完成云硬盘的创建,并且挂载在对应的云服务器上。请参见创建云硬盘。

背景信息

本文以/dev/vdd、/dev/vde、/dev/vdf和/dev/vdg四块云硬盘为例说明如何创建RAID10。如下图所示,系统已经挂载了四块云硬盘,大小是20G。

image.png

操作步骤

1、以root用户登录云服务器ECS。

2、安装mdadm工具。

yum install mdadm -y

image.png

3、创建RAID阵列。

mdadm -Cv  -a yes -n <磁盘数量> -l RAID<级别> <磁盘1> <磁盘2> <磁盘3>...

命令示例

mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/vdd /dev/vde /dev/vdf /dev/vdg

image.png

4、格式化RAID阵列。

mkfs.<文件格式>

命令示例

mkfs.ext4 /dev/md0

image.png

5、创建挂载目录。

mkdir <挂载目录>

命令示例

mkdir /RAID10

6、挂载RAID阵列设备名。

mount <挂载目录>

命令示例

mount /dev/md0 /RAID10

7、查看RAID阵列的挂载结果。

df -h

image.png

8、云服务器系统启动时自动挂载RAID阵列。

a.执行vi /etc/fstab命令,打开/etc/fstab。

b.输入i,进入编辑模式。

c.在后面增加一行,输入dev/md0 /RAID10 ext4 defaults 0 0。

image.png

d.完成后,按“Esc”键,输入:wq,保存退出文件。

9、查看磁盘阵列信息。

mdadm 

命令示例

mdadm -D /dev/md0

image.png

意见反馈

文档内容是否对您有帮助?

如您有其他疑问,您也可以通过在线客服来与我们联系探讨 在线客服

联系我们
回到顶部