如何在ECS(veLinux)使用 LVM 逻辑卷

问题描述

如何在ECS云盘上使用逻辑卷管理器(LVM)创建并使用逻辑卷(LV)

问题分析

LVM 允许分配磁盘空间、重新镜像和调整逻辑卷的大小。使用 LVM,您可以将一个云盘或一组云盘分配给一个或多个物理卷。

要在云盘上使用 LVM 并扩展分区,大体步骤如下:

  1. 从云盘创建物理卷 (PV)。
  2. 创建一个卷组 (VG) 并将物理卷添加到该卷组。
  3. 在 LVM 上创建逻辑卷 (LV) 和挂载目录。
  4. 创建并挂载文件系统。
  5. 调整逻辑卷的大小。
解决方案

一. 从云盘创建物理卷

LVM 逻辑卷的底层物理存储单元是一个块储存设备,例如云盘的分区或整个云盘。您可以在单个云盘或多个云盘上创建 PV。

1.准备一台Linux(velinux系统),然后创建一个新的20G云盘,并挂载到ECS。

2.如果没有pvcreate,使用下面命令搜索安装:

root@i-2udbbtytcx3gv6bvmhzb:~# pvcreate
-bash: pvcreate: command not found
root@i-2udbbtytcx3gv6bvmhzb:~# aptitude search lvm2
p  libblockdev-lvm2                            - LVM plugin for libblockdev                           
p  liblvm2-dev                                 - LVM2 libraries - development files                   
p  liblvm2cmd2.03                              - LVM2 command library                                 
p  liblvm2cmd2.03-dbgsym                       - debug symbols for liblvm2cmd2.03                     
p  lvm2                                        - Linux Logical Volume Manager                         
p  lvm2-dbgsym                                 - debug symbols for lvm2                               
p  lvm2-dbusd                                  - LVM2 D-Bus daemon                                    
p  lvm2-lockd                                  - LVM locking daemon                                   
p  lvm2-lockd-dbgsym                           - debug symbols for lvm2-lockd                         
p  udisks2-lvm2                                - LVM2 support for udisks2         
root@i-2udbbtytcx3gv6bvmhzb:~# aptitude install lvm2

3.使用 pvcreate 命令创建物理卷。

root@i-2udbbtytcx3gv6bvmhzb:~# pvcreate /dev/vdb
 Physical volume "/dev/vdb" successfully created.

4.使用 pvs 或 pvdisplay 命令查看物理卷详细信息。

root@i-2udbbtytcx3gv6bvmhzb:~# pvs
 PV        VG Fmt Attr PSize PFree 
 /dev/vdb     lvm2 --- 20.00g 20.00g
 
root@i-2udbbtytcx3gv6bvmhzb:~# pvdisplay
 "/dev/vdb" is a new physical volume of "20.00 GiB"
 --- NEW Physical volume ---
 PV Name              /dev/vdb
 VG Name              
 PV Size              20.00 GiB
 Allocatable          NO
 PE Size              0  
 Total PE             0
 Free PE              0
 Allocated PE         0
 PV UUID              KQhlAN-MzyE-Bg3U-50uM-6Ds6-q82w-c1U46M

二. 创建卷组并将物理卷添加到该卷组

1.使用 vgcreate 命令创建一个卷组,以合并新的物理卷。以下示例使用一个物理卷创建卷组 Dock。

root@i-2udbbtytcx3gv6bvmhzb:~# vgcreate Dock /dev/vdb
 Volume group "Dock" successfully created

2.使用 vgs 或 vgdisplay 查看新卷组的详细信息.

root@i-2udbbtytcx3gv6bvmhzb:~# vgs
 VG  #PV #LV #SN Attr  VSize  VFree 
 Dock  1  0  0 wz--n- <20.00g <20.00g
root@i-2udbbtytcx3gv6bvmhzb:~# vgdisplay
 --- Volume group ---
 VG Name              Dock
 System ID            
 Format               lvm2
 Metadata Areas       1
 Metadata Sequence No 1
 VG Access            read/write
 VG Status            resizable
 MAX LV               0
 Cur LV               0
 Open LV              0
 Max PV               0
 Cur PV               1
 Act PV               1
 VG Size              <20.00 GiB
 PE Size              4.00 MiB
 Total PE             5119
 Alloc PE / Size      0 / 0  
 Free PE / Size      5119 / <20.00 GiB
 VG UUID              wmjcqY-DzN3-1elw-YH0S-PEw9-eJFf-D5QXLm

