天天看点

扩展虚拟化磁盘空间

本来想自己写一下今天的过程,发现有一篇理论和操作性俱佳的文件,遂转之如下,个人实际操作比较简单,也放在最后了,权当记录:

LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的 文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。

     物理存储介质(PhysicalStorageMedia)

           指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。

     物理卷(Physical Volume,PV)

          指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

     卷组(Volume Group,VG)

           类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。

     逻辑卷(Logical Volume,LV)

           类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。

     物理块(Physical Extent,PE)

          每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。

     逻辑块(Logical Extent,LE)LVM抽象模型

        逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

  【二】LVM 参数:

 (1)【PV阶段参数】

       pvchange      Change attributes of a Physical Volume.

       pvck              用来检测物理卷的LVM元数据的一致性。默认情况下,物理卷中的前4个扇区保存着LVM卷标.

       pvcreate       用于将物理硬盘分区初始化为物理卷,以便LVM使用

       pvdisplay      用于显示物理卷的属性 -s以短格式输出  -m:显示PE到LE的映射.

       pvmove        Move Physical Extents.

       pvremove     Remove a Physical Volume.

       pvresize       Resize a disk or partition in use by LVM2.

       pvs               Report information about Physical Volumes.

       pvscan         Scan all disks for Physical Volumes.

 (2)【VG阶段参数】

       vgcfgbackup   Backup Volume Group descriptor area.

       vgcfgrestore  Restore Volume Group descriptor area.

       vgchange      vgchange命令用于修改卷组的属性,经常被用来设置卷组是处于活动状态或非活动状态。处于活动状态的卷组无法被删除,必须使用vgchange命令将卷组设置为非活动状态后才能删除;

       例如: vgchange -ay  vg1      #将卷组"vg1"设置为活动状态 (-an 设置为非活动状态 )

       vgck                   Check Volume Group metadata.

       vgconvert          Convert Volume Group metadata format.

       vgcreate            用于创建LVM卷组。-l:卷组上允许创建的最大逻辑卷数; -p:卷组中允许添加的最大物理卷数; -s:卷组上的物理卷的PE大小。例如:vgcreate -s 16M  vg1 /dev/sdb1

       vgdisplay           Display attributes of Volume Groups.

       vgexport            Make volume Groups unknown to the system.

       vgextend           向卷组中添加物理卷(PV)来增加卷组(VG)的容量.

       vgimport            Make exported Volume Groups known to the system.

       vgimportclone  Import and rename duplicated Volume Group (e.g. a hardware snapshot).

       vgmerge           Merge two Volume Groups.

       vgmknodes      Recreate Volume Group directory and Logical Volume special files

       vgreduce         删除LVM卷组中的物理卷来减少卷组容量。不能删除LVM卷组中剩余的最后一个物理卷.

       vgremove      用于用户删除LVM卷组。当要删除的卷组上已经创建了逻辑卷时,vgremove命令需要进行确认删除,防止误删除数据。

       vgrename      Rename a Volume Group 例如:vgrename vg vg1  把vg的名字改为vg1

       vgs                 Report information about Volume Groups.

       vgscan           Scan all disks for Volume Groups and rebuild caches.

       vgsplit            Split a Volume Group into two, moving any logical volumes from one Volume Group to another  by  moving  entire

                           Physical Volumes.

  (3)【LV阶段参数】

       lvchange        Change attributes of a Logical Volume.

       lvconvert        Convert a Logical Volume from linear to mirror or snapshot.

       lvcreate          用于创建LVM的逻辑卷. -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节;-l:指定逻辑卷的大小(PE数)。 

                              lvceate [ -L l ] [-n  LV 名称]  VG 名称 

       lvdisplay         Display attributes of a Logical Volume.

       lvextend         在线扩展逻辑卷的空间大

       lvreduce        用于减少LVM逻辑卷占用的空间大小. 收缩逻辑卷的空间大小有可能会删除逻辑卷上已有的数据;  -L:指定逻辑卷的大小,单位                                          为“kKmMgGtT”字节;-l:指定逻辑卷的大小(PE数)。

(2)创建VG

(1)vgcreate -s 8M  v_vg /dev/sdb1 ##新建一个v_vg VG 指定一个PE为8M(默认4M)

[root@localhost ~]# pvdisplay 

-- Physical volume ---

  PV Name               /dev/sdb1

  VG Name               v_vg

  PV Size               1.00 GiB / not usable 8.00 MiB

  Allocatable           yes  #是否已分配

  PE Size               8.00 MiB #PE 8M

  Total PE              127

  Free PE               127 #没有被LV用掉的PE

  Allocated PE          0 #尚可分配出去的PE数量

  PV UUID               NXJ7oB-BXpm-7FPx-2utQ-8qrA-z5Q5-99UlSw

