亲宝软件园·资讯

展开

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

人气:0

  本篇文章主要描述了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硬盘分区注意事项及操作步骤,希望能帮助到大家,谢谢。

加载全部内容

相关教程
猜你喜欢
用户评论