目录:
- 一、创建和挂载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
来源:oschina
链接:https://my.oschina.net/u/4280865/blog/4209837