磁盘分区主要包含MBR(Master Boot Record)和GPT(GUID Partition Table)两种不同方式:
MBR(主引导记录),驱动器上的一个特殊的启动扇区,最大支持2TB,最多支持4个主分区,如果想要更多分区,需要先创建扩展分区,然后在扩展分区中创建逻辑分区。
GPT(GUID分区表),驱动器上的每个分区都有一个全局唯一的标识符(globally unique identifier,GUID),它对磁盘大小几乎没有限制,同时还支持几乎无限个分区数量,具有更强的健壮性与更大的兼容性,并且逐步取代MBR分区方式。
fdisk工具最大支持2TB磁盘,如果磁盘超过2T,需要使用parted工具。fdisk -l 可以查看磁盘的分区情况(只针对MBR分区,GPT的分区无法查看)。
以下以CentOS7.9为例,记录新磁盘挂载、扩容磁盘挂载到新目录、扩容磁盘扩容到根分区目录、扩容数据盘到已有分区目录等4种情况。
一、新磁盘挂载
新增数据盘/dev/sdb,大小为30T,挂载到/data目录。
1、查看分区情况
#lsblk
2、创建分区
使用parted命令完成分区创建。
#parted /dev/sdb
2.1、分区转换
创建gpt分区(格式化),输入命令:
#mklabel gpt
如果磁盘容量小于2T,可以使用MBR分区,输入命令:
#mklabel msdos
2.2、创建分区
此处创建一个分区,输入命令:
mkpart primary 1 -1
其他输入方式如百分比、容量等:
输入:mkpart primary 0 50GiB
输入:mkpart primary 0% 100%
或者划分多个分区:
输入:mkpart primary 0% 20%
输入:mkpart logic 20% 100%
2.3、查看分区
输入:print
2.4、退出parted
输入:quit
具体过程如下所:
3、格式化磁盘
ext4类型磁盘格式化:
mkfs.ext4 /dev/sdb1
xfs类型磁盘格式化:
mkfs.xfs /dev/sdb1
4、挂载磁盘
4.1、临时挂载:
#mkdir /data
#mount /dev/sdb1 /data
4.2、持久挂载
#echo "/dev/sdb1 /data ext4 defaults 0 0" >> /etc/fstab
或者使用blkid命令查看分区UUID,使用UUID挂载:
#echo "UUID=44d1a70c-66ad-4e3b-9fae-520fc7e3d8af /data ext4 defaults 0 0" >> /etc/fstab
5、查看磁盘目录
#df -h
新增30T存储的挂载目录/data。
二、扩容磁盘挂载到新目录
服务器原有磁盘320G,扩展到480G,并将新扩展的160G挂载到/var/lib/longhorn目录。
1、看磁盘情况:
#lsblk
2、用fdisk对/dev/sda进行分区
#fdisk /dev/sda
具体过程如下:
3、刷新分区
#partprobe
4、查看磁盘情况
#lsblk
5、格式化磁盘分区
#mkfs.ext4 /dev/sda3
6、挂载磁盘
临时挂载:
#mkdir -p /var/lib/longhorn
#mount /dev/sda3 /var/lib/longhorn
持久挂载:
#echo "/dev/sda3 /var/lib/longhorn ext4 defaults 0 0" >> /etc/fstab
7、查看磁盘目录
#df -h
三、扩容磁盘扩容到根分区目录
服务器原有磁盘320G,扩展到480G,并将新扩展的160G扩容到目录/data,保留原磁盘数据。
1、看磁盘情况:
#lsblk
2、用fdisk对/dev/sda进行分区
#fdisk /dev/sda
具体过程如下:
3、刷新分区
#partprobe
4、查看磁盘情况
#lsblk
5、物理分区转为卷组
#pvcreate /dev/sda3
6、显示卷组
#vgdisplay
7、扩容/dev/sda3分区到centos卷组
#vgextend centos /dev/sda3
8、将扩展空间扩容到/dev/mapper/centos-data
#lvextend -l +100%FREE /dev/mapper/centos-data
9、更新逻辑卷,使扩容生效
xfs文件系统使用此命令:
#xfs_growfs /dev/mapper/centos-data
ext4文件系统使用此命令:
#resize2fs /dev/mapper/centos-data
10、查看磁盘目录
#df -h
/data目录有原261G扩容到421G。
四、扩容数据盘到已有分区目录
服务器数据盘50G,扩展到100G,并将新扩展的50G扩容到数据盘第二个分区目录/data/data2,保留原磁盘数据。
1、看磁盘情况
#lsblk
2、用fdisk对/dev/sdb进行分区扩容
#fdisk /dev/sdb
先删除分区2,再创建分区2,最后写入更新,具体流程如下:
3、刷新分区
#partprobe
4、查看磁盘情况
#lsblk
5、更新逻辑卷,使扩容生效
xfs文件系统使用此命令:
#xfs_growfs /dev/sdb2
ext4文件系统使用此命令:
#resize2fs /dev/sdb2
6、查看磁盘目录
#df -hT
/data/data2目录有原40G扩容到90G。