Linux LVM磁盘分区管理
目录:
- 一、创建和挂载LVM
- 二、扩容LVM分区
- 三、Parted格式化2TB以上的磁盘
Linux LVM(Logical Volume Manager)逻辑卷管理是在Linux2.4内核以上实现的磁盘管理技术。
一、创建和挂载LVM
1、 创建分区
fdisk /dev/sdb # 创建LVM分区
[root@servera ~]# fdisk /dev/sdb Command (m for help): n # add a new partition Partition 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 1 Hex 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 -l Disk /dev/vda: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x16a1e057 Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 20971486 20969439 10G 83 Linux Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x03864530 Device 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 0 UUID=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