【ECS最佳实践】基于多块云盘构建LVM逻辑卷

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 一、LVM简介   LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

一、LVM简介

  LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。

  LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。如果期望扩容云盘的IO能力,则可以通过将多块容量相同的云盘做RAID0。
image

图1:LVM逻辑示意图(图片来自于互联网)

二、创建LVM卷

2.1步骤一 创建物理卷PV

  如下以5块云盘通过LVM创建弹性可扩展逻辑卷为例。

root@lvs06:~# lsblk
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda    252:0    0  40G  0 disk
└─vda1 252:1    0  40G  0 part /
vdb    252:16   0   1T  0 disk
vdc    252:32   0   1T  0 disk
vdd    252:48   0   1T  0 disk
vde    252:64   0   1T  0 disk
vdf    252:80   0   1T  0 disk
  • step1: 以root账号登录云服务器
  • step2:执行以下命令,为云盘创建PV卷
pvcreate <磁盘路径1> ... <磁盘路径N>

说明:此处需要填写云盘的设备名称,如果需要添加多个云盘,则可以添加多云盘设备名称,中间以空格间隔。如下以/dev/vdb, /dev/vdc,/dev/vdd,/dev/vde,/dev/vdf为例,执行结果如下:

root@lvs06:~# pvcreate  /dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdf
  Physical volume "/dev/vdb" successfully created.
  Physical volume "/dev/vdc" successfully created.
  Physical volume "/dev/vdd" successfully created.
  Physical volume "/dev/vde" successfully created.
  Physical volume "/dev/vdf" successfully created.
  • step3:执行以下命令,查看该服务器上物理卷(PV)信息:
lvmdiskscan | grep LVM

执行结果如下:

root@lvs06:~# lvmdiskscan | grep LVM
  /dev/vdb  [       1.00 TiB] LVM physical volume
  /dev/vdc  [       1.00 TiB] LVM physical volume
  /dev/vdd  [       1.00 TiB] LVM physical volume
  /dev/vde  [       1.00 TiB] LVM physical volume
  /dev/vdf  [       1.00 TiB] LVM physical volume
  5 LVM physical volume whole disks
  0 LVM physical volumes

2.2步骤二 创建卷组(VG)

  • step1:执行以下命令,创建卷组(VG)
vgcreate <卷组名> <物理卷路径1>……<物理卷路径N>

执行结果如下:

root@lvs06:~# vgcreate lvm_01  /dev/vdb  /dev/vdc /dev/vdd /dev/vde /dev/vdf
  Volume group "lvm_01" successfully created

说明

1.卷组名:该参数可自定义

2.物理卷路径:此处填写云盘的物理卷名称,多个物理卷直接以空格间隔

3.当提示 “Volume group XXX successfully created”标识卷组创建成功;

- step2:执行以下命令,可以向卷组(VG)中添加物理卷(PV)

vgextend 卷组名称  <物理卷路径1>……<物理卷路径N>

如下,向卷组(VG)lvm_01中添加一块新的物理卷:

root@lvs06:~# pvcreate /dev/vdg
  Physical volume "/dev/vdg" successfully created.
root@lvs06:~# vgextend  lvm_01  /dev/vdg
  Volume group "lvm_01" successfully extended
  • step3:创建卷组(VG)成功后,可通过vgs,vgdisplay命令查看卷组信息
root@lvs06:~# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  lvm_01   6   0   0 wz--n- <6.00t <6.00t

2.3步骤三 创建逻辑卷(LV)

  • step1:执行以下命令创建逻辑卷(LV)
lvcreate [-L <逻辑卷大小>][ -n <逻辑卷名称>] <卷组名称>

参数说明

1.逻辑卷大小:逻辑卷的大小应小于卷组(VG)剩余可用空间,单位可以选择MB、GB或者TB
2.逻辑卷名称:可自定义
3.卷组名称:此处填写逻辑卷所在的卷组名称

本文以创建1个4TB的逻辑卷(LV)为例,执行结果如下:

root@lvs06:~# lvcreate -L 5T -n lv01 lvm_01
  Logical volume "lv01" created.
  • step2:执行lvdisplay命令查看,逻辑卷详细信息:
