一、LVM逻辑卷管理划分方法
强烈推荐,灵活性最高。
容量超过2TB的限制时,必须使用GTP分区表。
做法:将全盘划分为一个物理卷(PV),加入卷组(VG),然后按需分配逻辑卷(LV)。
1、使用fdisk查看磁盘信息
[root@localhost ~]# lsblk
[root@localhost ~]# fdisk -l
[root@localhost ~]# fdisk -l /dev/sda
2、如果是旧磁盘可以强制清理磁盘头部信息,新盘可跳过该步骤
# 强制把磁盘头部所有的MBR、GPT或多路径残留签名全部抹除,让它变成一块绝对的“新盘”(对于新挂载的盘可跳过)
[root@localhost ~]# wipefs -a /dev/sda
3、创建GPT分区
使用parted初始化本地磁盘为GPT格式,使用0%到100%自动对齐(不要手动指定扇区数,让parted自行计算最佳对齐位置)
# 使用parted工具初始化磁盘/dev/sda
[root@localhost ~]# parted /dev/sda mklabel gpt
# 将整块盘划分给一个主分区(LVM 专用)
[root@localhost ~]# parted /dev/sda mkpart primary 0% 100%
# 设置分区标记为lvm类型
[root@localhost ~]# parted /dev/sda set 1 lvm on
# 刷新内核分区表
[root@localhost ~]# partprobe /dev/sda
# udev重新加载盘符
[root@localhost ~]# udevadm settle
# 验证分区是否成功出现
[root@localhost ~]# ls -l /dev/sda*
4、添加LVM设备文件
Oracle Linux 9.6默认开启了system.devices控制。为了避免本地盘被锁死,我们直接把/dev/sda1加入到LVM设备文件中并创建卷组。
# 将分区添加到LVM设备文件(OL9 特有步骤)
[root@localhost ~]# lvmdevices --adddev /dev/sda1
# 如果出现下面警告可以lvmdevices --deldev /dev/sda删除整块盘,只保留分区/dev/sda1
WARNING: adding device /dev/sda1 with idname naa.600062b224b0f480319557d49e2c1820 which is already used for /dev/sda.
# 如果没有出现上面警告信息,可以忽略该步骤
[root@localhost ~]# lvmdevices --deldev /dev/sda
# 查看设备信息
[root@localhost ~]# lvmdevices
5、创建物理卷(PV)
[root@localhost ~]# pvcreate /dev/sda1
# 验证结果
[root@localhost ~]# pvdisplay /dev/sda1
[root@localhost ~]# lvmdevices
6、创建本地卷组(VG)
# 创建一个名为vg_local(或自定义名称)的卷组,添加/dev/sda1分区
[root@localhost ~]# vgcreate vg_local /dev/sda1
7、创建逻辑卷(LV)
# 创建500G的lv_u01卷
[root@localhost ~]# lvcreate -L 500G -n lv_u01 vg_local
# 创建4TB的lv_backup卷
[root@localhost ~]# lvcreate -L 4T -n lv_backup vg_local
8、格式化文件系统
Oracle Linux 9.6推荐使用XFS文件系统
# 格式化逻辑卷
[root@localhost ~]# mkfs.xfs /dev/vg_local/lv_u01
[root@localhost ~]# mkfs.xfs /dev/vg_local/lv_backup
9、配置开机自动挂载
# 创建对应的行挂载点目录
[root@localhost ~]# mkdir -p /u01/ /backup
# 配置开机自动挂载,文件末尾追加下面内容
[root@localhost ~]# vi /etc/fstab
/dev/mapper/vg_local-lv_u01 /u01 xfs defaults 0 0
/dev/mapper/vg_local-lv_backup /backup xfs defaults 0 0
# 激活生效
[root@localhost ~]# mount -a
[root@localhost ~]# systemctl daemon-reload
10、验证结果
# 查看分区挂载及容量
[root@localhost ~]# df -h
11、LVM在线扩容
# 查看卷组剩余空间(Free PE留作未来弹性扩容),根据实际情况是否需要继续创建逻辑卷或者对之前逻辑卷进行扩容
[root@localhost ~]# vgs vg_local
# 精确追加指定大小(最常用)
[root@localhost ~]# lvextend -L +100G /dev/vg_local/lv_u01
注意:加上+号代表"在原有基础上增加";如果不加+号则代表"指定最终大小"。
# 将剩余所有空间全部分配给某一个分区
[root@localhost ~]# lvextend -l +100%FREE /dev/vg_local/lv_backup
# 刷新文件系统让系统识别到新的容量
[root@localhost ~]# xfs_growfs /u01
[root@localhost ~]# xfs_growfs /backup
# 也可以不使用挂载点,直接使用【绝对路径】直接刷新
[root@localhost ~]# xfs_growfs /dev/mapper/vg_local-lv_u01
[root@localhost ~]# xfs_growfs /dev/mapper/vg_local-lv_backup
二、删除LVM逻辑卷方法
1、清理挂载与配置文件(防止系统重启无法开机)
# 卸载所有挂载点
[root@localhost ~]# umount /u01
[root@localhost ~]# umount /backup
[root@localhost ~]# df -h
2、清理/etc/fstab配置文件
# 删除之前添加的对应内容
[root@localhost ~]# vi /etc/fstab
3、删除逻辑卷(LV)
[root@localhost ~]# lvremove /dev/vg_local/lv_*
4、删除卷组(VG)
[root@localhost ~]# vgremove vg_local
5、删除物理卷(PV)并从LVM设备文件中移除
[root@localhost ~]# pvremove /dev/sda1
[root@localhost ~]# lvmdevices --deldev /dev/sda1
三、parted进行固定物理分区
1、使用fdisk查看磁盘信息
[root@localhost ~]# lsblk
[root@localhost ~]# fdisk -l
[root@localhost ~]# fdisk -l /dev/sda
2、如果是旧磁盘可以强制清理磁盘头部信息,新盘可跳过该步骤
# 强制把磁盘头部所有的MBR、GPT或多路径残留签名全部抹除,让它变成一块绝对的“新盘”(对于新挂载的盘可跳过)
[root@localhost ~]# wipefs -a /dev/sda
3、创建GPT分区
[root@localhost ~]# parted /dev/sda mklabel gpt
4、划分固定大小分区(采用百分比对齐法,保证安全)
# 创建一个500GB的分区
[root@localhost ~]# parted /dev/sda mkpart primary 0% 500GB
# 创建一个4TB的分区
[root@localhost ~]# parted /dev/sda mkpart primary 500GB 4.5TB
5、强制内核刷新设备列表
[root@localhost ~]# partprobe /dev/sda
[root@localhost ~]# udevadm settle
6、查看物理分区是否已经生成
[root@localhost ~]# ll /dev/sda*
7、格式化新分区
[root@localhost ~]# mkfs.xfs /dev/sda1
[root@localhost ~]# mkfs.xfs /dev/sda2
8、配置开机自动挂载
# 创建对应的行挂载点目录
[root@localhost ~]# mkdir -p /u01/ /backup
# 配置开机自动挂载,文件末尾追加下面内容
[root@localhost ~]# vi /etc/fstab
/dev/sda1 /u01 xfs defaults 0 0
/dev/sda2 /backup xfs defaults 0 0
# 激活生效
[root@localhost ~]# mount -a
[root@localhost ~]# systemctl daemon-reload
9、查看未分区的大小(如果还需要分区可以从第4步开始)
[root@localhost ~]# parted /dev/sda print free
四、parted删除固定的物理分区
1、卸载现有分区挂载点
[root@localhost ~]# umount /u01
[root@localhost ~]# umount /backup
2、清理/etc/fstab配置文件
# 删除之前添加的对应内容
[root@localhost ~]# vi /etc/fstab
3、查看当前磁盘上有哪些分区编号
# 左侧第一列Number就是分区编号
[root@localhost ~]# parted /dev/sda print
4、依次删除这些分区
[root@localhost ~]# parted /dev/sda rm 1
[root@localhost ~]# parted /dev/sda rm 2
5、强制擦除整块磁盘的头部信息,重新建立干净的GPT标签
[root@localhost ~]# wipefs -a /dev/sda
[root@localhost ~]# parted /dev/sda mklabel gpt