磁盘管理,文件系统,挂载

2023-12-28 18:25:04

一,硬盘管理

(一),磁盘基础知识

1,磁盘在linux 的表现形式

一般在 /dev

[root@localhost data]#ll /dev/sd*
brw-rw---- 1 root disk 8,  0 2月  21 19:27 /dev/sda
brw-rw---- 1 root disk 8,  1 2月  21 19:27 /dev/sda1
brw-rw---- 1 root disk 8,  2 2月  21 19:27 /dev/sda2
brw-rw---- 1 root disk 8,  3 2月  21 19:27 /dev/sda3
此处的8代表设备的类型
8后的数字代表第几类的第几块设备
sda   指第一块硬盘   
s代表接口  接口决定了数据传输的速率  scsi  sata
d  代表   磁盘
a  代表第一块盘   b 代表第二块

2,硬盘接口的类型

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

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

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

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

  • M.2: 笔记本

  • 光纤接口

3,服务器硬盘尺寸大小

LFF:3.5寸,一般见到的那种台式机硬盘的大小

SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本硬盘

L、S分别是大、小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗

2.5 ------> 3.5 使用

3.5 是无法转换 成 2.5
?

4,硬盘分类

机械硬盘,固态硬盘

如何查看磁盘是固态还是机械?

lsblk ?-d -o name,rota

1? 固态? ?0? 机械

(二)磁盘分区

1,为什么要分区

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

  • 实现磁盘空间配额限制

  • 提高修复速度

  • 隔离系统和程序

  • 安装多个OS

  • 采用不同文件系统

2,分区缺点

①一旦分区,无法修改大小

②只能使用连续的空间

③没有备份,冗余的功能

3,分区方式

① MBR

MBR 只能对2t 以下的盘进行分区

②GPT

可以对2t以上的盘进行分区

(三)磁盘分区具体原理

1,MBR具体分区方法

mbr 第一个扇区(512字节)里有:

①主引导记录:引导硬件找到操作系统 446字节 的小程序 ( 这个只是grub程序的一部分)

446字节

②分区表 记录了分区的开始和结束的位置 一个分区表要占16字节 4乘以16=64 所以mbr 只能分4个主分区

64字节

③标记位 55 aa (还有两个字节)

2字节

2,为什么MBR 只能对2t 以下的盘进行分区

MBR磁盘采用MBR分区表,由于MBR用4个字节存储分区总扇区数,最大可以表示2的32次方,1个扇区512字节,得出分区的容量或者磁盘容量都不能超过2T

3,mbr 分区类型

主分区

可以直接使用

扩展分区 (特殊的主分区)

不可以直接使用,无论你分多大,最后只显示1k 需要再分逻辑分区

作用:为了让你可以分超过4个分区

扩展分区不是用的,是存储了逻辑分区的分区表

③逻辑分区

需要先有扩展分区

逻辑分区的序号始终从5开始

因此总的来说,硬盘分区有 3 种,分别是主分区、扩展分区和逻辑分区。对于一个硬盘来说,主分区至少有 1 个,最多有 4 个;扩展分区可以没有,最多只能有 1 个,且主分区+扩展分区总共不能超过 4 个;逻辑分区可以有若干个。

4,GPT分区

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,使得操作系统可以启动

GPT分区结构分为4个区域:

  • GPT头

  • 分区表

  • GPT分区

  • 备份区域

不需要逻辑分区和扩展分区

二,文件系统

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

(一)文件系统理论

1,超级块(super block)

负责描述 当前这个分区有哪些块组, 从哪里开始从哪里结束

2,块组描述符表

(GDT)ext文件系统每一个块组信息使用32字节描述,这32个字节称为块组描述符,所有块组的块组描述符组成块组描述符表GDT(group descriptor table)。虽然每个块组都需要块组描述符来记录块组的信息和属性元数据,但是不是每个块组中都存放了块组描述符。将所有块组的块组信息组成一个GDT保存,并将该GDT存放于某些块组中,类似存放superblock和备份superblock的块

3,块位图(block bitmap)

描述此块是否使用 0 未使用 1使用

4,节点位图 (inode bitmap)

inode节点 位图 0 未使用 1使用

(二)常见文件系统

