磁盘管理与文件系统

99 阅读7分钟

1.磁盘基础

1.1硬盘的物理结构:

盘片:硬盘有多个盘片,每盘片2面(正反面)

磁头:每面一个磁头(并不是只有一个磁头)

1.2硬盘的数据结构:

扇区:盘片被分为多个扇形区域,每个区域存放在512字节的数据(扇区越多容量越大)

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

柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)

1.3 硬盘存储容量

1.   硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数

1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M

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

1.4 硬盘接口的类型

接口类:

3.   IDE:133MB/s,并行接口,早期家用电脑

4.   SCSI:640MB/s,并行接口,早期服务器

5.   SATA:6Gbps,SATA数据端口与电源(长的,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线

6.   SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。

7.   M.2:

8.   光纤接口

MBR与磁盘分区

1.1  为什么分区

l  优化I/O(读写)性能

l  实现磁盘空间配额限制

l  提高修复速度

l  隔离系统和程序

l  安装多个OS

l  采用不同文件系统

1.2  硬盘分区

MBR分区 只可以对2T以下的硬盘进行分区

一个扇形512字节

扇区中前446字节存系统文件的位置,引导程序

一个分区表 16字节

 

分区的作用:

主分区:可以直接使用,可以装系统

扩展分区:不可以直接使用,必须要分逻辑分区

逻辑分区:依托于扩展分区,使用的是扩展分区中的空间

 

Mbr分区

1.   主分区: 序号1-4

2.   逻辑分区: 序号从5开始

3.   扩展分区 一定是 主分区

4.   主分区不一定是扩展分区

5.   逻辑分区一定不是主分区

文件系统

文件系统组成:

l  内核中的模块:ext4、xfs、vfat

l  Linux的虚拟文件系统:VFS

l  用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

常见的硬件设备在/dev目录下

image.png

#此处的8代表设备的类型    8后的数字代表第几类的第几块设备

文件系统

用来管理(增删改查恢复)文件的程序

image.png

XFS 默认

根据所记录的日志在很短的时间内迅速恢复磁盘文件

内容

用优化算法,日志记录对整体文件操作影响非常小

是一个全64-bit的文件系统,最大可以支持8EB的文

件系统,1EB=1024PB1PB=1024TB(这里才到

TB1TB=1024GB

而支持单个文件则达到8EB能以接近裸设备I/O的性能

存储

swap

swap交换分区是系统RAM的补充,swap 分区支持虚拟

内存。当没有足够的 RAM 保存系统处理的数据

时会将数据写入 swap 分区,当系统缺乏 swap 空间

时,内核会因 RAM 内存耗尽而终止进程。配置过

多 swap 空间会造成存储设备处于分配状态但闲置,造

成浪费,过多 swap 空间还会掩盖内存不足。

FAT16、FAT32、

且最大只能支持32GB分区,单个文件也只能支持最大

4GB。

NTFS(xfs)

NTFS文件系统所具备3个功能:错误预警功能、磁盘自

我修复功能和日志功能,单个文件64GB

EXT4

Extended file system 适用于那些分区容量不是太大,

更新也不频繁的情况,例如 /boot 分

区是 ext 文件系统的最新版。提供了很多新的特性,包

括纳秒级时间戳、创建和使用巨型文件

(16TB)、最大1EB的文件系统,以及速度的提升

1EB=1024PB=1024TB

JFS

主要是为满足服务器的高吞吐量和可靠性需求而设计、

开发的。单个文件最大限制16TB,该文件系统最大支持

1PB的容量。1PB=1024TB

分区工具

lsblk  列出块设备

image.png

fdisk 管理MBR分区(测试) centos7 测试版本可以对  #2T以下

gdisk 管理GPT分区   #2T以上

管理磁盘及分区——分区工具fdisk

格式:fdisk –l [磁盘设备]

fdisk [磁盘设备]

[root@localhost ~]#fdisk -l /dev/sda ##只看sda硬盘

image.png

[root@localhost ~]#fdisk –l  ##看所有

image.png

交互模式中常用指令

1.  m 打印出菜单

2.  p 打印出当前分区表

3.  n 新建一个分区

4.  d 删除一个分区

5.  t 改变分区的属性,系统ID

6.  w 保存

7.  q 不保存退

基本用法:fdisk 硬盘名

例子:新建

n 新建

回车默认从序号1开始分区

回车

回车默认开始的扇区

+#G 回车 #是数字

P 打印当前分区表

w  保存退出

创建后分区如果分区未出现可以使用

partprobe 刷新检测分区表

 

blkid

可以查看块设备属性信息

image.png

创建文件系统——mkfs 命令

命令格式:

mkfs –t  文件系统类型  分区名

mkfs. 文件系统类型 分区名

例子:

[root@localhost ~]#mkfs.xfs /dev/sdb1

[root@localhost ~]#mkfs.

mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat   

mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs

mkfs -t   文件系统类型     分区名

[root@localhost ~]#mkfs -t ext4 /dev/sdb2

 

建立特殊分区  swap

过程:分区一定要将分区类型改为82(swap分区)

t  改变分区类型

82

image.png

image.png 建立文件系统:mkswap 分区名

image.png

mkswap /dev/sdd1

启用:swapon 分区名

例子:swapon /dev/sdd

      swapon –a 启用所有

image.png

停用:swappoff -a

 

挂载和卸载文件系统

挂载文件系统——mount命令

使用mount命令是一次性的,关机后挂载关系就会取消,下次开机仍需要重新挂载

命令格式:

mount    分区名    文件夹名

示例:

[root@localhost ~]#mount /dev/sdb1 /mnt

 

挂载规则:

一个挂载点同一时间只能挂载一个设备

一个挂载点同一时间挂载了多个设备,只能看到最后

一个设备的数据,其它设备上的数据将被隐藏

一个设备可以同时挂载到多个挂载点

通常挂载点一般是已存在空的目录

 

卸载文件系统——umount 命令

命令格式:umount 挂载点目录

  image.png

设置文件系统的自动挂载(永久挂载)

Vim /etc/fstab

image.png

注意:UUID一定要加上

image.png

修复文件系统:

损坏文件系统:

dd  if=/dev/zero of=/dev/sdb1  bs=512 count=1

dd 复制   

if 从哪里复制什么 /dev/zero

of  是复制到那里去 /dev/sdb1

bs=512   一次复制512

count=1   复制1次

 

设置磁盘分区完整步骤演示

实验内容:

1)新增并检测新硬盘:为主机新增三块20G的硬盘。

2)对该硬盘进行分区:划分1个主分区(5G)、1个扩展分区(10G)。扩展分区内建立1个逻辑分区,容量分别为5G 。

3)创建文件系统:主分区和第1个逻辑分区格式化为 XFS文件系统。第2个逻辑分区格式化为 swap文件系统。

4)挂载文件系统:主分区挂载到/mnt 目录,第1个逻辑分区挂载到/opt 目录。

1.检测并确认新硬盘

新加硬盘后,需要刷新磁盘接口,让系统识别新硬盘

命令如下:

[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host0/scan

[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host1/scan

[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host2/scan

image.png

使用命令fdisk 设置硬盘主分区

image.png

给分区指定文件系统,并挂载

image.png

在扩展分区下,建立逻辑分区

image.png

首先建立扩展分区:

image.png

再旗下建立逻辑分区

image.png

注意:如遇到/dev/sdb5 不存在 重新刷新一下 然后在加入文件系统

image.png

将其挂载到/opt 下

image.png

建立特殊区 swap

image.png

image.png

image.png