侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Linux硬盘分区注意事项 Partition与档案系统管理

linux  /  管理员 发布于 7年前   177

  本篇文章主要描述了Linux硬盘分区的过程,及其为何这样分区的原理。

  文件系统重点:inode(索引节点),block(逻辑区块),superblock(每个档案系统开始的位置的那个block,用于存储像是档案系统的大小,空的或填满的区块,以及它各自的总数等等信息)

  磁盘的物理组成:

  圆形的磁盘盘

  机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据)

  主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据

  磁盘盘的物理组成:

  扇区(sector)为最小的物理储存单位,每个扇区为512bytes

  将扇区组成一个圆,那就是磁柱,磁柱是分区的最小单位

  第一个扇区最重要,里面有mbr(主要开机区)及分割表,其中mbr占有446bytes,而分区表则占有64bytes

  磁盘分区:指定分区的起始与结束磁柱

  分区的磁柱范围记录在第一个扇区的分割表中

  Inode:存放权限与属性,有:

  1.该档案的拥有者与群组(owner/group);

  2. 该档案的存取模式(read/write/excute);

  3. 该档案的类型(type);

  4. 该档案建立或状态改变的时间(ctime)、近一次的读取时间(atime)、近修改的时间(mtime);

  5. 该档案的容量;

  6.定义档案特性的旗标(flag),如 SetUID...;

  7. 该档案真正内容的指向 (pointer);

  Data block:存放实际数据

  Superblock:记录整个文件系统的整体信息,包括inode与block的总量,使用量,剩余量等

  由于ext2是索引式文件系统,通常情况下不需要常常进行碎片整理

  如果硬盘文件系统高达数百gb,将所有的inode与block通通放置在一起将是很不智的决定,因为inode与block的数量太庞大,不容易管理;因此ext2文件系统在格式化的时候基本上是区分为多个区块群组(block group)的,每个区块群组都有独立的inode/block/superblock系统

  一个文件系统仅有一个superblock;除了第一个block group内会含有superblock之外,后续的block group不一定含有superblock,而若含有superblock则该superblock主要是作为第一个block group内superblock的备份,可以进行superblock的救援

  Dumpe2fs /dev/hda2:查看hda2分区与superblock的信息

  目录并不只会占用一个block而已,就是说:在目录底下的档案数如果太多而导致一个block无法容纳下所有的档名与inode对照表时,linux会给予该目录多一个block来继续记录先关的数据

  如果档案太过离散,可以将文件系统内的数据全部复制出来,然后将文件系统重新格式化,再讲数据复制回去就可以解决问题

  日志式文件系统:ext3:

  预备:当系统要写入一个档案是,会现在日志记录区块中记录某个档案准备要写入的信息

  实际写入:开始写入当时的权限与数据;开始更新metadata的数据

  结束:完成数据域metadata的更新后,在日志记录区块当中完成该档案的记录

  当文件系统出现不一致的情况后,系统只需要去检查日志记录区块,就可以找到异常的档案,然后针对该档案进行一致性检查即可,而不必针对整块filesystem去检查,达到快速修复filesystem的能力

  常见的支持文件系统有:

  传统文件系统:ext2,mimix,ms-dos,fat(用vfat模块),iso9660(光盘)等等

  日志式文件系统:ext3,reiserfs,windows’sntfs,ibm’s jfs,sgi’s xfs

  网络文件系统:nfs,smbfs

  Linux的标准文件系统是ext2

  查看linux支持的文件系统:ll /lib/modules/$(uname -r)/kernel/fs

  查看系统目前已加载到内存中支持的文件系统:cat /proc/filesystems

  硬连结(不能跨filesystem,不能link目录):通过文件系统的inode连结来产生新档名,而不是产生新档案

  软连结:相当于windows下的快捷方式

  建立连结文件:Ln [-sf] 源文件目标文件

  Linux重新分区后,可能需要重新启动来更新核心的分割表;在不重启的情况下,也可以通过下面的命令来执行:partprobe;partprobe的作用是高职核心必须要读取新的分割表而已

  硬盘分区时,最好在单人维护模式下比较安全一些;在进行fdisk的时候,如果该硬盘的某个partition还在用当中,那么很有可能使系统核心无法重载硬盘的partition table,解决的方法是敬爱那个该使用中的partition给卸除,然后再重新进入fdisk一遍,重新写入partition table,就可以成功了。

  以上便是Linux硬盘分区注意事项及操作步骤,希望能帮助到大家,谢谢。


  • 上一条:
    Linux进程间的关系详解
    下一条:
    Linux信号机制基础知识介绍
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客