root@lvs06:~# lvdisplay
  --- Logical volume ---
  LV Path                /dev/lvm_01/lv01
  LV Name                lv01
  VG Name                lvm_01
  LV UUID                svB00x-l6Ke-ES6M-ctsE-9P6d-dVj2-o0h3Kz
  LV Write Access        read/write
  LV Creation host, time lvs06, 2019-06-06 15:27:19 +0800
  LV Status              available
  # open                 0
  LV Size                5.00 TiB
  Current LE             1310720
  Segments               6
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

2.4步骤四 创建并挂载文件系统

  • step1:执行以下命令,在创建好的逻辑卷(LV)上创建文件系统
mkfs.文件系统格式  逻辑卷路径

针对上一步中的逻辑卷创建ext4文件系统,执行结果如下:

root@lvs06:~# mkfs.ext4  /dev/lvm_01/lv01
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 1342177280 4k blocks and 167772160 inodes
Filesystem UUID: 2529002f-9209-4b6a-9501-106c1145c77f
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information:
done
  • step2:执行以下命令挂载文件系统:
mount  逻辑卷路径   挂载点

执行结果如下:

root@lvs06:~# mount  /dev/lvm_01/lv01  /media/lv01
root@lvs06:~# df -h
Filesystem               Size  Used Avail Use% Mounted on
udev                      12G     0   12G   0% /dev
tmpfs                    2.4G  3.7M  2.4G   1% /run
/dev/vda1                 40G  3.6G   34G  10% /
tmpfs                     12G     0   12G   0% /dev/shm
tmpfs                    5.0M     0  5.0M   0% /run/lock
tmpfs                     12G     0   12G   0% /sys/fs/cgroup
tmpfs                    2.4G     0  2.4G   0% /run/user/0
/dev/mapper/lvm_01-lv01  5.0T   89M  4.8T   1% /media/lv01

三、进阶场景

3.1扩展逻辑卷以及系统容量

  • Step1:执行以下命令,可扩展逻辑卷的容量
lvextend [-L +/- <增减容量>] <逻辑卷路径>

参数说明

1.增减容量:当卷组中可剩余容量时 ,可以执行扩容逻辑卷操作。扩容逻辑卷之后还需要扩容对应的文件系统才能生效;
2.逻辑卷路径:此处填写带扩容的逻辑卷路径

如下针对/dev/lvm_01/lv01 卷再扩容500GB物理空间,执行结果如下:

root@lvs06:~# lvextend -L +500GB /dev/lvm_01/lv01
Size of logical volume lvm_01/lv01 changed from 5.00 TiB (1310720 extents) to <5.49 TiB (1438720 extents).
Logical volume lvm_01/lv01 successfully resized.
  • step2:执行pvs命令,查看物理卷(pv)使用情况:
root@lvs06:~# pvs
  PV         VG     Fmt  Attr PSize     PFree
  /dev/vdb   lvm_01 lvm2 a--  <1024.00g       0
  /dev/vdc   lvm_01 lvm2 a--  <1024.00g       0
  /dev/vdd   lvm_01 lvm2 a--  <1024.00g       0
  /dev/vde   lvm_01 lvm2 a--  <1024.00g       0
  /dev/vdf   lvm_01 lvm2 a--  <1024.00g       0
  /dev/vdg   lvm_01 lvm2 a--  <1024.00g <523.98g
  • step3:执行以下resize2fs命令扩容文件系统:
resize2fs  逻辑卷路径

执行结果如下:

root@lvs06:~# resize2fs  /dev/lvm_01/lv01
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/lvm_01/lv01 is mounted on /media/lv01; on-line resizing required
old_desc_blocks = 640, new_desc_blocks = 703
The filesystem on /dev/lvm_01/lv01 is now 1473249280 (4k) blocks long.
  • step4:执行df-h名称,查看文件系统扩容情况
