目录

一、磁盘基础

1.1.磁盘结构

1.2.硬盘分区

1.3.MBR与磁盘分区表示

1.4.磁盘分区结构

1.5.文件系统类型

二、检测并确认新硬盘

2.1查看或管理磁盘分区fdisk命令

三、创建文件系统

3.1.创建文件系统mkfs命令

四、挂载、卸载文件系统

4.1.挂载(mount)、卸载(umount)文件系统

4.2.设置文件系统的自动挂载

4.3.查看磁盘使用情况df命令

五、总结


一、磁盘基础

1.1.磁盘结构

(1)硬盘的物理结构

盘头:硬盘有多个盘片,每盘片2面。

磁头:每面一个磁头。

(2)磁盘的数据结构

扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位。

磁道:同一盘片不同半径的同心圆。

柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成。

(3)硬盘存储容量=磁头数*磁道(柱面)数*每道扇区数*每扇区字节数

(4)可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

(5)磁盘接口类型

 IDE、SATA、SCSI、SAS、光纤通道

1.2.硬盘分区

常见的硬盘可以划分为主分区、扩展分区和逻辑分区。

通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型。

在扩展分区中可以建立逻辑分区。

主分区一般用来安装操作系统,扩展分区则多用来存储文件数据。

1.3.MBR与磁盘分区表示

(1)主引导记录(MBR: Master Boot Record)

①MBR位于硬盘第一个物理扇区处。

②MBR中包含硬盘的主引导程序和硬盘分区表。

③分区表有4个分区记录区,每个分区记录区占16个字节。

(2)Linux中将硬盘、分区等设备均表示为文件

/dev/hda5

/dev:硬盘设备文件所在目录

hd:hd表示IDE设备,sd表示SCSI设备

a:硬盘的顺序号,以字母a、b、c......表示

5:分区的顺序号,以数字1、2、3......表示

1.4.磁盘分区结构

(1)硬盘中的主分区数目只有4个

(2)主分区和扩展分区的序号限制在1~4

(3)扩展分区再分为逻辑分区

(4)逻辑分区的序号将始终从5开始

centos 总 磁盘占用 centos 磁盘空间划分_文件系统

1.5.文件系统类型

(1)XFS文件系统

①存放文件和目录数据的分区

②高性能的日志型文件系统

③CentOS 7系统中默认使用的文件系统

(2)SWAP,交换文件系统

为Linux系统建立交换分区

(3)Linux支持的其它文件系统类型

①FAT16、FAT32、NTFS

②EXT4、JFS...

(4)XFS:是一种高性能的日志文件系统,特别擅长于处理大文件,可支持上百万T字节的存储空间。由于XFS文件系统开启日志功能,所以即便发生宕机也不怕数据遭到破坏,这种文件系统可以根据日志记录在短时间内进行数据恢复。

(5)SWAP:交换文件系统

用于为Linux系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。一般建议将交换分

的大小设置为物理内存的 1.5~2倍。

例如,对于拥有512MB物理内存的主机,其交换分区的大小建议设置为1024NB。如果服务器的物理内存足够大(如8GB 以上)。

(6)EXT4:第4代扩展文件系统,用于存放文件和目录数据的分区。

是Linux系统中默认使用的文件系统(Centos 7 默认使用XFS)。EXT4是典型的日志型文件系统。

其特点是保存有磁盘存取记录的日志数据,便于恢复,在存取性能和稳定性方面更加出色。

(7)Linux系统还广泛支持其他各种类型的文件系统。

如JFS、FAT16、FAT32、NTES 等。JFS 文件系统多用于商业版本的UNIX操作系统中,具有出色的性能表现。由于NTFS是微软公司的专有文件系

统,Linux系统默认只支持从NTFS 分区读取文件,如果需要向NTFS分区中写入文件数据,需要结合其他辅助软件(如NTFS-3G)。
 

二、检测并确认新硬盘

2.1查看或管理磁盘分区fdisk命令

(1)查看或管理磁盘分区

fdisk -l [磁盘设备]
或
fdisk  [磁盘设备]

(2)交互模式中的常用指令

fdisk指令说明

