??xml version="1.0" encoding="utf-8" standalone="yes"?>视频一区欧美精品,伊人久久大香线蕉精品组织观看 ,欧美一区二区三区啪啪http://www.aygfsteel.com/Victor/category/1565.html享受喧嚣 安于q静zh-cnTue, 27 Feb 2007 10:22:53 GMTTue, 27 Feb 2007 10:22:53 GMT60Linux 文gpȝ_N指??http://www.aygfsteel.com/Victor/articles/5349.htmlVictorVictorTue, 31 May 2005 01:14:00 GMThttp://www.aygfsteel.com/Victor/articles/5349.htmlhttp://www.aygfsteel.com/Victor/comments/5349.htmlhttp://www.aygfsteel.com/Victor/articles/5349.html#Feedback0http://www.aygfsteel.com/Victor/comments/commentRss/5349.htmlhttp://www.aygfsteel.com/Victor/services/trackbacks/5349.html作者:Sheryl Calish

I竟什么是“文件系l”?Sheryl Calish 介绍了这个概念以及它的实际应?/SPAN>

管内核?Linux 的核心,但文件却是用户与操作pȝ交互所采用的主要工兗这?Linux 来说其如此Q这是因为在 UNIX 传统中,它用文?I/O 机制理g讑֤和数据文件?

遗憾的是Q新手通常会؜淆介l?Linux 文gpȝ概念的术语。术?/SPAN>文gpȝ 可以?Linux 文g~制中互换用,用于指代几个不同但相关的概念。除盘分区的具体实例外Q文件系l还指代数据l构以及分区中文件的理Ҏ?/SPAN>

另新手更感困惑的是,该术语还用于指代pȝ中文件的整体l织形式Q目录树。此外,该术语还可以指代目录树中的每个子目录Q如?/home 文gpȝ中。某些h认ؓQ这些目录和子目录不能称作真正意义上的文件系l,除非它们均驻留在各自的磁盘分Z。然而,其他人却其UC文gpȝQ这无疑又增M困惑?/SPAN>

Linux 老手可以从上下文中理解这些术语的含义。而新手却很难在一时半会儿pL别出q样的上下文?

本文的主要目标就是提供够的背景知识Q以帮助您L别此术语的上下文。在阐明文gpȝ术语的细微差别的q程中,您还学习如何将某些非常有用的相兛_具从理论应用上升到实际应用?

本文主要介绍?2.4 ?Linux 内核中的 Linux 盘分区和文件管理系l特性。此外,q介l了 2.6 ?Linux 内核中的新特性?/SPAN>

盘分区概述

Linux ?UNIX 中的基本文g存储单元都是盘分区Q即一个或多个盘的逻辑划分Q操作系l将每个逻辑分区视ؓ独立的磁盘。文件和文g理pȝ“居住”在盘分区中。Linux 这些磁盘分Z备处理,q而通过 /dev 目录中的Ҏ文g使用文g I/O 机制?

有两U类型的讑֤文gQ?/SPAN>?/SPAN>?/SPAN>字符/原始。两者之间的一个重要差别是Q块讑֤被缓Ԍ而字W设备因为没有文件管理系l,所以不被缓册Ӏ在 Oracle 集群文gpȝ (OCFS) 推出之前Q用原始设备是提高 Oracle 数据文g分区性能的常见方法。(在本文的后箋部分Q我们将详细介绍原始讑֤。)

存储在磁盘最开始位|的分区表提供了该磁盘上分区的映。可以?fdisk 命o查看pȝ的分?

# fdisk -l

Disk /dev/hda:240 heads, 63 sectors, 1940 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda            1          286    2162128+   c     Win95 FAT32 (LBA)
/dev/hda2   *     288         1940   12496680    5     Extended
/dev/hda5         288          289      15088+  83     Linux
/dev/hda6         290          844    4195768+  83     Linux
/dev/hda7         845          983    1050808+  82     Linux swap
/dev/hda8         984         1816    6297448+  83     Linux
/dev/hda9        1817         1940     937408+  83     Linux

分区表中的名U?/dev/hda ?/dev/hdd 分别代表 IDE 驱动?1 ?4Q其?hda 代表驱动?1Qhdb 代表驱动?2Q依此类推。驱动器内的分区用数字指代,因此 /dev/hda5 是第一?IDE 驱动器上的第五个分区。对?SCSI 驱动器,使用了类似的命名模式Q?dev/sda to /dev/sdd?

W一至第四个分区保留l主分区Q第五个及随后的分区用于逻辑分区。因此,以上所C的分区表中有一个驱动器 hdaQ它包含一个主分区 hda1、一个扩展分?hda2 和五个逻辑分区 /dev/hda5 ?/dev/hda9。以名称 shmfs 列出的文件系l表C根?Linux 2.4 中的 POSIX 标准挂蝲为特D文件系l的׃n内存文gpȝ?/SPAN>

