硬件

硬盘分类

以下为机械硬盘
IDE硬盘 已经淘汰
SCSI硬盘 几乎淘汰
SAS串行SCSI 常用 速度最快
SATA串口 最流行
SAS盘和SATA盘,是需要数据口和电源口才可以使用。
以下为SSD固态硬盘
SATA接口
M.2接口
mstat接口
PCI-E接口
固态盘内部结构:缓存,主控,闪存颗粒。
image.png

查看磁盘或者目录的容量

1.1 命令 :df

df 查看已挂在的磁盘容量,使用容量,剩余容量。可以不加任何参数,默认是按照k为单位显示的。

Linux磁盘管理-磁盘分区 - 图2

df 常用选项

选项 作用
-i 查看inodes使用情况
-h 使用合适的单位显示 “G”
-k,-m 分别以K,M为单位显示

关于inode

inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区,存放inode所包含的信息。每个inode的大小,一般是128字节或256字节。通常情况下不需要关注单个inode的大小,而是需要重点关注inode总数。inode总数在格式化的时候就确定了。

1.2 命令:du

du 用来查看某个文件或文件所占空间的大小。

  1. du [-abckmsh] [文件名/目录名]

du 常用选项

du在输出内存时,默认输出单位为 “K”

选项 作用
-a 全部文件与目录大小都列出来
-b 以byte为单位输出
-m 以MB为单位输出
-h 自动调节单位输出
-c 最后加总内存
-s 只列出总和

默认检测和使用-a参数的检查数量完全不一样!

Linux磁盘管理-磁盘分区 - 图3

常用命令:

  1. du -sh /etc/ #列出该文件夹总和内存

磁盘分区格式化

作为Linux管理员,对于磁盘的操作必须熟练。而且我们的数据就存储在硬盘中,磁盘管理真的非常重要。

这里我们在虚拟机操作,先做以下操作:

  • 将虚拟机关机,init 0
  • 编辑虚拟机设置——添加——硬盘——下一步
  • SCSI——创建新虚拟磁盘——“根据情况添加内存”——下一步
  • 再次开启虚拟机

2.1 命令:fdisk

fdisk是Linux的一个磁盘分区工具,非常实用,只不过只能划分2T的空间内存。

  1. fdisk -l #查看所有的磁盘分区情况
  2. fdisk -l [设备名称] #单独查看设备的磁盘分区情况

Linux磁盘管理-磁盘分区 - 图4

磁盘分区

如果不加参数,直接添加设备名称,则是进入另一个模式。在该磁盘分区模式下,可以对磁盘进行分区操作。

  1. fdisk /dev/sdb #对新磁盘进行磁盘分区
  2. #输出m会出现常用命令

Linux磁盘管理-磁盘分区 - 图5

常用命令

命令 功能
p 打印当前磁盘分区情况
n 建立一个新分区
w 保存退出
q 退出(要记得先保存再退出)
d 删除一个分区

我们输入 “p” 会发现此时并没有任何的分区,此时我们就可以开始建立分区了。

Linux磁盘管理-磁盘分区 - 图6

“n” 用来创建新的分区,此时他会提示“e”(扩展分区),“p”(主分区)。我这里用“p”

Linux磁盘管理-磁盘分区 - 图7

使用“e”进行扩展分区。我这里4个分区并没有用完。如果分区用完了,输入“n”是只显示“e”的!

Linux磁盘管理-磁盘分区 - 图8

这时候再分区和以前有区别了,不再选择是主分区还是扩展分区了,而是直接定义大小。有一点笔者要讲一下,当分完三个主分区后,第四个扩展分区需要把剩余的磁盘空间全部划分给扩展分区,不然的话剩余的空间会浪费,因为分完扩展分区后,再划分新的分区时是在已经划分的扩展分区里来分的。其中/dev/sdb4为扩展分区,这个分区是不可以格式化的,你可以把它看成是一个空壳子,能使用的为/dev/sdb5,其中/dev/sdb5为/dev/sdb4的子分区,这个子分区叫做逻辑分区。如果你发现分区分的不合适,想删除掉某个分区怎么办?这就用到了“d”命令

做完操作一定要使用“w” 进行保存!

格式化磁盘分区

3.1 命令:mke2fs,mkfs.ext2,mkfs.ext3,mkfs.ext4

当制作好一块磁盘分区时,最好是进行格式化,格式化除了清空磁盘外,就是设置磁盘文件存储格式。

常用选项

选项 作用
-b 分区时设定每个数据区块占用空间大小1024/2048/4069
-i 设置inode大小
-N 设置inode数量,有时候inode数不够用,所以要自定设定inode数量
-c 格式化前检查磁盘是否有问题,加上这个选项后非常慢
-L 预设该分区的标签label
-j 建立ext3分区
-t 指定什么类型的文件系统,可以是ext2 ext3 ext4
  1. mke2fs -t ext4 /dev/sdb1 #格式化为ext4格式

Linux磁盘管理-磁盘分区 - 图9

Centos6后,系统存储格式为ext4,在Centos5都是ext3。其中你会发现,有个块大小。

在磁盘中,并不是如同篮子一样,一个筐将数据存放起来,而是由一个筐(总内存)中有很多个小筐(块),组成的,而且数据也不是像水一样,会给块填满。比如说一个文件是5000kb,此时就占用了两个筐,而且一个筐就只有900kb,就不能再放其他文件了(不过可以通过其他手段进行存放)。通过”-b” 选项也可以设置块。

3.2 命令:e2label

给分区设置标签,用的情况很少。

Linux磁盘管理-磁盘分区 - 图10