技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维 --> linux磁盘管理学习笔记(上)

linux磁盘管理学习笔记(上)

浏览:3108次  出处信息

要玩儿转linux,磁盘管理是必须的,为期三篇的文章,就详细将一下Linux磁盘管理吧。
本篇主要讲一下磁盘的相关基础知识。

首先说说硬盘基础知识

硬盘最小的物理组成单位为扇区(sector),数个扇区组成同心圆时,就成为柱面(cylinder)。

1个硬盘分为两个区域,一个是MBR(主引导分区),一个是数据区域。

MBR里记录了两个重要信息,分别是引导程序与磁盘分区表。

分区表定义了“第n个磁盘块是从第x个柱面到第y个柱面”,所以,系统每次都取n磁盘块时,就只会读取第x到第y个扇区之间数据。

由于MBR容量有限,设计的时候,就只有设计成4个分区记录,4个主分区或者3个主分区和一个扩展分区。

如果超过四个分区,系统允许在额外的硬盘空间放另一份磁盘分区信息,那就是扩展分区,当硬盘被出一个扩展分区的时候,实际上扩展分区在MBR磁盘分区表中的信息为另外那份分区表的位置。所以,在扩展分区里面还要划分逻辑分区才能使用。
主分区每个硬盘最多只允许4个,其他的分区只能放在扩展分区中。


一个磁盘扇区512个字节,操作系统引进逻辑块概念,加快磁头读取扇区速度,一个逻辑块只能保存1个文件,如果分配磁盘空间的时候,划分大块,而存储的都是小文件,就会造成磁盘空间浪费。


磁盘分区时,每个分区就是一个文件系统,每个文件系统的第一个块,为超级块,保存了当前文件系统的相关信息。


磁盘的基本知识就是这样啦,windows和Linux是通用的,在windows下也是只能建立4个分区的。


下面再讲讲linux下的文件系统ext2

ext2文件系统把linux文件分为属性和内容两部分,在ext2中,分为inode和块分别存储文件的属性(包括属性信息,文件内容块指针)和文件内容。所以,分区格式化为ext2时,就必须要指定inode与块大小。

接下来说说linux如何读取一个文件内容
目录:
建立一个目录时,ext2给该目录分配一个inode和至少一个块。inode记录该目录的相关属性,和目录的块指针。块记录在这个目录下的相关文件(或目录)的关联性。
文件:
建立文件时,ext2会给该文件分配至少一个inode与对于该文件大小的块数量。inode本身不记录文件名,而是记录文件的相关属性,文件名记录在目录所属块块中。文件相关连接都会记录在目录块数据区。所以读取一个文件内容时,linux会先由根(/)递归获取该文件的上级目录所在inode,再由该目录所记录的文件关联性获取该文件的inode,最后通过inode内提供的块指针来获取最终文件内容。

一个分区所能容纳的最大文件数和inode的数量有关,因为一个文件至少占一个inode。

一个目录下面的文件数太多,无法容纳所有相关信息,linux就会给予该目录多个块继续记录关联数据。


通常inode数量设置为“分区容量”除以“一个inode预计要控制的容量”。
比如:
若块规划为4K,假设一个inode控制两个块,即一个文件大小在8k左右,分区容量为1G,则inode数量inode数量有:(1G*1024M/G*1024K/M)/(8K)=131072个。而一个inode占128个字节,则inode表为16M,也就是说1G分区,没有使用前,已经少了16M容量。


因此inode数量比块多是没有意义的。
块越小,inode数量越多,可利用的空间就越多,但大文件写入的效率就差,适用于小文件系统。
块越大,inode数量越少,大文件写入效率较好,但可能浪费更多时间,使用大文件系统。


基础知识就是这么多啦,相信大家对Linux磁盘管理有了大体的了解,接下来几篇就会讲讲linux磁盘管理的具体操作命令了。

-CONTINUE-

建议继续学习:

  1. 提升磁盘IO性能的几个技巧    (阅读:7604)
  2. 如何查看Linux 硬件配置信息    (阅读:5863)
  3. 确保数据存入磁盘    (阅读:4850)
  4. linux磁盘管理学习笔记(下):linux分区、挂载    (阅读:3089)
  5. linux磁盘管理学习笔记(中):df命令、du命令    (阅读:2869)
  6. 关于磁盘的一些知识点    (阅读:2853)
  7. 使用Pure-ftpd和Pure-ftpd-mysql进行FTP权限和磁盘配额管理    (阅读:2914)
  8. LVM介绍    (阅读:2805)
  9. 使用smartmontools监控磁盘状况    (阅读:2742)
  10. 数据的存储介质-磁盘的RAID    (阅读:2675)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1