Command(m for help):m                           #输入m指令
a           toggle a bootable flag               #设置可引导标记
b           edit bsd disklabel                   #修改bsd的磁盘标签
c           toggle the dos compatibility flag    #设置DOS操作系统兼容标记
d           delete a partition                   #删除一个分区
l           list known partition types           #显示已知的分区类型,其中82为Linux
swap分区,83为Linux分区
m           print this menu                      #显示帮助菜单
n           add a new partition                  #增加一个新的分区
o           create a new empty Dos partition table #创建一个新的空白的Dos分区表
p           print the partition table            #显示磁盘当前的分区表
q           quit without saving changes          #退出fdisk程序,不保存任何修改
s           create a new empty sun disklabel     #创建一个新的空白的sun磁盘标签
t           change a partition's system id       #改变一个分区的系统号码
u           change display/entry units           #改变显示记录单位
v           verify the partition table           #对磁盘分区表进行验证
w           write table to disk and exit         #保存修改结果并退出fdisk程序
x           extra functionality (experts only)   #特殊功能,不建议初学者使用

(3)fdisk -l:查看硬盘的整体情况和分区情况

Device:分区的设备文件名称。

Boot:是否是引导分区。若是,则有"*"标识。

start:该分区在硬盘中的起始位置(柱面数)。

End:该分区在硬盘中的结束位置(柱面数)。

Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为1024字节。

Id:分区对应的系统ID号。83表示 Linux中的 XES分区或EXT4分区、8e表示LVM逻辑卷。

LVM是Linux操作系统中对磁盘分区进行管理的一种逻辑机制,与之相关的知识将在后面的章节介绍。

System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在Linux操作系统中,分区和格式化的过程是相对独立的,关于格式化分区的操作将在后续内容中讲解。

(3)不重启加载新建的硬盘

磁盘添加完成,进入系统,使用下面命令扫描scsi总线

echo "- - -" > /sys/class/scsi_host/host0/scan
for i in /sys/class/scsi_host/host*/scan;do echo "- - -" > $i; done

三、创建文件系统

3.1.创建文件系统mkfs命令

(1)Make Filesystem,创建文件系统(格式化)

mkfs -t 文件系统类型 分区设备

(2)实例

centos 总 磁盘占用 centos 磁盘空间划分_centos 总 磁盘占用_02

 (3)SWAP创建系统文件

mkswap /dev/sdb5        #创建分区
swapon 是开启swap       注: /dev/sdb2(swap分区)
swapoff 是关闭swap       注: /dev/sdb2(swap分区)
swapon -s               #查看每个分区的swap状态信息
free -m                 #查看总的swap状态信息

(4)FAT32创建系统文件

mkfs -t vfat -F 32 /dev/sdb6 和 mkfs.vfat -F 32 /dev/sdb6

(5)lsblk命令

用来展示树形的硬盘结构

centos 总 磁盘占用 centos 磁盘空间划分_字段_03

四、挂载、卸载文件系统

4.1.挂载(mount)、卸载(umount)文件系统

(1)mount命令

挂载文件系统、ISO镜像到指定文件夹

mount [-t类型]  存储设备  挂载点目录
mount -o loop Iso镜像文件 挂载点目录

(2)umount命令

卸载已挂载的文件系统

umount 存储设备位置
umount 挂载点目录

4.2.设置文件系统的自动挂载

(1)/etc/fstab配置文件

文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。

vi  /etc/fstab

查看UUID:

blkid /dev/sdb1

(2)/etc/fstab

文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔),各部分的含义如下所述。

/dev/sdb1/   xfs   defaults   0 0

第1字段:设备名或设备卷标名。

第2字段:文件系统的挂载点目录的位置。

第3字段:文件系统类型,如xFs、Swap等。

第4字段:挂载参数,即mount命令"-o"选项后可使用的参数。例如,defaults、rw,noexec分别表示默认参数、可写、只读、禁用执行程序。

第5字段:表示文件系统是否需要dump备份(dump是一个备份工具)。一般设为1时表示需要,设为0时将被dump忽略。

第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为1,其他分区设为2。

4.3.查看磁盘使用情况df命令

(1)df命令用法

df  [选项] [文件]

(2)常用参数

-s:对每个Names参数只给出占用的数据块总数。
-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。若既不指定-s,也不指定一a,则只显示Names中的每一个目录及其中的各子目录所占的磁盘块数。
-k:以1024字节为单位列出磁盘空间使用情况。
-x:跳过在不同文件系统上的目录不予统计。
-l:计算所有的文件大小,对硬链接文件则计算多次。
-i:显示inode信息而非块使用量。
-h:以容易理解的格式印出文件系统大小,例如136KB、24MB、21GB。
-P:使用POSIX输出格式。
-T:显示文件系统类型。

(3)实例

centos 总 磁盘占用 centos 磁盘空间划分_文件系统_04

五、总结

(1)管理磁盘和分区

(2)检测并确认新硬盘

(3)创建文件系统

(4)挂载、卸载文件系统