您的位置:

CentOS磁盘分区详解

一、初识磁盘分区

    磁盘分区指的是将一个物理硬盘按照不同的访问方式(例如文件系统、数据类型等)分成不同的区域。常见的分区方式有主分区、扩展分区和逻辑分区。

    主分区是指硬盘的基本分区,最多可以有4个,通常用于操作系统的安装和启动。扩展分区是在主分区的基础上再划分的区域,可以划分多个逻辑分区,且不具有文件系统,主要用于存储数据。逻辑分区是在扩展分区上划分的分区,可以用来存放数据和安装其他操作系统。

    在CentOS中,可以使用命令行工具fdisk对硬盘进行分区,也可以使用图形界面的工具gparted进行分区。下面将介绍如何使用fdisk进行分区。

二、使用fdisk进行分区

    1. 首先,插入要分区的硬盘,执行命令fdisk -l,查看硬盘的信息。

[root@localhost ~]# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
...

    2. 然后,执行命令fdisk /dev/sda,进入分区界面。

[root@localhost ~]# fdisk /dev/sda
...

    3. 输入m,查看可用的命令。

Command (m for help): m
...

    4. 输入n,创建新分区。

Command (m for help): n
...

    5. 选择分区类型,可以选择主分区(p,默认值)、扩展分区(e)或逻辑分区(l)。

Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): 
...

    6. 输入分区编号,如果创建的是主分区,则编号为1-4;如果创建的是扩展分区,则编号为5-254;如果创建的是逻辑分区,则编号为5-254,但不能与已有的编号重复。

Partition number (1-4, default 1): 
...

    7. 输入起始扇区和结束扇区,可以按照默认值进行设置,也可以手动设置。如果手动设置,则需要注意起始扇区必须从某个柱面开始,结束扇区必须在下一个柱面的起始位置结束。

First sector (2048-8388607, default 2048): 
Last sector, +sectors or +size{K,M,G} (2048-8388607, default 8388607): 
...

    8. 输入w,保存分区信息。

Command (m for help): w
The partition table has been altered!

    9. 可以使用命令fdisk -l,查看新创建的分区。

[root@localhost ~]# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
...
Device     Boot   Start       End   Blocks  Id System
/dev/sda1          2048   8390655 4194304  83 Linux

三、磁盘分区的格式化与挂载

    1. 在对磁盘进行分区后,需要将分区格式化,使其能够被操作系统识别。常见的文件系统格式有ext4、xfs、ntfs等。以下以ext4为例进行介绍。

[root@localhost ~]# mkfs.ext4 /dev/sda1
...

    2. 格式化分区后,需要将其挂载到文件系统中,才可以使用。下面是挂载分区的方法。

[root@localhost ~]# mkdir /mnt/mydisk
[root@localhost ~]# mount /dev/sda1 /mnt/mydisk

    3. 如果想让这个分区开机自动挂载,则需要在/etc/fstab文件中添加一行记录,格式如下:

/dev/sda1   /mnt/mydisk     ext4    defaults        0 0

    其中,第一列为设备名称或UUID,第二列为挂载点,第三列为文件系统类型,第四列为挂载选项,第五列为是否需要备份,第六列为是否需要检查磁盘并启动。

四、磁盘分区的扩容与缩小

    1. 如果已经创建的分区空间不足,可以对其进行扩容。下面以扩大/dev/sda1分区的空间为例进行介绍。

(1)使用lvextend命令进行扩容

[root@localhost ~]# lvextend -L +10G /dev/sda1

(2)使用resize2fs命令对文件系统进行扩容

[root@localhost ~]# resize2fs /dev/sda1

    2. 如果已经创建的分区大小过大,则可以对其进行缩小。下面以缩小/dev/sda1分区的空间为例进行介绍。

(1)卸载分区

[root@localhost ~]# umount /dev/sda1

(2)使用fdisk命令进行缩小

[root@localhost ~]# fdisk /dev/sda
...

    同样地,使用n命令创建一个新分区(编号为*),然后使用d命令删除原分区,最后使用t命令重新设置原分区的类型(如果分区是主分区,则类型设置为83;如果分区是逻辑分区,则类型设置为8e)。

(3)格式化新分区

[root@localhost ~]# mkfs.ext4 /dev/sda2

(4)挂载新分区

[root@localhost ~]# mount /dev/sda2 /mnt/newdisk

(5)将原分区上的文件拷贝到新分区上

[root@localhost ~]# cp -a /mnt/olddisk/* /mnt/newdisk/

(6)更新/etc/fstab文件

    将原分区的挂载点改为新分区的挂载点,保存文件后退出。

(7)重启系统

[root@localhost ~]# reboot

五、总结

    在CentOS中,磁盘分区是非常常见且重要的操作。本文从初识磁盘分区、使用fdisk进行分区、磁盘分区的格式化与挂载、磁盘分区的扩容与缩小等方面进行了详细的介绍,并且给出了完整的代码示例。在实际应用中,需要注意备份数据并谨慎操作,以免造成数据丢失或损坏。