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

一,硬盘管理

(一),磁盘基础知识

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字节

磁盘管理,文件系统,挂载_第1张图片

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 没硬盘情况下

磁盘管理,文件系统,挂载_第2张图片

(三)挂载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磁盘磁盘管理,文件系统,挂载_第3张图片2,添加一个磁盘后,重启可以看到。但生产环境一般不允许重启,用

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

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

磁盘管理,文件系统,挂载_第4张图片

3,可以看到sdb 磁盘

磁盘管理,文件系统,挂载_第5张图片

4,使用fdisk命令  分区

磁盘管理,文件系统,挂载_第6张图片

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

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

5,下一步选择 主分区  p

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

磁盘管理,文件系统,挂载_第7张图片

6,给分区1     10G

磁盘管理,文件系统,挂载_第8张图片

磁盘管理,文件系统,挂载_第9张图片

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

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

磁盘管理,文件系统,挂载_第10张图片

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

mkfs.xfs   设备名     格式化

磁盘管理,文件系统,挂载_第11张图片9,格式之后挂载

磁盘管理,文件系统,挂载_第12张图片

(三)永久挂载

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

1,  输入  vim  /etc/fstab

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

磁盘管理,文件系统,挂载_第13张图片

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

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

磁盘管理,文件系统,挂载_第14张图片

3,格式如下    wq 保存退出磁盘管理,文件系统,挂载_第15张图片4,如果  /etc/fstab   文件里有错误,服务器就重启不了了,所以这边先重新挂载一次,防止出错

用   mount   -a  命令

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

磁盘管理,文件系统,挂载_第16张图片

磁盘管理,文件系统,挂载_第17张图片

(四)总结

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

磁盘管理,文件系统,挂载_第18张图片

(二)增加swap

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

磁盘管理,文件系统,挂载_第19张图片

磁盘管理,文件系统,挂载_第20张图片

2,刷新

磁盘管理,文件系统,挂载_第21张图片3,,格式化文件系统   再次查看swap  分区增加4G

磁盘管理,文件系统,挂载_第22张图片

(三)关闭swap

swapoff  -a   关全部的swap 空间

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

你可能感兴趣的:(服务器,linux,运维)