三. 创建逻辑卷 (LV) 和挂载目录

1.使用 lvcreate 命令从卷组创建逻辑卷(分区)。以下示例从 Dock 卷组创建一个 10GB 逻辑卷 station1。

root@i-2udbbtytcx3gv6bvmhzb:~# lvcreate -n station1 -L 10G Dock
 Logical volume "station1" created.

2.使用 lvs 或 lvdisplay 命令查看逻辑卷详细信息。

root@i-2udbbtytcx3gv6bvmhzb:/var/log# lvs
 LV      VG  Attr      LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
 station1 Dock -wi-a----- 10.00g                             
root@i-2udbbtytcx3gv6bvmhzb:/var/log# lvdisplay
 --- Logical volume ---
 LV Path               /dev/Dock/station1
 LV Name               station1
 VG Name               Dock
 LV UUID               mCoAcP-wt9u-zxGO-93S9-zvV3-iBMy-GSRyf7
 LV Write Access       read/write
 LV Creation host, time i-2udbbtytcx3gv6bvmhzb, 2021-09-14 11:30:15 +0800
 LV Status             available
 # open                0
 LV Size               10.00 GiB
 Current LE            2560
 Segments              1
 Allocation            inherit
 Read ahead sectors    auto
 - currently set to    256
 Block device          253:0
  1. 使用 mkdir 命令创建一个挂载目录。以下示例创建目录 /mnt1 。
mkdir /mnt1

四. 创建并挂载文件系统

1.使用以下命令创建文件系统并挂载以供使用。

运行 mkfs -t 命令以创建文件系统。注意:将 xfs 替换为您的文件系统类型(如果不同)。例如,ext2、ext3 或 ext4。

root@i-2udbbtytcx3gv6bvmhzb:/dev/Dock# mkfs -t xfs /dev/Dock/station1
meta-data=/dev/Dock/station1    isize=512   agcount=4, agsize=655360 blks
        =                      sectsz=512  attr=2, projid32bit=1
        =                      crc=1       finobt=1, sparse=1, rmapbt=0
        =                      reflink=0
data    =                      bsize=4096  blocks=2621440, imaxpct=25
        =                      sunit=0     swidth=0 blks
naming  =version 2             bsize=4096  ascii-ci=0, ftype=1
log     =internal log          bsize=4096  blocks=2560, version=2
        =                      sectsz=512  sunit=0 blks, lazy-count=1
realtime =none                  extsz=4096  blocks=0, rtextents=0

2.运行 lsblk -f 命令以验证是否创建了新文件系统。注意:您在上一步中创建的文件系统类型将显示在 FSTYPE 下方。

root@i-2udbbtytcx3gv6bvmhzb:~# lsblk -f
NAME           FSTYPE     LABEL UUID                                  FSAVAIL FSUSE% MOUNTPOINT
vda                                                                                    
└─vda1         ext4             45925258-0afa-4795-909f-f9130b2f8a28    35.5G    5% /
vdb            LVM2_member      KQhlAN-MzyE-Bg3U-50uM-6Ds6-q82w-c1U46M               
└─Dock-station1 xfs              84f36315-6e1f-4dad-917d-f68f32c6ee6f    

3.运行 mount 命令以在上一步中创建的挂载目录下挂载文件系统。

root@i-2udbbtytcx3gv6bvmhzb:~# mount /dev/Dock/station1 /mnt1

4.编辑 /etc/fstab 文件中的挂载选项,以便在重启后新挂载仍然存在。

root@i-2udbbtytcx3gv6bvmhzb:~# cat /etc/fstab
UUID=45925258-0afa-4795-909f-f9130b2f8a28 /       ext4 defaults,errors=remount-ro 0 1
/dev/Dock/station1                        /mnt1   xfs  defaults,nofail 0 0

如果您有其他问题,欢迎您联系火山引擎技术支持服务

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论