1,XFS

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

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

  • 是一个全64-bit的文件系统,最大可以支持8EB的文件系统,1EB=1024PB1PB=1024TB(这里才到TB1TB=1024GB

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

2,swap

当内存不足时 将硬盘的空间转换成 内存使用

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

3? ,FAT16、FAT32、

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

4? ,NTFS? ? ?windows ?默认

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

5,EXT4

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

6,JFS

主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。1PB=1024TB

1EB=1024PB

1PB=1024TB

1TB=1024G

(三 )linux?中默认的文件系统

centos7默认是XFS

centos6默认是ext4

三,挂载

(一)挂载格式

mount?存储设备? 挂载点目录

(二)挂载镜像文件

mount -o loop 没硬盘情况下

(三)挂载U盘

先将u?盘格式化

四,文件系统修复步骤

(一)查看

两种方法

badblocks? ? ? 检查坏道

tune2sf? ? -l? ?/dev/sdb1? ? ?查看文件系统特性

(二)解挂载

umount

(三)修复

fsck? ?/dev/sdb1? =y

(四)再挂载

注意:不一定能修复,看运气

五,如何新建一个磁盘

1,分区

在linux 必须分区

2,文件系统

是一类软件的总称 主要作用管理文件(大小,权限)

3,挂载

硬盘和系统内的文件夹做关联,使用该文件夹等于使用硬盘

(一)分区工具

lsblk 列块设备? ? ? ? ? ? (看硬件)
fdisk 管理MBR分区? ?(看磁盘)

? ? ? ?fdisk? -l? 看所有

? ? ? ? fdisk? -l? ?/dev/sda? ? ? ?看sda
gdisk 管理GPT分区
partprobe 重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8

(二)实验步骤,如何新建一个磁盘并分区

1,lsblk? 列出块设备,可以看到我们此时只有sda磁盘2,添加一个磁盘后,重启可以看到。但生产环境一般不允许重启,用

echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan

该命令刷新硬盘供电的三个接口,此处做了别名scan

3,可以看到sdb?磁盘

4,使用fdisk命令? 分区

n 新建分区 d删除分区 p打印分区列表

w 保存退出 q 退出不保存 t改变分区类型

5,下一步选择?主分区? p

p 主分区 e 扩展分区(l逻辑分区) 建了扩展分区才有逻辑分区

6,给分区1? ? ?10G

7,分区会出现延迟的情况,因为你对硬盘的更改在内存里,内存到硬盘还需要时间。刷新 partprobe

此时可以看到sdb?有sdb1的分区了

8,分区后还需要格式化 (装文件系统)

mkfs.xfs? ?设备名? ? ?格式化

9,格式之后挂载

(三)永久挂载

mount 挂载是临时挂载,想自动挂载即永久挂载要写到文件里去,挂载相关的信息在? /etc/fstab

1,? 输入? vim? /etc/fstab

注意注意注意:设备名最好用uuid,? sdb1 名字不准

2,所以我们先查询 sdb1? 的uuid? ?输入blkid?命令

复制UUID="XXXXXXXXX"? ? ? ? UUID=?也要复制? 把双引号去掉

3,格式如下? ? wq?保存退出4,如果? /etc/fstab? ?文件里有错误,服务器就重启不了了,所以这边先重新挂载一次,防止出错

用? ?mount? ?-a? 命令

5,如果 /etc/fstab? ?文件里有错误,服务器就重启不了,会进入crtl d? 报错页面

(四)总结

1,lsblk?先查看磁盘

2,装新磁盘

3,重启? ? 或者刷新磁盘三个接口? ? ? ? ? ? ? ? echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan

4,看到新磁盘,使用fdisk命令? 分区

5,新建一个分区后? ? ? mkfs.xfs? ?设备名? ? ?格式化(即给分区装文件系统)

6,永久挂载

7,先查询?分区? 的uuid? ?输入blkid?命令

8,?输入? vim? /etc/fstab? 将复制的uuid号填进去,并把剩余填写完整

9,为了安全性,mount -a? 重新挂载一次

六,拓展?swap?分区

当内存不足,把硬盘空间转内存

(一)查看swap

free -h

(二)增加swap

1,新建一个4G分区,分区后改类型

2,刷新

3,,格式化文件系统? ?再次查看swap? 分区增加4G

(三)关闭swap

swapoff? -a? ?关全部的swap?空间

swapoff? ?设备名? ? ?只关设备名中的swap?空间

文章来源:https://blog.csdn.net/wyq2070857323/article/details/135246159
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。