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

一,硬盘管理

(一),磁盘基础知识

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 空间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/311213.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VRTK】【VR开发】【Unity】18-VRTK与Unity UI控制的融合使用

课程配套学习项目源码资源下载 https://download.csdn.net/download/weixin_41697242/88485426?spm=1001.2014.3001.5503 【背景】 VRTK和Unity自身的UI控制包可以配合使用发挥效果。本篇就讨论这方面的实战内容。 之前可以互动的立体UI并不是传统的2D UI对象,在实际使用中…

超真实随身WiFi测评,你确定不看一下?随身WiFi靠谱吗? 看完这篇文章你就懂了?随身WiFi真实评测

用了一年多的格行随身wifi,屏幕都磨花了。直接看图,都是自己实测! 设备是去年买的,到现在也快1年了,一直有朋友蹲后续,现在把后续给大家!到底是大牌子,确定是不跑路的随身wifi&…

PAT 乙级 1042 字符统计

请编写程序,找出一段给定文字中出现最频繁的那个英文字母。 输入格式: 输入在一行中给出一个长度不超过 1000 的字符串。字符串由 ASCII 码表中任意可见字符及空格组成,至少包含 1 个英文字母,以回车结束(回车不算在内…

Java Object浅克隆深克隆

对象克隆 把A对象的属性值完全拷贝给B对象,也叫对象拷贝,对象复制。 实现Cloneable接口,表示当前类的对象就可以被克隆,反之,表示当前类的对象就不能克隆。 如果一个接口里面没有抽象方法,表示当前的接口…

【零基础入门VUE】在 Vue 中构建复杂表单

✍面向读者:所有人 ✍所属专栏:零基础入门VUE专栏https://blog.csdn.net/arthas777/category_12537076.html 目录 v-modelVue 中的 指令 Vue 中的组件 没有构建步骤 随着构建步骤 注册 VUE 组件 Vue 道具 VUE 中的道具声明 在 VUE 中传递 PROP…

WEB渗透—PHP反序列化(十一)

Web渗透—PHP反序列化 课程学习分享(课程非本人制作,仅提供学习分享) 靶场下载地址:GitHub - mcc0624/php_ser_Class: php反序列化靶场课程,基于课程制作的靶场 课程地址:PHP反序列化漏洞学习_哔哩…

李宏毅 自然语言处理(Voice Conversion) 笔记

前一章笔记:李宏毅 自然语言处理(Speech Recognition) 笔记 引入 什么是voice conversion? 输入一段声音,输出另一段声音,我们希望这两端声音:内容一样,其他方面不一样&#xff08…

C++ 递归函数 详细解析——C++日常学习随笔

1. 递归函数 1.1 递归函数的定义 递归函数:即在函数体中出现调用自身的函数,即函数Func(Type a,……)直接或间接调用函数本身; 递归函数:在数学上,关于递归函数的定义如下:对于某一函数f(x),其…

ssm基于web的马病管理系统设计与实现+jsp论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,马病信息因为其管理内容繁杂,管理数量繁多导致手工进行处理不能满足广大…

RK3568测试tdd

RK3568测试tdd 一、门禁取包二、烧录三、跑tdd用例四、查看结果参考资料 一、门禁取包 右键复制链接,粘贴下载;解压到文件夹; 二、烧录 双击\windows\RKDevTool.exe打开烧写工具,工具界面击烧写步骤如图所示: 推荐…

动态规划 典型例题

总结 动态规划的的四个解题步骤是: 定义子问题写出子问题的递推关系确定 DP 数组的计算顺序空间优化(可选) from functools import cache cache #缓存,避免重复运算 def dfs(i)->int:if 终止: return 0 #具体返回什么值要看…

C# 图标标注小工具-查看重复文件

目录 效果 项目 代码 下载 效果 项目 代码 using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Security.Cryptography; using System.Windows.Forms;namespace ImageDuplicate {public partial clas…