
最近我刚刚学习了硬盘和分区的基础知识,我想根据需要将其写为博客. 由于级别有限和错误,我希望指出.
1. 硬盘的接口类型和组成如下图所示.

external.png
接口类型:
不同的接口传输方式分为: 串行端口传输和并行端口传输
其中串口传输的有:
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
其中并口传输的有:
IDE:133MB/s ==>接口速率
SCSI:640MB/s ==>常见
linux中磁盘设备的设备文件命名方式:
IDE:/dev/hd#
SCSI、SATA、SAS,USB:/dev/sd#
不同设备的标识:a-z
同一设备上的不同分区的标识:1,2……
其中:主分区:1-4
逻辑分区:5-……
2. 硬盘的内部组成

internal.png
3. 硬盘磁道(磁道)的基本概念: 围绕圆心的灰色同心圆是磁道. 扇形: 从圆心向外抽出一条射线,轨迹被分成称为扇形的宽弧. 该扇区的一般大小为512字节.


image.png
圆柱体: 圆柱体由相同编号(位置)的轨道组成. 磁头: 读取数据的关键组件,每个磁盘表面一个.

image.png
块/集群: 逻辑上由多个(2 ^ n)个相邻扇区组成,对于操作系统而言,从整体上读取和写入数据非常方便,以提高访问效率.
Windows中ntfs文件系统中称为簇,Linux中ext4等文件系统中称为块。
大小均是2^n次方。
扇区:整个硬盘最小的读写单位
柱面:对硬盘进行分区的最小单位
块/簇:操作系统对硬盘进行数据读写的最小单位
4. 硬盘存储容量的计算
总容量=磁头数(磁盘数),磁道数,扇区数*每个扇区的大小
在上图中:
磁盘数量: 6
轨道数: 7,ps: 这里灰色的轨道数为7
扇区数: 12

每个扇区的大小: 512byte
总容量: 6712 * 512 = 258048byte
5,MBR和分区
准则: 以柱面为基本单位对硬盘进行分区. 整个硬盘的分区信息存储在0个柱面,0个磁道和1个扇区的MBR中.
以下简要介绍了MBR(主引导记录):
MBR是主引导记录,它负责告诉计算机在硬盘上找到操作系统,其中包含硬盘的分区信息.
大小: 512字节,其中包含:
446 byte:boot loader,包含最基本的引导程序,即调用操作系统的机器码
64 byte:分区信息,其中一个分区信息为16byte,故主分区一个只能有64/16=4个,一般是3P+1E(N个逻辑分区)
在每个分区信息的16 byte中,后4个byte标志着主分区扇区的总个数,即一个主分区的扇区总个数为2^32个扇区,每个扇区512byte,则每个主分区的大小不超过2T。
2 byte:0x55和0xAA,则此设备可以用于系统启动,若不是这2个字节,则表明不能用于系统启动。
PS:当磁盘的容量大于2T时,多于2T的容量不会被MBR识别,因此当硬盘大于2T时,考虑使用GPT,一种新的分区表类型。
6. Linux中常见的分区命令
分区管理工具: fdisk,parted,sfdisk
fdisk:
功能:
1. 对于硬盘,最多可以管理15个分区
2. 它只能分为2T以下的硬盘. 如果大于2T,则可以安装整个硬盘,但不能对其进行分区. 因此,您需要使用parted命令进行分区管理.
#fdisk -l ==>列出指定所有设备磁盘分区信息
#fdisk 设备名 ==>进行分区
#fdisk 设备
子命令:管理功能
p:显示已有分区
n:new 创建
d:delete 删除
w:write,写入磁盘并退出
q:quit,放弃更新并退出
m:获取帮助
l:列表所分区ID
t:调整分区ID
分区后先查看,若内核未同步,则使用命令将分区信息同步到内核:
方式一:
查看内核是否已经识别新的分区:
cat /proc/partations
通知内核重新读取硬盘分区表:
partx -a /dev/DEVICE
不理会报错
方式二:
使用file命令:file /dev/sdb2
若结果没有block,则说明Linux内核没有同步,可使用
#partprobe ==>进行内核同步
方式三:关机重启
7. 文件系统
文件系统是用于在设备上存储文件的特定方法和数据结构. 根据不同的方法和数据结构,Linux中的文件系统分为:
ext2,ext3,ext4,xfs
交换: 交换分区,将磁盘用作内存
CD: iso9660
文件系统格式化工具
对硬盘进行分区后,我们经常格式化分区,以便该分区成为我们要存储文件的文件系统.
在Linux中格式化命令:
#mkfs.FS_TYPE -L '卷标' /dev/分区名称(不能使扩展分区)==>此步骤将某个分区以FS_TYPE进行格式化
其中FS_TYPE常见的类型有:
ext2
ext3
ext4
xfs
btrfs
vfat
另外ext2、3、4文件系统的专用格式化命令:
mke2fs -t [ext2|ext3|ext4] -L '卷标' /dev/分区
#blkid 分区 == >格式化后,用于查看此分区的信息,例如(格式,卷标,UUID等)
[root@centos ~]# blkid /dev/sdb5
/dev/sdb5: LABEL="i am ext4" UUID="0fe92389-239a-417b-a679-2f32ac98865f" TYPE="ext4"
#e2label DEVICE_NAME 'LABEL_NAME' ==>更改设备的label

