admin 管理员组

文章数量: 887679


2024年3月12日发(作者:小吃培训去哪里学最好)

实验报告——黄宗文

1.

基本概念

1.1 ZFS

ZFS源自于Sun Microsystems为Solaris操作系统开发的文件系统。ZFS是一个具有高

存储容量、文件系统与卷管理概念整合、崭新的磁盘逻辑管理的轻量级文件系统,同时也是

一个便捷的存储池管理系统。ZFS是一个使用CDDL协议条款授权的开源项目。ZFS文件系统

的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第

一个128位文件系统。最初是由Sun公司为Solaris 10操作系统开发的文件系统。作为

OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统,

经历了10年的活跃开发。而最新的开发将全面开放,并重新命名为 OpenZFS。

1.2 ZFS存储池

ZFS 使用存储池的概念来管理物理存储。以前,文件系统是在单个物理设备的基础上构

造的。为了利用多个设备和提供数据冗余性,引入了卷管理器的概念来提供单个设备的表示,

以便无需修改文件系统即可利用多个设备。此设计增加了更多复杂性,并最终阻碍了特定文

件系统的继续发展,因为这类文件系统无法控制数据在虚拟卷上的物理放置。ZFS 可完全避

免使用卷管理。ZFS 将设备聚集到存储池中,而不是强制要求创建虚拟卷。存储池描述了存

储的物理特征(设备布局、数据冗余等),并充当可以从其创建文件系统的任意数据存储库。

文件系统不再受限于单个设备,允许它们与池中的所有文件系统共享磁盘空间。您不再需要

预先确定文件系统的大小,因为文件系统会在分配给存储池的磁盘空间内自动增长。添加新

存储器后,无需执行其他操作,池中的所有文件系统即可立即使用所增加的磁盘空间。在许

多方面,存储池与虚拟内存系统相似:将一个内存 DIMM 加入系统时,操作系统并不强迫您

运行命令来配置内存并将其指定给个别进程。系统中的所有进程都会自动使用所增加的内

存。

1.3事务性语义

ZFS 是事务性文件系统,这意味着文件系统状态在磁盘上始终是一致的。传统文件系统

可就地覆盖数据,这意味着如果系统断电(例如,在分配数据块到将其链接到目录中的时间

段内断电),则会使文件系统处于不一致状态。以前,此问题是通过使用fsck命令解决的。

此命令负责检查并验证文件系统状态,并尝试在操作过程中修复任何不一致性。这种文件系

统不一致问题曾给管理员造成巨大困扰,fsck命令并不保证能够解决所有可能的问题。最

近,文件系统引入了日志记录的概念。日志记录过程在单独的日志中记录操作,在系统发生

崩溃时,可以安全地重放该日志。由于数据需要写入两次,因此该过程会引入不必要的开销,

而且通常会导致一组新问题,例如在无法正确地重放日志时。对于事务性文件系统,数据是

使用写复制语义管理的。数据永远不会被覆盖,并且任何操作序列会全部被提交或全部被忽

略。因此,文件系统绝对不会因意外断电或系统崩溃而被损坏。尽管最近写入的数据片段可

能丢失,但是文件系统本身将始终是一致的。此外,只有在写入同步数据(使用 O_DSYNC 标

志写入)后才返回,因此同步数据决不会丢失。事务型文件系统采用类似数据库的事务性操

作,在一次安全的数据写回操作完成时 ,创建一个事务点,保存一个正常状态,然后执行下一

次文件操作,在写回过程中如果发生掉电 、系统崩溃等突发状态,可以回滚到上一个事务点

时刻的文件系统状态,从而保证数据的一致性 。

1.4 RAID

Raid-廉价冗余磁盘阵列是将一对磁盘通过相关的技术连接起来,构成逻辑上的空间。

RAID可以使用诸多磁盘驱动器同时传输数据,在逻辑上他们又是一个磁盘驱动器,用RAID

可以使单个的磁盘驱动器提高数倍的速率。磁盘阵列根据RAID控制器采用的工作模式和算

法不同有不同的级别,分别可以提供不同的速度、安全性和性价比。常用的有RAID0、RAID1、

RAID5。

RAID0-磁盘条带化,又称数据分块,把数据分布在多个盘上,在读写时是以并行的方式

对磁盘同时进行操作。提高了数据访问性能,但是没有冗余。

图 1 RAID0数据存储格式

Fig 1 RAID0 data storage format

RAID1-磁盘镜像,即每个工作磁盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,

读数据时只从工作盘中读出数据。提高了可靠性,但是容量降低了一半。

图 2 RAID1数据存储格式

Fig 2 RAID1 data storage format

RAID5-磁盘条带化并具有分布式校验,采用奇偶校验,校验信息是分散在不同的硬盘驱

动器上的。是一种快速、大容量和容错分布合理的磁盘阵列。


本文标签: 数据 系统 使用 设备 状态