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