当我们认为系统中的交换分区不够用时,可以扩展交换分区.
#mkswap /dev/分区 ==>创建swap分区
前提:在此分区的分区ID号必须得是82,即Linux swap
文件系统检测工具
fsck_FS_TYPE 或fsck -t FS_TYPE
注:FS_TYPE一定要与分区上已有文件类型相同
ext专用修复工具:
e2fsck -f DEVICE_NAME. ==>强制修复DEVICE_NAME
8. 挂载文件系统
格式化文件系统后,我们可以通过将目录与系统上的目录相关联来通过目录访问文件系统中的文件,并且正在执行“关联”操作.
注意: 如果目录中有文件,则文件在挂载后会暂时隐藏,而在卸载后会恢复文件
相关命令:
#mount DEVICE_NAME MOUNT_POINT
其中device可以为:
1、设备文件 /dev/sda5
2、卷标:-L 'LABEL',例如:-L 'MYDATA'
3、UUID,-U 'UUID',例如:-U 'xxxxxxxxxxxxxxxx'
4、伪文件系统:proc,sysfs,devtmpfs,configfs
mount常用选项:
-a : 自动挂载/etc/fstab里面的设备
-L ‘LABEL’ :以卷标指明要挂载的设备
-o OPTION
OPTION的选项,用此规定要被挂载的文件系统的一些属性,例如:只读,异步……
async : 挂载使用异步模式
sync:同步模式,内存中数据改变后,会立即保存到硬盘中,异步是不立即改变。
atime/noatime:每一次访问文件都会更新时间戳/不更新,包含目录和文件。
diratime/nodiratime:目录的访问时间戳
auto/noauto:是否支持自动挂载
exec/noexec:是否支持将文件系统上的应用程序运行为进程(运行程序为进程)
dev/nodev:是否支持在此文件系统上使用设备文件
suid/nosuid:
remount:重新挂载
ro:只读
rw:读写
user/nouser:是否允许普通用户挂载此设备
acl:启用此文件系统上的acl功能
默认(defaults):相当于 rw, suid, dev, exec, auto, nouser, async
#umount DEVICE/MOUNT_POINT
卸载时2选一即可�
安装交换分区
当使用命令mkswap将分区设置为交换格式时,我们需要先安装交换分区,然后才能正常使用.
命令:
swapon /dev/DEVICE ===> 将swap格式的分区进行激活
swapon -a DEVICE_NAME :将设备上所有的swap分区全部激活
swapoff /dev/DEVICE ===> 将swap格式的分区进行休眠

image.png
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/dianqi/article-309672-1.html
一次次双降
俺到江浙去
坚决击沉
小王子