[root@localhost ~]# vgdisplay #查看VG的信息

--- Volume group ---

  VG Name               v_vg

  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               1016.00 MiB

  PE Size               8.00 MiB

  Total PE              127

  Alloc PE / Size       0 / 0   

  Free  PE / Size       127 / 1016.00 MiB

  VG UUID               JbTWno-2lf1-KZjJ-PbA1-0e4w-QH16-BE6VvX

[root@localhost ~]# vgextend  v_vg /dev/sdb2  #把PV加入VG中

  --- Volume group ---

  Metadata Areas        2

  Metadata Sequence No  2

  Cur PV                2

  Act PV                2

  VG Size               1.98 GiB #整体VG容量的大小

  Total PE              254

  Alloc PE / Size       0 / 0    #分配出去的PE数量

  Free  PE / Size       254 / 1.98 GiB #没有分配出去的PE数量

(2)创建LV

 lvcreate -L +1G  -n  v_home v_vg 

【四】、放大LV容量和缩小LV容量

 lvresize -L +400M /dev/v_vg/v_home #给添加400M

LV已经扩展到400M,但是文件没有相对的增加。

dumpe2fs /dev/v_vg/v_home 

resize2fs /dev/v_vg/v_home ##完整的进行LV容量扩充到整个文件系统中。

说明: 在xfs文件系统中,只能增大分区而不能减小。

resize2fs命令            针对的是ext2、ext3、ext4文件系统

xfs_growfs命令         针对的是xfs文件系统

xfs_repair进行修复

     lvextend -L 120G /dev/v_vg/v_home     //增大至120G

lvextend -L +20G /dev/v_vg/v_home      //增加20G

lvreduce -L 50G /dev/v_vg/h_home      //减小至50G

lvreduce -L -8G /dev/v_vg/v_home      //减小8G

resize2fs /dev/v_vg/v_home            //执行调整

2)使用vgdisplay命令查看系统上的空闲空间

xfs:

xfs相关常用命令

fs_admin: 调整 xfs 文件系统的各种参数 

xfs_copy: 拷贝 xfs 文件系统的内容到一个或多个目标系统(并行方式) 

xfs_db: 调试或检测 xfs 文件系统(查看文件系统碎片等) 

xfs_check: 检测 xfs 文件系统的完整性 

xfs_bmap: 查看一个文件的块映射 

xfs_repair: 尝试修复受损的 xfs 文件系统 

xfs_fsr: 碎片整理 

xfs_quota: 管理 xfs 文件系统的磁盘配额 

xfs_metadump: 将 xfs 文件系统的元数据 (metadata) 拷贝到一个文件中 

xfs_mdrestore: 从一个文件中将元数据 (metadata) 恢复到 xfs 文件系统 

xfs_growfs: 调整一个 xfs 文件系统大小(只能扩展) 

xfs_freeze 暂停(-f)和恢复(-u)xfs 文件系统

xfs_logprint: 打印xfs文件系统的日志 

xfs_mkfile: 创建xfs文件系统 

xfs_info: 查询文件系统详细信息 

xfs_ncheck: generate pathnames from i-numbers for XFS 

xfs_rtcp: XFS实时拷贝命令 

xfs_io: 调试xfs I/O路径  

————————————————

版权声明:本文为CSDN博主「Resines」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/genglei1022/article/details/78065427

------------------------------------------Start------------------------------------------------------

一、分区新添加的磁盘

1.查看磁盘: df -lh

2.分区:fdisk /dev/sda

具体是sda还是sdb亦或是hda等,要看您的磁盘类型和序号

A.输入 n

B.输入 p

C.输入 分区号3、4默认3

D.输入 t 选择文件类型

E.输入 8e

F.输入 p

G.输入 w

3.挂载磁盘

A.检查分区文件类型默认xfs

df -T /dev/sda4

B.新磁盘上创建xfs文件系统

mkfs.xfs /dev/sda4

二、扩展Linux下的磁盘空间

1.创建PV

pvcreate /dev/sda4

pvdisplay

2.查看VG详情,并将PV加入VG

vgdisplay

vgextend centos /dev/sda4 #此处的centos为VG Name,/dev/sda4为新的PV Name

3.查看LV详情

lvdisplay

4.扩展逻辑卷

lvextend /dev/mapper/centos-root /dev/sda4

5.调整文件系统大小,我的测试环境是xfs文件系统,使用xfs_growfs命令调整

xfs_growfs /dev/mapper/centos-root

6.最后确认存储空间是否扩容成功

df -lh

------------------------------------------End------------------------------------------------------

继续阅读