1.1.1硬盘的物理结构
盘片:硬盘有多个盘片,每盘片2面
磁头:每面一个磁头
1.1.2硬盘的数据结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
(硬盘的第一个扇区,叫做引导扇区)
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面
1.1.3存储容量
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域
1.1.4磁盘接口类型
IDE
SATA :全称是Serial ATA,抗干扰性强,支持热插热拔等功能,速度快,纠错能力强。
SCSI :全称是 Small Computer System Interface(小型机系统接口),SCSI硬盘广为工作站级个人电脑以及服务器所使用的,资料传输时CPU占用率较低,转速快,支持热插热拔等
SAS:是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s
光纤通道(FC)
1.2.1主引导记录(MBR:Master Boot Record)
MBR位于硬盘第一个物理扇区处
MBR中包含硬盘的主引导程序和硬盘分区表
分区表有4个分区记录区,每个分区记录区占16个字节
MBR最多四个分区,可创建逻辑分区
1.2.2磁盘分区的表示
常见的硬盘可以划分为主分区,扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。
Linux中将硬盘、分区等设备均表示为文件
硬件设备文件所在的目录: /dev/hda5
hd 表示IDE设备
sd表示scsl设备
硬盘的顺序号,以字母a、b、c…表示
分区的顺序号,以数字1、2、3表示
1.2.3磁盘分区结构
硬盘中的主分区数目只有4个
主分区和扩展分区的序号限制在1-4
扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始
文件系统(File System)类型决定了向分区中存放,读取文件数据的方式和效率,在对分区进行格式化的时候需要选择所用的文件系统类型
1.3.1 XFS文件系统
存放文件和目录数据的分区
高性能的日志型文件系统
Centos 7系统中默认使用的文件系统
1.3.2 SWAP,交换文件系统
为Linux系统建立交换分区 (存放临时数据的地方)
交换分区相当于虚拟内存,能够在一定程度上缓解内存不足的问题
一般建议将交换分区的大小设置为物理内存的1.5-2倍。
1.3.3 Linux支持的其它文件系统类型
FAT16、FAT32、NTFS
EXT4、JFS…
在Linux服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间
实现上述操作需要用到fdisk磁盘及分区管理工具,fdisk是大多数Linux系统中自带的基本工具之一。
分区对应的系统ID号中,83表示Linux中的EXT4分区,8e 表示LVM逻辑卷
2.1.1 fdisk -l 【磁盘设备】或 fdisk 【磁盘设备】
列出当前系统中所有硬盘设备及其分区的信息
Device 分区设备名称
Boot 是否是引导分区,如是有*号
Start 起始位置(硬盘柱面数)
End 结束位置(硬盘柱面数)
Blocks 分区大小 以块为单位,默认块大小是1024字节
ID 分区对应的系统ID号 ,7表示NTFS格式、81表示逻辑分区、
82表示SWAP、83表示EXT4、8e表示LVM逻辑卷
System 分区类型
2.1.2 fdisk /dev/sdb ###进入交互式分区管理页面
m man手册帮助
p 查看分区情况
n 创建新分区
d 删除分区
t 变更分区类型,转换格式
w 保存分区操作后退出
q 不保存退出
l 查看分区对应的系统id号
“n”命令–新建分区
使用“n”命令可以进行创建分区的操作,包括主分区和扩展分区。
根据提示输入“p”选择创建主分区。
输入“e”选择创建扩展分区,扩展分区设置完后,可以设置逻辑分区。
之后依次选择分区序号,起始位置,结束位置或分区大小即可完成新分区的创建。
选择分区号时,主分区和扩展分区的序号只能为1-4,分区起始位置一般有fdisk默认识别即可,结束位置或大小可以使用’’+sizeM‘或“+sizeG”的形式。如“+20G”表示将该分区的容量设置为20GB。
创建文件系统的过程也是格式化分区的过程,在Linux系统中使用mkfs(Make Filesystem,创建文件系统)命令格式可以格式化xfs、ext4、fat等不同类型的分区,而使用mkswap命令可以格式化swap交换分区。
与mkfs命令相关的工具程序,这些程序位于/sbin/目录中,例如:支持XFS分区格式的mkfs.xfs程序等。
可以使用ls /sbin/mkfs* 查看mkfs 有哪些支持的工具程序
mkfs命令使用格式
mkfs -t 文件系统类型 分区设备
CentOS7默认xfs文件系统类型,所以我们现在常用这条命令
mkfs.xfs /dev/sda1
mkfs -t ext4 /dev/sdb1 ###将sdb1格式化成ext4文件系统
mkfs -t vfat -F 32 /dev/sdb6
或者mkfs.vfat -F 32 /dev/sdb6 ###将sdb6格式化成fat32文件系统(先通过fdisk工具添加/dev/sdb6分区,并将id设为b)
在Linux系统中,Swap分区的作用类似于Windows系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。在当前Linux主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。
使用mkswap命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk工具将ID号设为82. t命令
make swap:创建文件交换系统
fdisk -l /dev/sdb ##查看交换分区的信息
mkswap /dev/sdb5 ##创建交换分区sdb5
cat /proc/meminfo |grep “SwapTotal” ##查看总交换空间大小
swapon /dev/sdb5 ##临时开启交换分区
swapoff /dev/sdb5 ##关闭交换分区
vi /etc/fstab ##永久挂载(永久开启交换分区)自动挂载
在最后一行加入
/dev/sdb5 swap swap defaults 0 0
在Linux系统中,对各种存储设备中的资源访问(如读取,保存文件等)都是通过目录结构进行的,虽然系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。
当然,在安装Linux操作系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,如“/”分区,“boot”分区等。然而对于后来新增加的硬盘分区,光盘等设备,有时候还需要管理员手动进行挂载,实际上用户访问的是经过格式化后建立的文件系统。挂载一个分区时,必须为其制定一个目录作为挂靠点(或称为挂载点),用户通过这个目录访问设备中的文件,目录数据。
mount 【-t 文件系统类型】挂载目录
文件系统类型-t可以省略,因为系统会自动识别。
mount /dev/cdrom /opt #####将cdrom挂载到opt目录下
mkdir /opt/a #####在opt目录下创建a文件夹
mount /dev/sdb6 /opt/a ####将sdb6挂载到/opt/a目录下面
mount ####查看当前系统中挂载的信息
umount /opt/a ##通过挂载点目录卸载对应的分区
umount /dev/sdb6 ##通过设备文件卸载分区
fusermount -uz /opt ##强制卸载/opt挂载的分区
df -Th
-h 可以显示更易读的容量单位
-T 用于显示对应文件系统的类型(ext,xfs)