Linux系统磁盘管理


发布于 2018-01-26 / 31 阅读 / 0 评论 /
Linux系统中,磁盘管理常用的命令和场景描述。

下面,我们学习一下Linux系统中磁盘管理相关的知识,包括概念以及命令及其使用场景。

1.Linux文件系统类型

Linux支持多种文件格式,常见的有ext4、xfs、btrfs等。不同的文件系统有不同的特点和使用场景。

(1)ext4适用于普通用户和服务器。

(2)xfs适用于大型文件和高并发场景。

2.磁盘设备识别

通常使用lsblk和fdisk命令列出已连接的磁盘设备和其分区信息。

# 列出已连接的磁盘设备,以块信息展示
lsblk

# 查看磁盘分区信息
fdisk -l /dev/vda

3.磁盘使用情况

通常使用df工具查看磁盘使用情况。df命令输出信息有六列:

(1)第一列是文件系统,也是磁盘分区名称,tmpfs表示临时文件系统。

(2)第二列是磁盘空间总大小。单位KB。

(3)第三列是磁盘已使用空间。单位KB。

(4)第四列是磁盘未被使用空间。单位KB。

(5)第五列是已使用百分比。

(6)第六列是磁盘挂载点,也是操作系统目录。

# 查看磁盘inode使用情况
df -i

# 人性化信息展示
df -h

# 磁盘使用情况通过MB展示
df -m

4.统计目录大小

通常使用du工具统计目录下文件所占磁盘空间大小。

# 人性化展示当前/abc目录的大小
du -sh /abc

# 查看某个目录下所有文件和子目录(递归)的大小
du -h /abc

# 查看某个木下文件和两级子目录(非递归)的大小
du -h -d -2 /abc

5.查看磁盘是HDD or SSD

HDD对应机械硬盘,SSD表示固态硬盘。不看硬件设备的情况下,如何在操作系统中对磁盘类型进行辨别?

第一步:找到磁盘设备名称

[root@10 ~]# fdisk -l 
Disk /dev/vda: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00a044f9

Device     Boot Start       End   Sectors  Size Id Type
/dev/vda1  *     2048 209715166 209713119  100G 83 Linux


Disk /dev/vdd: 1.48 TiB, 1610612736000 bytes, 3145728000 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
[root@10 ~]#

找到对应的磁盘,比如/dev/vdd,则磁盘名称为vdd。

第二步:根据磁盘名称找到标志

[root@10 ~]# cat /sys/block/vdd/queue/rotational
1
[root@10 ~]#

标志值为1。

第三步:根据标志匹配磁盘类型

判断逻辑如下:

if [ $(cat/sys/block/vdd/queue/rotational) -eq 0 ]; then
    echo "SSD";
else
    echo "HDD";
fi

输出为HDD,表示/dev/vdd是机械硬盘。