磁盘与文件系统管理

目录

一.磁盘

1磁盘结构

2硬盘存储容量

3接口类型

二.磁盘分区表示

1为什么分区

2MBR分区

3GPT分区

三.文件系统

1XFS

2swap

3FAT16、FAT32

4NTFS(xfs)

5EXT4

四.管理磁盘及分区

1. fdisk命令-查看或管理磁盘分区

2.blkid

3.mkfs

4.mkswap

5.lsblk

五.挂载与解挂载

1.挂载

2.永久挂载

 3.解挂载

4.df

六.总结


一.磁盘

磁盘空间的管理,使用硬盘三步

  1. 分区:

  2. 文件系统:

  3. 格式化:

  4. 挂载:

    磁盘损坏数据没了,容错,提高性能raid

    逻辑卷空间动态化扩容,空间变大变小

1磁盘结构

物理结构

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

数据结构

扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘是最小存储单位。
磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹。
柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

2硬盘存储容量

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

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

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

3接口类型

IDE、SATA、SCSI、SAS、光纤通

二.磁盘分区表示

1为什么分区

优化I/O性能

实现磁盘空间配额限制

提高修复速度

隔离系统和程序

安装多个OS

采用不同文件系统

2MBR分区

MBR位于硬盘第一个物理扇区处 , MBR中包含硬盘的主引导程序和硬盘分区表
MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-512字节中
分区表有4个分区记录区,每个分区记录区占16字节
Linux中将硬盘、分区等设备均表示为文件

3GPT分区

GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block)

使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动

三.文件系统

文件系统的组成

内核中的模块:ext4, xfs, vfat

Linux的虚拟文件系统:VFS

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

1XFS

存放文件和目录数据的分区
高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。
CentOS 7系统中默认使用的文件系统

2swap

swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据 时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过 多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存不足。

3FAT16、FAT32

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

4NTFS(xfs)

NTFS文件系统所具备3个功能:错误预警功能、磁盘自我修复功能和日志功能,单个文件64GB

5EXT4

Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分 区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升1EB=1024PB=1024TB
 

四.管理磁盘及分区

1. fdisk命令-查看或管理磁盘分区

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

fdisk   [磁盘设备]

- m  打印出菜单
- p  打印出当前分区表
- n 新建一个分区
- d 删除一个分区
- t 改变分区的属性,系统ID
- w 保存
- q 不保存退出

Device:分区的设备文件名称。
Boot:是否是引导分区。若是,则有“*”标识。主系统
Start:该分区在硬盘中的起始位置(柱面数)。
End:该分区在硬盘中的结束位置(柱面数)。
Blocks:分区的大小,以 Blocks(块)为单位,默认的块大小为 1024 字节。
Id:分区对应的系统 ID 号。83 表示 Linux 中的 XFS 分区或 EXT4 分区、8e 表示 LVM 逻辑卷。LVM 是 Linux 操作系统中对磁盘分区进行管理的一种逻辑机制,与之相关的知识将在后面的章节介绍。
System:分区类型。识别到新的硬盘设备后,就可以在该硬盘中建立新的分区了。在 Linux 操作系统中,分区和格式化的过程是相对独立的

 分区id
83 普通的分区id
82 swap交换分区的id
8e LVM分区的id
fd raid磁盘整列的id

2.blkid

3.mkfs

创建文件系统(格式化)常用选项

-t {ext2|ext3|ext4|xfs} 指定文件系统类型
-b {1024|2048|4096} 指定块 block 大小
-L ‘LABEL’ 设置卷标
-j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i 
-i    # 为数据空间中每多少个字节创建一个inode;不应该小于block大小
-N  # 指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128---4096
-m  # 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...] 启用指定特性-O ^FEATURE 关闭指定
[root@localhost ~]# mkfs         mkfs -t ext4=mkfs.ext4 
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat


#文件系统检测和修复


-a 自动修复
-r 交互式修复错误

4.mkswap

swap

