在管理 CentOS 6.7 这类稳定且经典的服务器操作系统时,准确地查看和识别硬盘信息是系统管理员的一项基本功,无论是进行磁盘分区、格式化、挂载,还是排查存储空间问题,都需要依赖合适的命令来获取准确的硬件和文件系统信息,本文将详细介绍在 CentOS 6.7 环境下查看硬盘信息的多种实用方法,从基础到进阶,帮助您全面了解服务器的存储状况。
使用 fdisk -l
查看磁盘分区详情
fdisk
(fixed disk)是一个功能强大且传统的磁盘分区管理工具,配合 -l
(list)参数,它可以列出系统中所有磁盘的分区表信息,这是查看物理磁盘和分区结构最常用的方法之一。
命令格式:
sudo fdisk -l
由于需要读取底层设备信息,通常需要 root 权限,因此推荐使用 sudo
。
输出示例与解读:
执行命令后,您可能会看到类似以下的输出:
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004f9a3
Device Boot Start End Blocks Id System
/dev/sda1 * 1 26 204800 83 Linux
/dev/sda2 26 2611 20765184 8e Linux LVM
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/sdb doesn't contain a valid partition table
关键信息解析:
Disk /dev/sda
: 表示这是第一块 SCSI/SATA 硬盘,名为sda
,后面跟着它的总容量。Device
: 分区设备名,如/dev/sda1
、/dev/sda2
。Boot
: 号表示该分区是可引导分区。Start
,End
: 分区的起始和结束柱面。Blocks
: 分区的大小,以块(通常是 1KB)为单位。Id
: 分区类型的十六进制 ID。83
代表 Linux,8e
代表 Linux LVM(逻辑卷管理),82
代表 Linux swap。System
: 分区类型的人类可读描述。
从上面的例子我们可以得知,系统有两块硬盘(sda
和 sdb
)。sda
已经被分区,包含一个引导分区和一个 LVM 分区,而 sdb
是一块新硬盘,尚未进行分区。
使用 df -h
查看已挂载的文件系统空间
fdisk
查看的是物理分区,而 df
(disk free)则用于查看已挂载文件系统的磁盘空间使用情况,这是检查“我的磁盘空间还剩多少”最直接的工具。
命令格式:
df -h
-h
参数(human-readable)表示以易读的格式(如 KB, MB, GB)显示大小,强烈推荐使用。
输出示例与解读:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_centos-lv_root
18G 1.5G 16G 9% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 194M 34M 151M 19% /boot
关键信息解析:
Filesystem
: 文件系统的名称,注意,这里显示的是 LVM 逻辑卷(/dev/mapper/...
)而不是物理分区/dev/sda2
,这正是 LVM 的优势所在。Size
: 文件系统的总大小。Used
: 已使用的空间。Avail
: 可用的空间。Use%
: 空间使用百分比。Mounted on
: 挂载点,即该文件系统在目录树中的位置。
通过 df -h
,您可以快速定位哪个目录(如 或 /home
)占用了大量空间。
使用 lsblk
以树状结构查看块设备
lsblk
(list block devices)是一个较新的工具,它以非常直观的树状结构展示块设备(硬盘、分区、LVM等)及其依赖关系,在 CentOS 6.7 中,它可能默认未安装,您可以通过 yum install util-linux-ng
来获取。
命令格式:
lsblk
输出示例与解读:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 200M 0 part /boot
└─sda2 8:2 0 19.8G 0 part
└─vg_centos-lv_root (dm-0)
253:0 0 18G 0 lvm /
sdb 8:16 0 10G 0 disk
sr0 11:0 1 1024M 0 rom
关键信息解析:
NAME
: 设备名,树状结构清晰地显示了sda2
是vg_centos-lv_root
这个 LVM 的物理卷(PV)。MAJ:MIN
: 主设备号和次设备号。RM
: 1 表示可移除设备(如光驱、U盘),0 表示固定设备。SIZE
: 设备大小。RO
: 1 表示只读(Read-Only),0 表示可读写。TYPE
: 设备类型,disk
(磁盘)、part
(分区)、lvm
(逻辑卷)、rom
(只读存储)。MOUNTPOINT
: 挂载点。
lsblk
的优势在于其可视化,能让人一目了然地理解磁盘、分区和逻辑卷之间的从属关系。
使用 blkid
查看块设备属性(UUID)
blkid
命令可以列出块设备的属性,最重要的是 UUID(Universally Unique Identifier,通用唯一识别码)和文件系统类型,UUID 是系统识别文件系统的首选方式,因为它不会像设备名 /dev/sdb1
那样在重启后可能发生变化。
命令格式:
sudo blkid
输出示例与解读:
/dev/sda1: UUID="a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6" TYPE="ext4"
/dev/mapper/vg_centos-lv_root: UUID="r5s6t7u8-v9w0-x1y2-z3a4-b5c6d7e8f9g0" TYPE="ext4"
关键信息解析:
/dev/sda1
: 设备名。UUID="..."
: 该分区/卷的唯一标识符,在配置/etc/fstab
实现开机自动挂载时,使用 UUID 比设备名更可靠。TYPE="ext4"
: 文件系统类型,这里是ext4
。
命令功能对比表
为了更清晰地选择合适的工具,下表对上述主要命令进行了小编总结:
命令 | 主要用途 | 优点 | 注意事项 |
---|---|---|---|
fdisk -l | 查看原始磁盘分区表信息 | 功能经典,几乎所有系统都自带,信息详细 | 输出信息偏向底层,可读性一般 |
df -h | 查看已挂载文件系统的空间使用情况 | 直观显示可用空间,最常用于排查空间不足问题 | 只能显示已挂载的分区,无法看到未挂载或未格式化的分区 |
lsblk | 以树状结构展示块设备关系 | 可视化效果好,清晰展示设备层级关系 | CentOS 6.7 可能需手动安装 (yum install util-linux-ng ) |
blkid | 获取设备的 UUID 和文件系统类型 | 提供 UUID,是配置自动挂载 (/etc/fstab ) 的关键 | 不显示空间大小或使用情况 |
相关问答FAQs
Q1:为什么我在 /dev
目录下看到了 sdb
设备文件,但在 df -h
中却没有显示它的任何信息?
A: 这是一个非常常见的现象,原因在于 df
命令只报告已挂载的文件系统。/dev/sdb
的存在仅仅表示操作系统检测到了这块物理硬盘,要让它出现在 df -h
的输出中,您需要依次完成以下步骤:
- 分区:使用
fdisk /dev/sdb
等工具在sdb
上创建一个或多个分区(如/dev/sdb1
)。 - 格式化:使用
mkfs
命令对新建的分区进行格式化,mkfs.ext4 /dev/sdb1
,为其创建文件系统。 - 挂载:创建一个挂载点(如
mkdir /data
),然后使用mount /dev/sdb1 /data
命令将分区挂载到该目录。
完成这三步后,执行 df -h
就能看到 /dev/sdb1
的空间使用情况了。
Q2:fdisk -l
显示的磁盘大小和硬盘官方标注的容量有时对不上,这是为什么?
A: 这种差异主要由两个原因造成:
- 单位换算差异:操作系统和硬件制造商对容量单位的定义不同,操作系统使用二进制计算,1 GB = 2^30 Bytes (GiB),而硬盘制造商通常使用十进制计算,1 GB = 10^9 Bytes,制造商标注的 500GB 硬盘,在操作系统中显示会略小于 500GB。
- 分区开销和文件系统占用:当您对硬盘进行分区和格式化后,一部分空间会被用于存储分区表、文件系统元数据(如日志、超级块、inode 表等),这些空间用于管理文件,无法用于存储用户数据,格式化后的“可用”总容量会小于硬盘的原始物理容量。
fdisk -l
显示的是接近物理容量的原始分区大小,而df -h
显示的Size
则是文件系统创建后可用于存储数据的总容量。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复