龙空技术网

Linux中LVM的配置和管理

忆梦如风 452

前言:

当前小伙伴们对“centoslvmgpt”可能比较着重,朋友们都想要分析一些“centoslvmgpt”的相关文章。那么小编同时在网上汇集了一些关于“centoslvmgpt””的相关资讯,希望我们能喜欢,朋友们一起来了解一下吧!

一、LVM简介

LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制.Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

二、基本术语

物理卷(Physical Volume,PV):指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元;

PE:物理卷的最小单元,LV=PE*n;

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

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

Linux LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。

一、创建和挂载LVM

1、 创建分区

  fdisk /dev/sdb  # 创建LVM分区

[root@servera ~]# fdisk /dev/sdbCommand (m for help): n  # add a new partitionPartition type   p   primary (0 primary, 0 extended, 4 free)   e   extended (container for logical partitions)Select (default p): p  # 主分区Partition number (1-4, default 1):   # 回车First sector (2048-10485759, default 2048):   # 回车Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759):   # 回车Created a new partition 1 of type 'Linux' and of size 5 GiB.Command (m for help): t  # 修改分区类型,在CentOS8中不用设置为 8e也可以Selected partition 1Hex code (type L to list all codes): 8e  # LVM类型Changed type of partition 'Linux' to 'Linux LVM'.Command (m for help): w  # 保存配置The partition table has been altered.Calling ioctl() to re-read partition table.Syncing disks.[root@servera ~]# fdisk -lDisk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0x16a1e057Device     Boot Start      End  Sectors Size Id Type/dev/sda1  *     2048 20971486 20969439  10G 83 LinuxDisk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectorsUnits: sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisklabel type: dosDisk identifier: 0x03864530Device     Boot Start      End  Sectors Size Id Type/dev/sdb1        2048 10485759 10483712   5G 8e Linux LVM

2、创建PV(Pysical Volume)

pvcreate /dev/sdb1  # 将sdb1 初始化为物理卷

  提示:Device /dev/sdxx not found (or ignored by filtering), 需要将 sdb 添加到 /etc/lvm/lvm.conf 的 filter 中。

3、创建VG (Volume Group)

vgcreate vg-01 /dev/sdb1  # 创建VG名称为 vg-01, 并且将卷 sdb1 添加到VG中。

4、创建LV (Logic Volume)

  lvcreate vg-01 -n lv-01 -L 2G  # 创建LV名称为 lv-01,指定大小为2G,从名为vg-01的VG中划分。

5、格式化LV

下一步需要对LV进行格式化(使用mksf进行格式化操作),然后LV才能存储资料

# mkfs.ext4 /dev/vg-01/lv-01

6、挂载LV

将格式化后的LV分区挂载到指定的目录下,就可以像普通目录一样存储数据了

# mount /dev/vg-01/lv-01  /root/test/

如果要在系统启动的时候启动LV,最好是将lvData写入fstable 文件中,如下所示:

[ root@servera ]# cat /etc/fstab# <file system>        <dir>                   <type>    <options>      <dump> <pass>/dev/mapper/centos-root /                       xfs      defaults        0 0UUID=f7cde4a6-84e2-4b65-97b3-e44b89934de3 /boot                   xfs     defaults        0 0/dev/mapper/centos-swap swap                    swap     defaults        0 0/dev/vg-01/lv01       /root/test                ext4     defaults        1 2

二、扩容LVM分区

1、格式化新磁盘:

# fdisk /dev/sdc# partprobe   # 重读分区表# mkfs.ext4 /dev/sdc1 # 格式化为 ext4格式# partx /dev/sdc # 查看当前硬盘的分区表及使用情况

2、创建PV,扩容VG,扩容LV

# pvcreate /dev/sdc1# vgdisplay #查看当前已经存在的VG信息,以存在VG:VolGroup00为例# vgextend VolGroup00 /dev/sdc1    #扩展VolGroup00# lvdisplay #查看已经存在的LV信息,以存在LV:LogVol01为例# lvextend -L 1G /dev/VolGroup00/LogVol01 #扩展1G到LV中   或者将所有剩余空间全部扩展到LV中  lvextend -l +100%FREE  /dev/VolGroup00/LogVol01# resize2fs /dev/VolGroup00/LogVol01 #执行该重设大小,对于当前正在使用的LogVol01有效# df -HT  #查看挂载情况,已经扩容# lsblk  #查看挂载情况,已经扩容

特别注意的是:

resize2fs命令 针对的是ext文件系统

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

------------------------------------------------------------------------------------------

1)ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持)

# lvextend -L 120G /dev/mapper/centos-home     //增大至120G# lvextend -L +20G /dev/mapper/centos-home     //增加20G# lvreduce -L 50G /dev/mapper/centos-home      //减小至50G# lvreduce -L -8G /dev/mapper/centos-home      //减小8G# resize2fs /dev/mapper/centos-home            //执行调整

2)xfs文件系统的调整命令是xfs_growfs(只支持增大)

# lvextend -L 120G /dev/mapper/centos-home    //增大至120G# lvextend -L +20G /dev/mapper/centos-home    //增加20G# xfs_growfs /home          //执行调整

就是说:xfs文件系统只支持增大分区空间的情况,不支持减小的情况(切记!!!!!)。

硬要减小的话,只能在减小后将逻辑分区重新通过mkfs.xfs命令重新格式化才能挂载上,这样的话这个逻辑分区上原来的数据就丢失了。

三、Parted格式化2TB以上的磁盘

通常我们使用fdisk工具来进行磁盘分区,但是fdisk只能格式化小于2TB的磁盘。因此大于2TB的磁盘分区就需要parted工具。

1、设置DiskLable Type

# parted /dev/sdb mklabel gpt

2、创建分区

# parted /dev/sdb mkpart primary 0 100%

3、格式化分区

# mkfs.xfs /dev/sdb1

4、挂载分区

# mount /dev/sdb1 /var/tmp

关注点赞不迷路[灵光一闪]

标签: #centoslvmgpt