深入掌握 Linux 磁盘管理,从入门到精通的完整指南

在Linux系统中,磁盘管理是系统管理中非常重要的一个方面,尤其在服务器或大型生产环境中。理解磁盘的管理工具与常见操作,可以帮助管理员确保系统正常运行并最大化磁盘资源的利用效率。本文将为你介绍Linux磁盘管理的核心概念与常见命令,并提供一些实用操作指南。

磁盘设备表示

在Linux系统中,所有的硬盘设备通常会被挂载到/dev目录下,常见的设备文件表示方式如下:

SATA/SCSI/USB硬盘:/dev/sdX,其中X为磁盘的标识符(如/dev/sda表示第一块磁盘,/dev/sdb表示第二块磁盘)。分区:硬盘的每个分区也有自己的标识符,如/dev/sda1表示第一块硬盘的第一个分区,/dev/sda2表示第二个分区。

查看磁盘信息

要了解系统中磁盘的基本信息,可以使用以下命令:

1.lsblk命令

列出块设备,显示设备名称、大小、挂载点等信息。

(1) lsblk命令语法:

复制
lsblk [选项] [<设备> ...]1.

(2) 参数说明:

(3) lsblk命令使用示例

案例一:查看所有块设备及其挂载情况

复制
lsblk1.

执行上述命令会输出如下图的结果:

案例二:以列表形式显示设备信息,并包含文件系统类型:

复制
lsblk -lfm1.

返回结果如下所示:

2.df命令

该命令检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

(1) df命令语法

复制
df [参数] [目录或文件名]1.

(2) 参数说明

参数

说明

-a

列出所有的文件系统,包括系统特有的/proc等文件系统。

-k

以KBytes为单位,返回各文件系统容量

-m

以MBytes为单位,返回各文件系统容量。

-h

以GBytes、MBytes、KBytes为单位,返回各文件系统容量。

-H

以M=1000K取代M=1024K的进位方式显示各文件系统容量。

-T

显示文件系统类型。

-i

显示inode信息。

(3) df命令使用示例

示例一:显示磁盘使用情况。

执行如下命令,显示磁盘使用情况。

复制
df -h1.

执行上述命令返回结果如下所示。

df -h

示例二:以inode模式来显示磁盘使用情况。

复制
df -i1.

执行上述命令返回结果如下所示:

df -i

3.du命令

查看磁盘使用空间。du与df命令不同点在于,du命令用于查看文件和目录磁盘的使用空间。

(1) df命令语法

复制
du [参数] [文件或目录名称]1.

(2) 参数说明

参数

说明

-a

列出所有的文件与目录容量。

-h

以G、M、K为单位,返回容量。

-s

列出总量。

-S

列出不包括子目录下的总量。

-k

以KBytes为单位,返回容量。

-m

以MBytes为单位,返回容量。

(3) du命令使用示例

示例一:列出当前目录下的所有文件夹的容量。

执行如下命令,列出当前目录下的所有文件夹的容量。

复制
du -h1.

返回结果如下所示:

示例二:列出当前目录下的所有文件夹和文件的容量。

执行如下命令,列出当前目录下的所有文件夹和文件的容量。

复制
du -ah1.

返回结果如下所示:

du -ah

4.fidsk命令

查看磁盘的分区表。通常用于查看磁盘分区的详细信息。

(1) fdisk命令语法

复制
fdisk [-l] 装置名称1.

(2) 参数说明

参数

说明

-l

输出后面装置名称的所有的分区内容。若仅有 fdisk -l时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。

(3) fdisk命令使用示例

示例一:列出系统所有装置的分区信息。

执行如下命令,列出系统所有装置的分区信息。

复制
fdisk -l1.

返回结果如下所示:

磁盘分区

磁盘分区是磁盘管理中非常基础的部分。可以通过以下步骤进行分区操作:

1.使用fdisk工具分区

打开分区工具:

复制
fdisk /dev/sda1.

进入后,可以使用以下命令:

p:查看当前磁盘的分区情况。n:创建新分区。d:删除分区。w:写入更改并退出。

(2) 使用parted工具分区

相较于fdisk,parted可以更好地支持大于2TB的磁盘。

复制
parted /dev/sda1.

文件系统创建

创建分区后,必须为其创建文件系统。常见的文件系统类型有ext4、xfs等。以下命令展示如何为新分区创建文件系统:

创建ext4文件系统:

复制
sudo mkfs.ext4 /dev/sda11.

创建xfs文件系统:

复制
sudo mkfs.xfs /dev/sda11.

挂载与卸载

创建文件系统后,你需要将其挂载到系统中的某个目录才能使用。

1.挂载磁盘

挂载时,选择一个空目录作为挂载点。例如将/dev/sda1挂载到/mnt/disk1目录下:

复制
sudo mount /dev/sda1 /mnt/disk11.
2.自动挂载

编辑/etc/fstab文件,使磁盘在系统启动时自动挂载。示例条目:

复制
/dev/sda1 /mnt/disk1 ext4 defaults 0 21.
3.卸载磁盘

卸载挂载的磁盘:

复制
sudo umount /mnt/disk11.

磁盘扩容与缩小

当磁盘使用空间不够时,可能需要调整分区大小。以下工具用于调整分区大小:

1.调整ext4文件系统大小

扩展分区:

复制
sudo resize2fs /dev/sda11.

缩小分区:

复制
sudo resize2fs /dev/sda1 SIZE1.
2.调整LVM分区大小

LVM是一个灵活的磁盘管理工具。使用LVM可以更轻松地扩展或缩小磁盘卷。以下为基本操作:

扩展逻辑卷:

复制
sudo lvextend -L +10G /dev/mapper/vg0-lv0 sudo resize2fs /dev/mapper/vg0-lv01.2.

缩小逻辑卷:

复制
sudo lvextend -L +10G /dev/mapper/vg0-lv0 sudo resize2fs /dev/mapper/vg0-lv01.2.

磁盘故障排查

磁盘使用一段时间后,可能会出现一些错误或者坏块。你可以使用fsck工具来检测并修复文件系统。

使用fsck工具检测和修复磁盘

复制
sudo fsck /dev/sda11.

总结

Linux系统的磁盘管理包括磁盘的查看、分区、文件系统的创建与管理、磁盘挂载、LVM管理等。掌握这些常见的操作工具和命令,可以帮助你高效地管理磁盘资源,保障系统的稳定运行。

THE END
本站服务器由亿华云赞助提供-企业级高防云服务器