root@lvs06:~# df -h
Filesystem               Size  Used Avail Use% Mounted on
udev                      12G     0   12G   0% /dev
tmpfs                    2.4G  3.7M  2.4G   1% /run
/dev/vda1                 40G  3.6G   34G  10% /
tmpfs                     12G     0   12G   0% /dev/shm
tmpfs                    5.0M     0  5.0M   0% /run/lock
tmpfs                     12G     0   12G   0% /sys/fs/cgroup
tmpfs                    2.4G     0  2.4G   0% /run/user/0
/dev/mapper/lvm_01-lv01  5.5T   83M  5.2T   1% /media/lv01
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
29天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
2月前
|
弹性计算 人工智能 安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(3)
431 0
|
2月前
|
弹性计算 安全 网络安全
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
带你读《从基础到应用云上安全航行指南》——阿里云产品专家教你如何全方位构建ECS安全体系(2)
478 0
|
1月前
|
存储 弹性计算 关系型数据库
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
在我们选择阿里云服务器系统盘和数据盘时,如果是选择ESSD云盘,还需要选择云盘的云盘性能级别PL,PL性能级别有PL3、PL2、PL1、PL0四个性能级别的云盘规格,如果是通过阿里云的活动来购买云服务器的话,由于系统盘默认一般为20G或40G容量,可选的PL性能级别通常只有PL0(单盘IOPS性能上限1万)和PL1(单盘IOPS性能上限5万)可选择,有的用户肯能并不清楚ESSD云盘的性能等级之间有何区别,单盘IOPS性能指的是什么,本文为大家介绍一下ESSD云盘的云盘性能级别PL3、PL2、PL1、PL0相关知识点。
阿里云服务器ESSD云盘性能等级PL0、PL1、PL2、PL3区别,云盘性能级别PL知识点参考
|
28天前
|
存储 弹性计算 安全
阿里云活动内云服务器没有数据盘怎么办?购买后如何购买并挂载云盘?
在我们通过阿里云的活动来购买云服务器的时候,一般默认情况下只有系统盘,是没有数据盘的,但是很多用户处于实际使用需求和安全等方面的需求,通常都需要在购买之后单独再购买一块云盘作为数据盘挂载到云服务器上,本文以图文形式为大家展示阿里云活动内云服务器购买流程以及购买后如何购买并挂载云盘,适合新手用户参考。
阿里云活动内云服务器没有数据盘怎么办?购买后如何购买并挂载云盘?
|
30天前
|
存储 弹性计算 缓存
ecs使用ESSD云盘或SSD云盘
阿里云ECS中,ESSD和SSD云盘提供高性能存储。SSD云盘基于SSD技术,适合高I/O需求场景。ESSD云盘则采用NVMe SSD和智能缓存,优化低延迟和高随机读写性能,尤其适合数据库、实时交易等对延迟敏感的应用。若业务需要极致存储性能,ESSD是优选,但选择应基于实际需求、成本和性能指标。
32 3
|
1月前
|
存储 弹性计算 固态存储
ECS实例选型最佳实践
根据业务场景和vCPU、内存、网络性能、存储吞吐等配置划分,阿里云云服务器ECS提供了多种实例规格族,一种实例规格族又包括多个实例规格。用户在购买ECS实例前,面对如此丰富的规格,可能会无从下手,不知该如何选择。实例规格选型最佳实践,就是为了帮助用户结合自身业务需求中性能、价格、工作负载等因素,做出性价比与稳定性最优的决策,并在库存不足、产品下线、使用抢占式实例等场景中,通过备选实例规格满足需求。
|
1月前
|
机器学习/深度学习 Python
Python基础:构建一个简单的Web服务器
Python基础:构建一个简单的Web服务器
50 1
|
1月前
|
消息中间件 NoSQL 关系型数据库
倚天测评|倚天云服务器初次体验
随着云计算技术的快速发展,云服务器在各个领域得到了广泛应用。其中,倚天云服务器以其独特的CIPU架构和倚天710处理器的优势,引起了广大用户的关注。本测评报告旨在通过对倚天云服务器的实例使用、业务部署、性能测试和迁移体验等方面进行评估。
|
2月前
|
存储 缓存 网络协议
Go语言并发编程实战:构建高性能Web服务器
【2月更文挑战第6天】本文将通过构建一个高性能的Web服务器实战案例,深入探讨如何在Go语言中运用并发编程技术。我们将利用goroutine和channel实现高效的请求处理、资源管理和并发控制,以提升Web服务器的性能和稳定性。通过这一实战,你将更好地理解和掌握Go语言在并发编程方面的优势和应用。