05
2024
11
17:11:11

CentOS管理-磁盘扩容

1. 基本概念
1.1. 引导分区
系统的引导分为两种模式:MBR(主引导记录)和GPT(GUID Partition Table)。

MBR分区表存储在硬盘的第一个扇区上,兼容性较好,但不支持管理大容量硬盘结构。
GUID(全局唯一标识符)分区表,硬盘没有分区数量和分区大小的限制。
MBR和GPT两者的区别:

MBR分区表最多只能识别2TB左右的空间,大于限制的容量无法识别。
MBR分区表最多只能支持4个主分区,或3个主分区+1个扩展分区(逻辑分区不限制)。
在MBR中,分区表的大小是固定的,在GPT分区表头中可自定义分区数量的最大值。
1.2. 文件系统
在安装 Linux 的过程中,通常倾向于使用列出的默认文件系统而不探索其他可用选项。对于 Windows主要的文件系统是 NTFS。

最广泛使用的文件系统是 Ext4 和 XFS,后者是基于 RHEL 的发行版中的默认文件系统,而 Ext4 是 Debian 和 Ubuntu 发行版中的标准文件系统。在选择文件系统时,需要考虑的一些因素包括可扩展性、稳定性和数据完整性。

Ext4 完美地管理了许多小文件并确保元数据被正确写入,即使写入缓存断电。
XFS 以提供高 I/O 线程的可扩展性以及在处理大文件方面的出色性能而广为人知。
1.3. 卷管理
逻辑卷管理(LVM),是 Logical Volume Manager(逻辑卷管理)的简写,lvm是卷的一种管理方式,并不是分区工具,之前我们在 Centos8-Boot镜像安装 提到系统磁盘分区的模式,分别为标准分区和LVM分区。

LVM管理卷的思路是:将多个物理卷重新组合成逻辑卷组,通过逻辑卷组管理硬盘空间。

LVM扩容的思路是:新增加一个物理分区并创建物理卷,将物理卷添加到扩展的卷组中,逻辑卷组扩展的空间再次分配给逻辑卷(挂载目录的卷)。


以下查询的命令只能在LVM管理的硬盘才能使用,查看硬盘的物理分区可以使用 fdisk -l 命令查看。

#1、查看物理卷
[root@localhost ~]# pvdisplay

#2、查看逻辑卷组
[root@localhost ~]# vgdisplay

#3、查看逻辑卷
[root@localhost ~]# lvdisplay


2. 扩容分区
测试环境:虚拟机的硬盘动态拓展存储空间

虚拟机环境:Vmware Workstation

将Centos 8操作系统关闭后,在虚拟机设置中拓展硬盘容量至50G(+10G存储容量)。

首先我们先来看两种模式的分区有那些区别,命令df-Th查看文件系统磁盘使用情况统计。

# 1.在标准分区下,查看文件系统的情况,不会显示swap分区。
[root@localhost ~]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda4 	   xfs        32G  3.3G   29G  11% /
/dev/sda2 	   xfs       507M  211M  296M  42% /boot
/dev/sda1 	   vfat      256M  7.3M  249M   3% /boot/efi

# 2.在LVM分区下,查看文件系统的情况,不会显示swap分区。
[root@localhost ~]# df -Th
Filesystem               Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root  xfs       #32G  3.1G   29G   8% /
/dev/sda1                xfs       507M  220M  287M  44% /boot

命令lsblk查看列出所有可用块设备的信息以及它们的依赖关系,可以更加直观的发现两种分区模式的区别,LVM分区将块设备组成一个逻辑卷组,在逻辑卷组中划分 root 和 swap 分区。

