精华内容
下载资源
问答
  • 系统读写文件过程中,如下面内核打印信息,报告读写某个扇区错误。那么我们如何能够通过sector找到读写哪个文件错误?kernel: end_request: I/O error, dev sdb, sector419134992物理扇区与文件对应关系计算以下面...

    系统读写文件过程中,如下面内核打印信息,报告读写某个扇区错误。那么我们如何能够通过sector找到读写哪个文件错误?

    kernel: end_request: I/O error, dev sdb, sector 41913499

    2               物理扇区与文件对应关系计算

    以下面打印信息为例。 kernel: end_request: I/O error, dev sdb, sector 41913499

    2.1第一步:通过sector找到所在分区

    内核打印的sector是硬盘上的物理扇区。如上例,我们可以知道磁盘是/dev/sdb。而   sector 41913499属于哪个分区?/dev/sdb1?/dev/sdb2?还是其他?

    通过命令fdisk -lu /dev/sdb,可以看到各个分区的容量大小,也就知道每个分区的起始sector和结束sector。

    这样就可计算出sector 41913499属于哪个分区/dev/sdb2。

    2.2               第二步:计算分区上文件系统起始sector

    对于ext2文件系统/dev/sdb2,该分区上文件系统起始sector为24595515

    Device Boot      Start         End      Blocks   Id  System

    /dev/sdb1              63    24595514    12297726   83  Linux

    /dev/sdb2        24595515    41929649     8667067+  83  Linux

    2.3               第三步:计算报错扇区在分区文件系统内的blocks值(即文件系统内的偏移量)

    Blocks值= (出错扇区– 分区起始扇区)/ 8

    dev sdb, sector 41913499,该扇区在/dev/sdc2文件系统上的    blocks值为: blocks=(41913499 – 分区起始扇区)/8 = (41913499 - 24595515)/8 = 2164748

    2.4               第四步:通过文件系统的blocks值计算出inode值

    debugfs  icheck 值>

    对于/dev/sdb2上的文件系统来说,block 2164748对应的inode值为527790。如下图。

    2.5               第五步:通过inode值,找到具体文件名(是绝对路径)

    debugfs  ncheck

    对于/dev/sdb2上的文件系统来说,inode 527790对应的文件为/e2fsprogs-1.41.14/version.h。也就是访问文件version.h时出现读写错误。

    3               转换方法验证

    我们通过blktrace来验证访问/e2fsprogs-1.41.14/version.h所占用的硬盘上物理扇区。

    root@ubuntu:/data2/e2fsprogs-1.41.14# echo 1 > /proc/sys/vm/drop_caches

    root@ubuntu:/data2/e2fsprogs-1.41.14# md5sum version.h

    6173fbb937f8dc3b315ff8853007d490  version.h

    展开全文
  • 1:可以分为主分区,扩展分区,逻辑分区 2:硬盘采用hdX格式表示,X代表 a .b.c.d 3:系统最多只有4个IDE设备,其中...主分区:一个硬盘最多有四个主分区,主分区采用hdXN格式,hdX为硬盘,N是1到4数字,分表

    1:可以分为主分区扩展分区逻辑分区

    2:硬盘采用hdX格式表示,X代表 a .b.c.d

    3:系统最多只有4个IDE设备,其中一个IDE设备称为had,第四个称为hdd。


    IDE:并行数据传输接口,一般包括IDE硬盘,IDE光驱,最多只能装四个,要设置主从关系,

    主分区:一个硬盘最多有四个主分区,主分区采用hdXN的格式,hdX为硬盘,N是1到4的数字,分表表示4个主分区,第一个硬盘的主分区是hda1,以此类推。

    扩展分区:扩展分区作为特殊的主分区需要占用硬盘分区表中四个分区记录的一个记录。

    逻辑分区:逻辑分区只能建立在扩展分区中,可以建立文件系统,逻辑分区同样采用了hdXN的格式,区别在于。逻辑分区从5开始算的。例如:第一个硬盘的第二个逻辑分区是hda6。

    文件系统:EXT2和EXT3都是Linux操作系统中默认使用的文件系统,EXT3属于日志文件系统。swap文件系统linux交换分区中使用,也是Linux默认支持的,大小一般是系统内存的两倍


    *Linux文件是以树的形式,分为目录和普通文件。目录或文件的名称长度不能超过255个字节。


    以下是对Centos目录结构中根目录下每个目录的简单介绍:

    /:   根目录,一般根目录只存目录,不要存放目录,/etc,/bin,/dev,/lib,/sbin和根目录放在同一个分区中。

    /bin:/usr/bin:   是可执行二进制目录,比如常用的命令  tar   ls   mv   cat 等命令。

    /boot:   放置Linux启动的一些文件。/boot/vmlinuz 是Linux的内核文件。

    /dev:   存放Linux系统下的设备文件,访问该设备下的文件相当于访问某个设备,常用的是挂在光驱  /mount /dev/cdrom /mnt

    /etc:   是系统配置目录 ,其中重要的配置的文件有  /etc/inittab,  /etc/gateways,  /etc/resolv.conf,   /ets/sysconfig 等等

    /home:   系统默认用户的家目录

    /lib:/usr/lib:/usr/local/lib:   是系统使用的函数库。

    /last+fount:   系统异常产生错误是会将一些遗失的碎片存放在此目录下。

    /mnt/:nedia:   光盘默认挂载点,通常光盘挂载于mnt/cdrom下。

    /opt:   给主机安装额外的软件所摆放的目录。

    /root:   管理员的默认目录。

    /sbin:/usr/sbin:/usr/local/sbin:  放置系统管理员所用的命令目录。

    /tmp:   一般用户或正在执行的临时文件放在此目录下。

    /srv:   服务启动之后需要访问的数据目录。

    /usr:   应用程序存放的目录。

    /var:   存放系统执行过程中经常变化的问件。

              /var/log:随时更改的日志文件

              /var/log/message:所有的登录文件目录

              /var/spool/mail:邮件存放的目录

              /var/run:程序或服务启动

    展开全文
  • /media下,不同用户有不同目录,root并列可能是zhang_san li_si其他硬盘挂载在这里。LV(Logical Volume)是逻辑卷,逻辑卷最终是给用户使用物理设备包括:物理磁盘/dev/sdb、物理分区/dev/sdb1等swap:就是内存...

    50c4719a80fb9c1d53cd82a77d948e7c.png

    /media下,不同用户有不同目录,和root并列的可能是zhang_san li_si

    79e5fa2de4798a55f1510ccfb4809711.png

    其他硬盘挂载在这里。

    LV(Logical Volume)是逻辑卷,逻辑卷最终是给用户使用的

    物理设备包括:物理磁盘/dev/sdb、物理分区/dev/sdb1等

    swap:就是内存交换空间。由于swap并不会使用到目录树的挂载,因此用swap就不需要指定挂载点(cd不进去)

    挂载一个分区时,必须为其指定一个目录作为挂靠点(就叫做挂载点),用户时通过这个目录来访问设备里的文件和数据

    3卸载文件系统时,可以通过卸载挂载点或者文件设备。因为文件设备可以挂载到多个目录下,所以建议卸载挂载点

    >mkdir /media/root/my_test

    mkdir: 无法创建目录"/media/root/my_test": 设备上没有空间

    mkdir /media/root/software/my_test就正常

    因为

    文件系统 容量 已用 可用 已用% 挂载点
    /dev/sdc1 932G 863G 70G 93% /media/root/software
    /dev/mapper/ubuntu--vg-root 116G 116G 0 100% /

    (Linux把 设备 映射成/dev目录下的 系统文件,

    SCSI、SATA、SAS等接口的硬盘设备映射的文件名称前缀为“sd”(部分虚拟机或者云主机的名称可能是其他的,比如“vd”),

    后面拼接从“a”开始一直到“z”用来区分不同的硬盘设备,在硬盘名称后面拼接数字形式的分区号用来区分不同的分区。)

    gparted显示:

    907174824d7cd561b64a4706a7784589.png

    物理分区sda2挂载在ubuntu--vg

    敲df,不能显示sda2的信息

    ubuntu--vg-root满了,说明ubuntu--vg满了,所以sda2这个物理分区满了?

    4a7ad619a40f114af4e81c471991b8e9.png

    dm是device mapper的意思

    Linux磁盘分区和逻辑卷详解_Linux教程_Linux公社-Linux系统门户网站

    展开全文
  • 文件系统硬盘

    2012-07-20 22:13:00
    以前比较多地关注存储系统的层级系统,而对于文件系统硬盘之间的关系一直忽略了,这些天在看opentack架构,对这部分比较感兴趣,就查了一下。之前只知道内存与硬盘之间的交互关系,也即虚拟存储器(包括页式存储...

    以前比较多地关注存储系统的层级系统,而对于文件系统与硬盘之间的关系一直忽略了,这些天在看opentack架构,对这部分比较感兴趣,就查了一下。之前只知道内存与硬盘之间的交互关系,也即虚拟存储器(包括页式存储和页表的多级索引)的概念,而对于文件系统与硬盘,其实是另外一个系统,直接inode+block进行索引,下面这篇文章说的比较明白。

    http://guafei.iteye.com/blog/1061281

     

    文件系统是建立在硬盘上面的

    扇区(Sector)为最小的物理储存单位,每个扇区为 512 bytes;
    将扇区组成一个圆,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小单位;
    第一个扇区最重要,里面有:(1)主要开机区(Master boot record, MBR)及分割表(partition
    table), 其中 MBR 占有 446 bytes,而 partition table 则占有 64 bytes。

    为什么要进行格式化,就是讲硬盘格式化成操作系统能识别的文件系统,存储信息

    linux的文件系统EXT2有三个部分:inode,data block ,superblock
    superblock:记彔此 filesystem 的整体信息,包括 inode/block 的总量、使用量、剩余量, 以
    及文件系统格式不相关信息等;
    inode:记彔档案的属性,一个档案占用一个 inode,同时记彔此档案癿数据所在的block 号码;
    block:实际记彔档案的内容,若档案太大时,会占用多个 block

    EXT2是索引式文件系统哦,通过inode直接记录数据的block号,进行数据的查找
    FAT是闪存式文件系统,它没有inode,读取数据时,是通过类似与链表来读各个block,当block块比较分散的时候,那么就比较麻烦了,windows的磁盘碎片整理就是把空余的block整理下,方便数据的读取。而EXT2基本上不用进行磁盘的碎片整理。
    详细可以看书本的244页

    在格式化硬盘的时候,inode和block的大小都已经确定下来了。
    原则上,block 的大小不数量在格式化完就不能够再改发了(除非重新格式化);
    每个 block 内最多叧能够放置一个档案的数据;
    承上,如果档案大于 block 的大小,则一个档案会占用多个 block 数量;
    承上,若档案小于 block ,则该 block 癿剩余容量就不能够再被使用了(磁盘空间会浪费)

    既然大的 block 可能会产生较严重的磁盘容量浪费,那举我们是否就将 block 大小订为 1K 即可?
    这也不妥,因为如果 block 较小的话,那举大型档案将会占用数量更多的 block ,而 inode 也要记彔
    更多癿 block 号码,此时将可能寻致文件系统不良的读写效能。

    inode和block等都是分块管理的,就是许多data block组合成一个块。

    在整体的规划当中,文件系统最前面有一个启动扇区(boot sector),这个启动扇区可以安装开机管理程
    序, 这是个非帯重要的设计,因为如此一来我们就能够将不同的开机管理程序安装到个别的文件系统
    最前端,而不用覆盖整颗硬盘唯一的MBR, 这样才能能够制作出多重引导的环境啊!

    inode分析:
    每个 inode 大小均固定为 128 bytes;
    每个档案都仅会占用一个 inode 而已;
    承上,因此文件系统能够建立的档案数量不 inode 的数量有关;
    系统读取档案时需要先找到 inode,分析 inode 所记彔的权限不用户是否符合,若符合才能
    够开始实际读取 block 的内容

    Superblock 是非帯重要,因为我们这个文件系统癿基本信息都写在这里,因此,如果 superblock
    死掉了, 你的文件系统可能就需要花费很多时间去挽救啦!一般来说, superblock 癿大小为
    1024bytes。

    block bitmap (区块对照表)
    inode bitmap (inode 对照表)

    使用dumpe2fs命令可以查看三个部分的详细信息

    目录与inode/block的关系:
    当我们在 Linux 下的 ext2 文件系统建立一个目录时, ext2 会分配一个 inode 不至少一块 block 给该
    目彔。其中,inode 记彔该目彔的相关权限和属性,并可记彔分配到的那块 block 号码; 而 block 则
    是记彔在这个目彔下的文件名和该文件名占用的 inode 号码数据。

    EXT2文件系统读取档案,也是通过inode和block来进行的,具体步骤可以参考书本的252页
    新增档案的话,也是有步骤的,具体看252-253

    当在写入数据的时候,突然断电,假使inode table和data table已经更新了,但是block还没有写入,那么就造成数据的不一致,虽然linux在重启的时候会扫描整个硬盘来检查,但是这样的效率实在太低来,所以
    日志文件系统产生了,在filesystem中划出一块区域,来存放数据的写入信息,当发生错误时可以直接查看日志文件就可以了。
    EXT2和EXT3的区别就是后者增加了文件系统

    我们知道内存的速度要比硬盘快,因此如果能够将帯用癿档案放置到内存当中,这不就会增加系统
    性能吗? 没错!是有这样的想法!因此我们 Linux 系统上面文件系统和内存有非常大的关系喔:
    系统会将帯用癿档案数据放置到主存储器癿缓冲区,以加速文件系统癿读/写;
    承上,因此 Linux 癿物理内存最后都会被用光!这是正帯癿情冴!可加速系统效能;
    你可以扃劢使用 sync 来强迫内存中讴定为 Dirty 癿档案回写到磁盘中;
    若正帯关机时,关机挃令会主劢呼叨 sync 来将内存癿数据回写入磁盘内;
    但若丌正帯关机(如跳电、当机戒其他丌明原因),由亍数据尚未回写到磁盘内, 因此重新吪劢后
    可能会花徆多时间在迚行磁盘检验,甚至可能寻致文件系统癿损毁(非磁盘损毁)。

    每个文件系统都有独立的inode/block/superblock等信息,这个文件系统要能够链接到目录才能给我们使用,将文件系统链接到目录的过程叫做挂载
    每个分区都是一个独立的文件系统,比如你分区的时候分了/ /home /boot  那么就有三个文件系统与之对应

    linux是通过VFS(Virtual Filesystem Switch)来控制文件系统。通过这个使用者可以不关心所对应的文件系统是什么格式的。
    命令df查看磁盘的使用情况,主要是读取superblock部分的内容

    如果使用df -a那么系统会出现/proc这个挂载点,但是里面的东西为0,因为这个里面的东西都是挂载到内存中的,所以不占硬盘的任何空间
    du这个命令会直接到文件系统内去搜寻所有的档案数据,所以使用这个命令会比较慢点

    linux下创建类似与windows的快捷方式叫做Symbolic Link,创建的命令是:ln -s filename filelink  这个如果删除了主文件,那么就会出错,找不到文件。
    linux下还有一种创建快捷方式叫做hard link,创建的命令是:ls filename filelink   这个如果删除了住文件,不会出错,还是能找到
    一个空目录下面会存在.和..两个目录。当我们建立新目录的时候,新目录的link数是2个(/tmp/test和/tmp/test/.),而且上级目录会增加一个link(/tmp/test/..)
    进行磁盘分区格式化等命令fdisk,而df是查看磁盘的使用情况

    在命令行下进行磁盘的分区等操作需要看这一章

    磁盘格式化命令mkfs。mkfs -t ext3 /dev/hdc6   但是它不能指定文件系统的block,inode等大小,指定这种大小可以用命令 mke2fs
    fsck检查文件系统是否出错。至于badblocks则是用来检查硬盘或软盘区有没有坏轨指令

     

    转载于:https://www.cnblogs.com/EE-NovRain/archive/2012/07/20/2601765.html

    展开全文
  • 总第90篇本篇主要梳理Linux系统中文件存储结构,并在此基础上归纳硬盘管理操作,从而可以熟练掌握文件系统的使用方法。1.从/开始 Linux系统中 一切都是文件,一切文件都是从根目录/开始,并按文件系统层次化...
  • 今天我们就介绍一下Linux存储子系统中的硬盘与RAID相关内容,后面再写一篇关于LVM与文件系统的内容。硬盘在Linux存储子系统中,最底层就是硬盘了。这里的硬盘并不是指我们看到的硬盘硬件,而是指...
  • (1)为什么要进行硬盘分区:更容易管理控制系统,因为相关的文件和目录都放在一个分区中;系统效率更高;可以限制用户使用硬盘的份额(磁盘空间的大小);更容易备份恢复 (2)硬盘的逻辑结构: 块:盘片上寻址(访问)的最小...
  • 硬件设备与文件名的对应关系 硬盘的结构及硬盘分区 为什么进行硬盘分区 硬盘的逻辑结构 Linux系统硬盘的分区 硬盘分区的分类 分区数量的约束 使用fdiskpartprobe命令来管理硬盘分区 fdisk 命令的功能 fdisk命令...
  • aix-逻辑卷和文件系统的关系

    千次阅读 2014-06-24 10:09:44
    创建文件系统可以选择在已经有lv上,也可以让系统自动创建lv再格式化成文件系统。 resize 文件系统则 lv 就跟着一起resize了。   “逻辑卷”是“设备”,可以用命令“ls /dev”来查找创建逻辑卷是否...
  • 硬件设备与文件名的对应关系 硬盘的结构及硬盘分区 为什么进行硬盘分区 硬盘的逻辑结构 Linux系统硬盘的分区 硬盘分区的分类 分区数量的约束 使用fdiskpartprobe命令来管理硬盘分区 fdisk 命令的功能 fdisk命令...
  • 一. 硬件设备与文件名(系统)的对应关系(映射关系如下图)【挂载】 掌握在Linux系统中,每个设备都被当初一个文件来对待。 掌握各种设备在Linux中的文件名 二 硬盘的结构及硬盘分区 了解为什么要进行硬盘分区...
  • 硬件设备与文件名的对应关系硬盘的结构及硬盘分区为什么进行硬盘分区硬盘的逻辑结构Linux系统硬盘的分区硬盘分区的分类分区数量的约束使用fdiskpartprobe命令来管理硬盘分区fdisk 命令的功能fdisk命令列表中常用...
  • 硬件设备与文件名的对应关系 硬盘的结构及硬盘分区 为什么进行硬盘分区 硬盘的逻辑结构 Linux系统硬盘的分区 硬盘分区的分类 分区数量的约束 使用fdiskpartprobe命令来管理硬盘分区 fdisk 命令的功能 fdisk命令...
  • 均采用inode(索引节点)+block(元数据)方式来存放文件,所应节点inode用来记录文件相关信息,是一个包含文件长度,创建及修改时间,权限,所属关系,磁盘中位置等信息结构,linux每个分区都是一个文件系统,...
  • 四、版本冲突 有些应用程序需调用特定版本动态链接库DLL,如果在安装软件时,旧版本DLL覆盖了新版本DLL,或者删除应用程序时,误删了有用DLL文件,就可能使上述调用失败,从而出现“蓝屏”。...
  • 学习linux运维必须要了解硬盘分区等核心问题,本文教你如何管理Linux磁盘和文件系统,如何管理Liux磁盘和文件系统,下面我们一起来看看吧! 硬件设备与文件名对应关系(详见linux系统管理P297) 掌握在Linux...
  • 硬件设备与文件名的对应关系硬盘的结构及硬盘分区为什么进行硬盘分区硬盘的逻辑结构Linux系统硬盘的分区硬盘分区的分类分区数量的约束使用fdiskpartprobe命令来管理硬盘分区fdisk 命令的功能fdisk命令列表中常用...
  • 如果,数据不断地在内存与磁盘简进行写入读取,会导致效率很低,因此,部分数据没有直接写入硬盘,而是存在内存中,等到后面一次性写入硬盘异步处理1.基本概念 当系统加载一个文件到内存中后 如果该文件没有被...
  • 首先先来了解一下windows下页面文件:页面文件是指操作系统用来构建虚拟内存的硬盘空间。要整理页面文件,首先将页面文件从原先所在驱动器移动到其他驱动器,然后对原来驱动器进行整理,最后再将页面文件移回到原...
  • LINUX内核和文件系统

    2009-05-26 22:58:00
    最近一直在思考LINUX内核和文件系统之间的关系,下午在公交车上略微明白了些,恍然大悟。按我的理解,其实文件系统按照存在的位置可以分为两种:一种是位于内存的文件系统,另外一种位于硬盘等存储设备上。我指的是...
  • Linux分区和文件系统

    千次阅读 2014-01-17 19:18:28
    安装Linux遇到的第一个比较重要的问题,恐怕就是分区创建文件系统了,由于大家基本都具有windows的使用经验,所以这里先拿大家再熟悉不过的windows的磁盘管理著名的分区软件PQ来简单说明下分区和文件系统的关系 ...
  • 首先感谢原博主,看完大神对逻辑卷和文件系统的讲解,茅塞顿开,于是决定转载一下(原链接:https://blog.csdn.net/hj19870806/article/details/7696026): 一、 什么是LVM  LVM是逻辑盘卷管理(Logical Volume ...
  • 当用户在Windows平台上插入新U盘或移动硬盘时,系统会自动弹出需要格式化窗口,提供了3种不同文件格式:NTFS,FAT32,...文件系统是系统对文件存放排列方式,不同格式的文件系统关系到数据是如何在磁盘进行存储...
  • )2、定义3、具体应用4、与fd相关的内核维护的3个数据结构5、socket 文件描述符之间的关系参考 文件描述符(file descriptor) 1、背景(何为文件?) 在Linux操作系统中,可以将一切都看作是文件,包括普通文件...
  • 而嵌入式硬盘录像机所采用的文件系统则与厂商选择的嵌入式操作系统及其研发能力有密切的关系。目前嵌入式硬盘录像机中所采用的嵌入式操作系统有RTOS、pSOS、嵌入式 Linux、VxWorks等,一般也都采用FAT文件系统。  
  • 实际开发中,我们经常需要从外部存储介质(硬盘、光盘、U 盘等)读取数据,或者将程序产生数据存储到文件中,实现“持久化”保存。 有基础同学知道,很多软件系统是将数据存储数据库中;数据库实际也是基于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 617
精华内容 246
关键字:

文件系统和硬盘的关系