您可能已l注意到Q在 fdisk 列表?LBA 是括在括号中的。LBA 表示逻辑块寻址Q它硬盘的柱面、块和扇区模式{换ؓU性块~号q行处理?

?Linux 中,分区分ؓd区、扩展分区和逻辑分区。术?/SPAN>d?/SPAN> 是先?x86 pȝ上四个分区限制的遗留产物。与 DOS ?Windows 不同QLinux 可以从主分区或逻辑分区启动。用作逻辑分区占位W的d区称作扩展分区。扩展分区本w拥有指向一个或多个逻辑分区Q它们只是主分区的子分区Q的分区表。在以上?fdisk 列表中,hda2 是一个扩展分区?/SPAN>

文g理pȝ概述

要分区后的盘可用Q必d其上构徏文gpȝ。这U情况下Q通常q将文gpȝUC“分区类型”、“基于磁盘的文gpȝ”和“文件系l类型”。实际上Q可以将q些文gpȝ看作是文件管理系l,q是因ؓ该称呼正体现了它们的功能Q它们通过l护文g上的元数据,使系l上的文件保持状态一致?/SPAN>

Linux 目的特点之一是需要实C每个可用实用E序的多个样式和首选设|的兼容性,而这U兼Ҏ在可用文g理pȝ的选择上体现得最为明显。Linux 内核内部的虚拟文件系l?(VFS) 实现了此选择。VFS 采用了一l可由其他文件管理系l用的基本数据l构。这些数据结构是块、inode、dentryQ或目录文gQ和数据块?/SPAN>

每个分区都包含一个超U块Q用于维护分Z文gpȝ上的信息Q包括一l在每个块中唯一~号?inode、空?inode 的数目以?inode L、数据块L、空闲数据块数和文gpȝ的状态。文件系l的状态有两种Q?/SPAN>q净Q当文g处于未更改状态时Q和?/SPAN>Q当有未写入盘的文件系l更ҎQ。超U块中的一?inode 对应着一个文件?

除文件名外,inode 包含了有x件的所有信息,其中包括Q?/SPAN>

  • 地址
  • cd
  • 大小
  • 所有?/SPAN>
  • Ҏ件数据所在块的引?
  • 文g最后一ơ修改和讉K的时间戳?

可以使用以下命o查看文g?inodeQ?/SPAN>

$ ls -i

正如前面已经提到的,inode 只在块中唯一~号Q且每个分区只有一个超U块Q这是链接无法跨多个分区的原因?/SPAN>

文g名通过 dentry 对象Q用L到的是目录文Ӟ链接C?inode ~号。数据块保存实际的文件数据?/SPAN>

Linux 支持M具备 VFS 定义的基本函数集的文件管理系l。对于像 vfat q样的文件管理系l,Linux 目提供了它自己的设备驱动程序?/SPAN>

您可以从以下输出中看刎ͼ不同的文件管理系l可以存在于同一pȝ的不同分Z?

df -T
Filesystem    Type         1K Blocks    Used      Available   Use%   Mounted on
/dev/hda6     reiserfs     4195632      2015020   2180612     49%    /
/dev/hda5     ext2         14607        3778      10075        8%    /boot
/dev/hda9     reiserfs     937372       202368    735004      22%    /home
/dev/hda8     reiserfs     6297248      3882504   2414744     62%    /opt
shmfs         shm          256220       0         256220       0%    /dev/shm
/dev/hda1     vfat         2159992      1854192   305800      86%    /windows/C

当前QOracle 用户遇到的最常用的文件管理系l是 ext2/ext3、ReiserFSQ不?Oracle 支持Q和 OCFS。以下是?Oracle 分区主要Ҏ的汇总表?/SPAN>

Ҏ?/I> ext2 ext3 ReiserFS3.6Q不?Oracle 支持Q?/I>
最大分区大?/SPAN> 4TB 4TB 16TB
最大文件大?/SPAN> 2GB-4GB 2GB-4GB 8TB
块大?/SPAN> 1KB-4KB 1KB-4KB 只有 4KB
日志功能 ?/SPAN> ?/SPAN> ?/SPAN>
崩溃后重新启?/SPAN> ?/SPAN> ?/SPAN> 非常?/SPAN>
用于恢复清除文g的工?/SPAN> ?/SPAN> ?/SPAN> ?/SPAN>
崩溃后数据的状?/SPAN> 良好 非常?/SPAN> 一?/SPAN>
ACL 支持 ?/SPAN> ?/SPAN> ?/SPAN>
E_?/SPAN> 优秀 良好 良好

׃ ext2 ?ReiserFS 均提供了用户U安全性以及更高效的磁盘空间用等Ҏ,因此管臛_ ext2 实提供了碎片整理工P但几乎不需要这些工兗Ext2 是传l的、事实上的标?Linux 文g理pȝ。它?Red Hat 版本 Linux 的默认文件管理系l,?ReiserFS ?SUSE 的默认文件管理系l。ext2/ext3 的最大文件大实际上取决于所选择的块大小和硬件体pȝ构。ext2 的许多特性之一是它允许q盘分区决定块大小。ReiserFS 技术允许在盘分区中用可变的文g大小Q这是因为它Zq树技术而不是基于范_Q因此除日志功能以外Q高效的I间使用也是其设计所固有的?/SPAN>

日志文g理pȝQ如 ext3 ?ReiserFSQ记录对文gpȝ元数据:inode、空闲块分配映射、inode 映射{的更改。当pȝ崩溃Ӟ可以通过此方式检查日志以获得最q修改的元数据,从而确保快速恢复文件系l。此功能对大型系l尤光要。如果没有此功能Q则在出现硬件故障后Q对?ext2 {文件系l,需要在重新启动时运?fsck 工具。对于大型文件系l,此过E可能要p几个时?/SPAN>

当然Q记录日志需要付Z定的代hQ即需要在处理旉和恢复之间寻求一个^衡。对?ext3Q可以选择日志记录模式Q这些模式允许在L上述q时做出某些自d定?/SPAN>journal 模式Q记录所有文件系l数据,包括数据块和元数据)是最安全但也是最慢的模式。默认模式(UC orderdQ只记录元数据,但在写元数据之前先将数据块写入磁盘,从而在快速恢复和快速性能之间取得折衷。最快的模式?writeback 模式Q该模式只记录元数据。在此模式中Q可能会丢失文g数据Q但文gpȝ自n的完整性将得到l护?/SPAN>

在编写本文档期间QReiser4 刚好已经发布。同 ReiserFS3.6 一PReiserFS4 只记录元数据。与 ReiserFS3.6 不同的是Q它Z新的舞蹈树算法,此算法似乎比q树算法更快。它q可以扩展到使用无数?CPUQ而且在磁盘写入时h内置加密和压~功能?/SPAN>

OCFS ?Oracle 真正应用E序集群 (RAC)、配|文件和数据库文件的指定文g理pȝ。其他文Ӟ甚至?Oracle 软g文gQ将?ext2/ext3 ?ReiserFS 上获得更好的性能?/SPAN>

当前Q就文g理pȝ的选择来讲Q共同的见解是,除少数情况外Qext2、ext3 ?ReiserFS 之间的性能基本相当。然而在各种pȝ的拥护者之间却爆发了激烈的争论。ReiserFS ׃能够处理可变的文件大,因此更适用于具有许多小文g的系l。当Ӟ如果您正要或计划?Linux 上运?Oracle RACQ则可能需要ؓ Oracle 数据文g和配|文件安?OCFS 或用自动存储管?(ASM)?/SPAN>

除了最常见?ext2/ext3 ?ReiserFS 文gpȝ以外QLinux q支持其他本地文件系l,包括 IBM ?jsf ?SGI ?xfs。对传统 UNIX 文gpȝ的支持包?SYSV、BSD、Solaris、Next ?Veritas VxFS。在各个U别支持的其他文件系l包?/SPAN>

  • Microsoft ?fat、ntfs、vfat、fat32
  • IBM ?hpfs (OS/2)
  • Apple ?Macintosh hfs
  • Amiga ?affs
  • Acorn 盘文gpȝ adfs

h意,Oracle 不支持某些文件系l,因此在用这些文件系l时风险自负?

Linux 内核 2.6 版中最重要的新Ҏ是讉K控制列表 (ACL)。ACL 允许Z个或多个用户列表或用L授予对单个文件的使用权限。其他新Ҏ包括:

  • ?CD-ROM 上用的 ISO 9660 文gpȝ的增强支?/SPAN>
  • 可以存储在文件系l中的默认挂载选项
  • 用于加速文件搜索的索引目录
  • ?Windows 的逻辑盘理器(动态磁盘)的支?
  • 能够?ntfs 挂蝲/写,但写仍处于试验状?
  • ?fat12Q旧 DOS 文gpȝQ的增强支持

处理分区和文件系l的工具

要添加一个新盘或调整现有磁盘的大小Q您需要?fdisk ?cfdisk。尽?cfdisk 表面上更易于使用Q但 fdisk 已被证实最适用于磁盘分区。以下是有关使用 Linux 版本 fdisk 的几个原则,帮助您了解其可能得到的结果?/SPAN>

首先Q以用户w䆾用设备名U调?fdiskQ?/SPAN>

# fdisk /dev/hda

The number of cylinders for this disk is set to 1940.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):m

可以通过使用 pQ或 printQ命令显C分。?n ?new 命o可创建新分区Q?w ?write 命o可把新分写入盘。输入新命o后,fdisk 需要知道您要创建逻辑分区q是d区:

Command (m for help):n
Command action
l   logical (5 or over)
p   primary partition (1-4)
l
No free sectors available

Command (m for help):

您可以看刎ͼ如果没有MI闲I间Q如上所C)Q则您将收到以上消息。但如果有空闲空_?fdisk 需要知道您惌的分区号。如果输入“p”(代表d区)Q则您将需要做Z下选择?/SPAN>

Partition number (1-4):

对于逻辑分区Q您需要做Z下选择

Partition number (5 or over):

然后Q您可以输入新分区的起始柱面受?/SPAN>fdisk 推荐一个默认编P如下所C:

First cylinder (1-1940, default 1):1

您可以选择接受此编受接下来Q您需要输入最后一个柱面或分区大小Q?/SPAN>

Last cylinder or +sizeM or +sizeK(1-1940), default 5721:1G

此刻Q?/SPAN>fdisk 假设这是一个常?Linux 分区Q由分区表“ID”列中的十六q制数字 83 标识Q。可以?fdisk 中的 t ?type 命o更改分区cd。可以?l ?list 命o取得 fdisk 的可用分区类型。以下是可用cd的部分列表:

ID System
82 Linux swap
83 Linux
85 Linux extended
8e Linux LVM

必须注意Q在您运?write 命o之前Q您?fdisk 中执行的M操作都将是时的—如果您ZM原因要离开 fdiskQ则q确实很有好处?

重新l织分区和文件管理系l?/SPAN>

׃每个分区都包含各自的文g理pȝQ因此调整分区大涉及调整文件管理系l和分区的大。因此,可用的重新分区工具取决于所用文件管理系l的cd。对?ext2/ext3 pȝQ有一些可以选择?resize2fs ?fdisk、GNU Parted ?Partition Magic l合使用。对?ReiserFSQ只能将 cfdisk ?resize_resiszerfs 搭配使用Q这是因?GNU Parted 对于 ReiserFS 来说仍需改进?/SPAN>

resize2fs ?resize_reiserfs 都可以调整文件管理系l的大小Qƈ要求使用单独的分区大调整程??fdisk ?cfdisk。我本h曾用过 GNU Parted ?ext2 分区q行重新分区。这是一个相当容易用的E序。GNU Parted ?ReiserFS 的支持将来会变得更稳健。Partition Magic 是一个用?DOS ?Windows 的商业程序,但如果从它附带的启动软盘?CD-ROM q行Q则可以用于 Linux ext2/ext3 分区?/SPAN>

管实际的命令取决于您所要更改到的系l,但更Ҏ件管理系l的一般过E涉?/SPAN>

  • 备䆾分区上的文g
  • 删除分区中的文g
  • 如果使用的是 fdiskQ则可能删除一个分Z便ؓ两个更小的分区留出空?/SPAN>
  • 使用相应的命令生成新文gpȝ。例如,要创?ext2 文gpȝQ您可以使用

$ mke2fs /dev/hda5  15088
 
_ ..I

可以随意指定块计敎ͼ如以上命令中?15,088。以上事件序列的唯一例外是用以下命令从 ext2 pȝUL?ext3 pȝ

$tune2fs -j /dev/hda3

但仍应进行备份?/SPAN>

挂蝲分区

仅当h用户权限的用h载了分区Q分区才?Linux 中可用。对?/etc/fstab 文g中列出的 Linux 分区Q系l启动时会自动挂载。对?CD-ROM 和Y盘驱动器Q通常只需单击相应图标卛_?
更多的资?/SPAN>

Linux 技术中?/SPAN>

OCFS

ReiserF/SReiser4

Ext2fs 主页

可与挂蝲选项l合使用的选项取决于文件管理系l。例如,您可以按如下方式指定 ext3 日志选项Q?/SPAN>

$ mount -t ext3 -o data=journaled /dev/hda9 /home

要拆下Y盘或 CD-ROMQ您需要在拆下它之前用以下命令将其卸?/SPAN>

$ umount /media/floppy

?Linux 2.4 之前Q一个文件系l只能挂载一ơ。而现在,不限制文件系l的挂蝲ơ数?

l论

Linux 文gpȝ是一个多斚w的概c本讨论旨在作ؓҎ您自q需要对它的有用性和合意性进行进一步研I的基础?

在本文的W?2 部分中,我们介l集文件系l,其中包括 OCFS?/SPAN>



Victor 2005-05-31 09:14 发表评论
]]>
վ֩ģ壺 | ɽ| Ϫ| | ɽ| | ̩| | | ͬ| | | | ɽ| ¤| | ƽ| Ƹ| ѧ| Զ| Ͻ| е| | | | | | | | | ɽ| ʡ| | ɽ| Т| Թ| | | ʢ| | |