# 1.在标准分区下,查看列出所有可用块设备的信息。
[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    259:0    0   50G  0 disk 			# 块设备sda已经扩容至50G
├─sda1 259:1    0  256M  0 part /boot/efi
├─sda2 259:2    0  512M  0 part /boot
├─sda3 259:3    0    8G  0 part [SWAP]
└─sda4 259:4    0 31.3G  0 part 

# 2.在LVM分区下,查看列出所有可用块设备的信息。
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             259:0    0   50G  0 disk 	# 块设备sda已经扩容至50G
├─sda1          259:1    0  512M  0 part /boot
└─sda2          259:2    0 39.5G  0 part 
  ├─centos-root 253:0    0 31.5G  0 lvm  /
  └─centos-swap 253:1    0    8G  0 lvm  [SWAP]

2.1. 扩容标准分区
需求:扩容 root 根分区的存储容量(+10G)。

思路:删除 root 根分区的扇区,创建相同节点的一个分区,设置扇区时将之前的扇区位置往后拓展到最大的位置,保存分区信息后相当于只是拓展了分区的扇区信息。

#1.命令fdisk进入硬盘分区操作
[root@localhost ~]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

GPT PMBR size mismatch (83886079 != 104857599) will be corrected by write.

#2.查看分区表的信息,p命令查看
Command (m for help)#: p
Device       Start      End      Sectors  Size  Type
/dev/sda1    2048       526335   524288   256M  EFI System
/dev/sda2    526336     1574911  1048576  512M  Linux filesystem
/dev/sda3    1574912    18352127 16777216 8G    Linux swap
/dev/sda4    18352128   83884031 65531904 31.3G Linux filesystem

#3.删除分区4(根目录挂载的分区),d命令删除,切记不能保存!!!
Command (m for help)#: d
Partition number (1-4, default 4): 4

Partition 4 has been deleted.

#4.再次查看分区信息,已删除(未保存)
Command (m for help)#: p
Device       Start      End      Sectors  Size  Type
/dev/sda1    2048       526335   524288   256M  EFI System
/dev/sda2    526336     1574911  1048576  512M  Linux filesystem
/dev/sda3    1574912    18352127 16777216 8G    Linux swap

#5.重新创建分区4(根目录挂载的分区),n命令新建
Command (m for help)#: n
Partition number (4-128, default 4)#: 4
First sector (18352128-104857566, default 18352128): #设置扇区的起始位置,默认回车
Last sector, +sectors or +size{K,M,G,T,P} (18352128-104857566, default 104857566)#: 设置扇区的末尾位置,默认回车

Created a new partition 4 of type 'Linux filesystem' and of size 41.3 GiB.
Partition #4 contains a xfs signature.

Do you want to remove the signature? [Y]es/[N]o#: no	# 是否移除签名

#6.保存所有的修改,W命令保存(此时分区的扇区范围往后拓展,此前数据不受影响)
Command (m for help): # w

The partition table has been altered.
Syncing disks.

#7.刷新硬盘分区信息
[root@localhost ~]# partprobe /dev/sda
[root@localhost ~]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda4      xfs       #32G  3.2G   29G  11% /

#8.挂载目录在线扩容,命令resize2fs 或 xfs_growfs
#resize2fs  针对文件系统ext2、3、4
#xfs_growfs 针对文件系统xfs
[root@localhost ~]# xfs_growfs /dev/sda4
[root@localhost ~]# df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda4      xfs       #42G  3.3G   38G   8% /

2.2. 扩容LVM分区
需求:扩容 root 根分区的存储容量(+10G)。

思路:创建一个新的物理分区并创建物理卷,再将物理卷添加到LVM逻辑卷组中;从LVM逻辑卷划分空闲的空间到 root 根分区。

#1.命令fdisk进入硬盘分区操作
[root@localhost ~]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

#2.查看分区表的信息,p命令查看
Command (m for help)#: p
Device   Boot   Start      End  Sectors  Size Id Type
/dev/sda1*       2048  1050623  1048576  512M 83 Linux
/dev/sda2     1050624 83886079 82835456 39.5G 8e Linux LVM

#3.创建一个分区,n命令新建
Command (m for help)#: n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)

#4.设置为主分区,P命令选择节点位置
Select (default p)#: p
Partition number (3,4, default 3)#: 3
First sector (83886080-104857599, default 83886080): 
Last sector, +sectors or +size{K,M,G,T,P} (83886080-104857599, default 104857599): 

Created a new partition 3 of type 'Linux' and of size 10 GiB.

#5.再次查看分区信息(未保存)
Command (m for help)#: p
Device   Boot   Start       End  Sectors  Size Id Type
/dev/sda1*       2048   1050623  1048576  512M 83 Linux
/dev/sda2     1050624  83886079 82835456 39.5G 8e Linux LVM
/dev/sda3    83886080 104857599 20971520  10G 83 Linux

#6.保存所有的修改,W命令保存(新增加一个物理分区)
Command (m for help): w
The partition table has been altered.
Syncing disks.

#7.刷新硬盘的分区信息(扩容的这块硬盘)
[root@localhost ~]# partprobe /dev/sda

#8.为新分区创建物理卷
[root@localhost ~]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.

#9.查看现有的lvm卷组名称,以及卷组使用情况
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  VG Size               <39.50 GiB

#10.将/dev/sda3物理卷添加到逻辑卷组中
[root@localhost ~]# vgextend centos /dev/sda3
  Physical volume "/dev/sda3" successfully created.
  Volume group "centos" successfully extended

#11.查看当前逻辑卷的空间状态(这里为了方便理解,省略其他信息的输出)
[root@localhost ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV Size                8.00 GiB
   
  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV Size                <31.50 GiB

#12.将逻辑卷组中的空闲空间扩展到根分区逻辑卷
[root@localhost ~]# lvextend -l +100%FREE /dev/centos/root
  Size of logical volume centos/root changed from <31.50 GiB (8063 extents) to 41.49 GiB (10622 extents).
  Logical volume centos/root successfully resized.

#13.刷新根分区
#resize2fs  针对文件系统ext2、3、4
#xfs_growfs 针对文件系统xfs
[root@localhost ~]# xfs_growfs /dev/centos/root
meta-data=/dev/mapper/centos-root    isize=512    agcount=4, agsize=2064128 blks
         =                           sectsz=512   attr=2, projid32bit=1
         =                           crc=1        finobt=1, sparse=1, rmapbt=0
         =                           reflink=1    bigtime=0 inobtcount=0
data     =                           bsize=4096   blocks=8256512, imaxpct=25
         =                           sunit=0      swidth=0 blks
naming   =version 2                  bsize=4096   ascii-ci=0, ftype=1
log      =internal log               bsize=4096   blocks=4031, version=2
         =                           sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                       extsz=4096   blocks=0, rtextents=0
data blocks changed from 8256512 to 10876928

#14.查看系统各分区的大小
[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs       42G  3.2G   39G   8% /
/dev/sda1               xfs       507M  220M  287M  44% /boot

3. 挂载新磁盘
2.1. 创建分区

#1.命令fdisk进入硬盘分区操作(新添加的硬盘/dev/sdb)
[root@localhost ~]# fdisk /dev/sdb

#2.新建分区
Command (m for help):# n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
   
#3.选择节点并配置扇区位置信息
Select (default p):# p
Partition number (1-4, default 1): 
First sector (2048-209715199, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-209715199, default 209715199): 

Created a new partition 1 of type 'Linux' and of size 100 GiB.

#4.保存变更的设置(此时分区名应该为:/dev/sdb1)
Command (m for help):# w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

2.2. 格式化分区

#1.将分区格式化为xfs文件系统
[root@localhost ~]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=6553536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=26214144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=12799, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0


2.3. 挂载目录

#1.创建data目录
[root@localhost ~]# mkdir /data

#2.将分区挂载至data目录
[root@localhost ~]# mount /dev/sdb1 /data

#3.查询新分区的uuid
[root@localhost centos]# lsblk -f
NAME   FSTYPE LABEL UUID                                 	MOUNTPOINT
sdb                                                      
└─sdb1 xfs          516d20fa-0551-4348-a348-c81f4879b00e 	/data

#4.配置centos自动挂载目录,添加一条挂载配置(否则重启会发现分区未挂载至目录)
[root@localhost ~]# vim /etc/fstab
UUID=516d20fa-0551-4348-a348-c81f4879b00e /data     xfs     defaults        0 0





推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/8313.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: