目录
使用磁盘的三步:
在linux上使用磁盘需要 三步
1.分区 方便管理硬盘
2.格式化=安装文件系统 方便让人看得懂,如果不安装将显示二进制
3.挂载 将硬盘和文件夹关联
设备文件:
关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 一切皆文件(linux系统)
设备号码:
主设备号:major number 标识设备类型
副设备号:minor number 标识同一类型下的不同设备
设备类型:
块设备:block 存取单位“块”,磁盘
字符设备:char 存取单位“字符”,键盘
查看自己磁盘的分区:
ls /dev/sd*
一、硬盘结构
1.1、硬盘的物理结构
扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据
柱面:同一盘片不同半径的同心圆
磁面:不同盘片相同半径构成的圆
1.2、硬盘接口的类型
SCSI:640MB/s SATA:6Gbps
SAS:6Gbps 光纤
1.3、硬盘大小
LFF:3.5寸 SFF:2.5寸
L、S分别是大、小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗
2.5寸的硬盘可以改成3.5寸的硬盘,但3.5寸的不能改成2.5寸的。
---------------------------------------------------------------------------------------------------------------------------------
二、磁盘分区
Windows 可以不分区
Linux 必须分区
2.1、分区的优点和缺点
分区优点:
加快文件的读写速度
实现磁盘空间配额限制
隔离系统和程序
安装不同系统
采用多个文件系统
文件系统即是管理文件的软件(NTFS磁盘分区可以达到2TB,多用于储存大型文件。FAT 32最大磁盘分区只有32GB)
分区缺点:
必须是连续空间
一旦分好区域后无法增加和减少空间
分好区后,inode号会固定
2.2、分区方式
MBR: 2T 以下 的硬盘 fdisk
GPT: 可以支持 2T 以上的硬盘 gdisk
fdisk、gdisk为分区工具
2.3、MBR
MBR:主引导记录,是硬盘上的第一个扇区,想要读数据得从这个扇区开始,一共 512 字节
前 446 字节 为 开机引导程序,引导硬件 找到我们的操作系统,剩下66字节中,一个分区表占16字节 66 /16 =4 ............ 2
后 64 字节 放了 4个分区表 表明了 分区的范围, 分区从哪里到那里结束
最后 两字节 代表MBR 结束位
2.4、分区分类
主分区: 可以直接使用,安装操作系统 存储文件 等
扩展分区:不可以直接使用,需要再 划分逻辑分区,让分区超过4个
逻辑分区:可以直接使用,存储文件
扩展分区是特殊的主分区,主分区的序号为 1-4,逻辑分区的序号 从5 开始
对于一个硬盘来说,主分区至少有 1 个,最多有 4 个;扩展分区可以没有,最多只能有 1 个,且主分区+扩展分区总共不能超过 4 个;逻辑分区可以有若干个。
---------------------------------------------------------------------------------------------------------------------------------
三、文件系统
超级块(super block): 负责描述 当前这个分区有哪些块组, 从哪里开始从哪里结束
块组描述符表(GDT) : ext文件系统每一个块组信息使用32字节描述,这32个字节称为块组描述符,所有块组的块组描述符组成块组描述符表GDT(group descriptor table)。
块位图(block bitmap): 描述此块是否使用 0 未使用 1使用
节点位图 (inode bitmap): inode节点 位图 0 未使用 1使用
常见的硬件设备在/dev目录下
dumpe2fs /dev/sdb1
#查看ext 文件系统
xfs_info /dev/sda1
#查看 xfs 文件系统
3.1、XFS
根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
用优化算法,日志记录对整体文件操作影响非常小
是一个全64-bit的文件系统,最大可以支持8EB的文件系统,1EB=1024PB1PB=1024TB(这里才到TB1TB=1024GB
而支持单个文件则达到8EB能以接近裸设备I/O的性能存储
3.2、SWAP
swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。
当没有足够的 RAM 保存系统处理的数据 时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。
配置过 多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存不足。
3.3、NTFS
NTFS文件系统所具备3个功能:错误预警功能、磁盘自我修复功能和日志功能,单个文件64GB
3.4、EXT4
Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升1EB=1024PB=1024*1024TB
3.5、文件的修复
fsck.FS_TYPE
fsck [选项] FS_TYPE
-a 自动修复
-r 交互式修复错误
---------------------------------------------------------------------------------------------------------------------------------
四、分区工具
4.1、fdisk
格式:fdisk -l 查看所有磁盘信息
fdisk -l [磁盘设备] 查看单个磁盘信息
fdisk [磁盘设备] 对硬盘进行分区
fdisk -l
lsblk
fdisk /dev/sda
进入分盘模式下可以输入以下命令
n | 新建分区 |
p | 打印分区表 |
w | 保存并退出 |
d | 删除 |
4.2、lsblk
lsblk 查看磁盘分区
lsblk
4.3、mkfs
创建文件系统(格式化)常用选项
mkfs.xfs /dev/sdb1
mkfs -t xfs /dev/sdb1
4.4、mkswap
swap
特殊的文件系统,缓解内存不足,为了个别应为程序加内存有点浪费
添加交换分区的空间
mkswap + 分区
swapon +分区 开启 -a 全部
swapoff +分区 关闭 -a 全部
cat /proc/meminfo |grep "SwapTo" //先查看现有交换分区容量
五、挂载
5.1、mount
mount [ -t 类型 ] 存储设备 挂载点目录
mount /dev/sdb1 /mnt
一个挂载点同一时间只能挂载一个设备 一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据 一个设备可以同时挂载到多个挂载点 通常挂载点一般是已存在空的目录
永久挂载:需要 将文件写入 /etc/fstab UUID 可以确保唯一
UUID快速获取:在vi编辑器的末行模式下 .!blkid /dev/sdb1
5.2、解挂载
umount 设备名|挂载点 解除挂载
卸载时:可使用设备,也可以使用挂载点