特殊的文件系统,缓解内存不足,为了个别应为程序加内存有点浪费

添加交换分区的空间

mkswap + 分区

swapon +分区 开启 -a 全部

swapoff +分区 关闭 -a 全部

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):t
分区号 (1-3,默认 3):3   
Hex 代码(输入 L 列出所有代码):82
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@192 ~]# cat /proc/meminfo |grep "SwapTo"   //先查看现有交换分区容量
SwapTotal:       2097148 kB

[root@localhost ~]# mkswap /dev/sdb3
mkswap: /dev/sdb3: warning: wiping old swap signature.
正在设置交换空间版本 1,大小 = 20971516 KiB
无标签,UUID=2b417485-49bd-4b72-9fce-89594647fcd1
[root@localhost ~]# swapon /dev/sdb3
[root@localhost ~]# cat /proc/meminfo |grep "SwapT"
SwapTotal:      23068664 kB
[root@localhost ~]# swapoff /dev/sdb3
[root@localhost ~]# cat /proc/meminfo |grep "SwapT"
SwapTotal:       2097148 kB

5.lsblk

[root@localhost ~]#lsblk -d -o name,rota
#查看当前硬盘是什么模式   固态 机械    1 机械 0 固态
NAME ROTA
sda     1
sr0     1

五.挂载与解挂载

1.挂载

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

device:指明要挂载的设备

- 设备文件:例如:/dev/sda5

- 卷标:-L 'LABEL', 例如 -L 'MYDATA'

- UUID: -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'

- 伪文件系统名称:proc, sysfs, devtmpfs, configfs

mountpoint:挂载点目录必须事先存在,建议使用空目录

挂载规则

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

一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏

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

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

[root@localhost ~]# mount /dev/sr0 /opt
mount: /dev/sr0   #写保护,将以只读方式挂载
[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   37G  5.7G   32G   16% /
devtmpfs                 977M     0  977M    0% /dev
tmpfs                    993M     0  993M    0% /dev/shm
tmpfs                    993M  9.0M  984M    1% /run
tmpfs                    993M     0  993M    0% /sys/fs/cgroup
/dev/sda1               1014M  161M  854M   16% /boot
tmpfs                    199M   12K  199M    1% /run/user/42
tmpfs                    199M     0  199M    0% /run/user/0
/dev/sr0                 4.3G  4.3G     0  100% /opt

2.永久挂载

需要 将文件写入 /etc/fstab

UUID 可以确保唯一

第 1 字段:设备名或设备卷标名。
第 2 字段:文件系统的挂载点目录的位置。
第 3 字段:文件系统类型,如 XFS、Swap 等。
第 4 字段:挂载参数,即mount 命令“-o”选项后可使用的参数。例如,defaults、rw、ro、noexec 分别表示默认参数、可写、只读、禁用执行程序。
第 5 字段:表示文件系统是否需要 dump 备份(dump 是一个备份工具)。一般设为 1时表示需要,设为 0 时将被 dump 忽略
第 6 字段:该数字决定在系统启动时进行磁盘检查的顺序。0 表示不进行检查,1 表示优先检查,2 表示其次检查。根分区应设为 1,其他分区设为 2。
通过在/etc/fstab 文件中添加相应的挂载配置,可以实现开机后自动挂载指定的分区。例如,执行以下操作将添加自动挂载分区/dev/sdb1 的配置记录

 3.解挂载

umount 设备名|挂载点
卸载时:可使用设备,也可以使用挂载点
fuser -v MOUNT_POINT
查看正在访问指定文件系统的进程
fuser -km MOUNT_POINT
终止所有在正访问指定的文件系统的进程

4.df

用来检查文件系统的磁盘空间占用情况,使用权限是所有用户
-T :显示文件系统类型
-h :以容易理解的格式印出文件系统大小,例如133kb 2mb 21G

df [OPTION]... [FILE]

六.总结

本次主要学习了磁盘的基本结构,以及如何在Linux中给磁盘分区以及如何永久挂载和解挂载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值