没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
ZFS On-Disk Specification
Draft
Sun Microsystems, Inc.
4150 Network Circle
Santa Clara, CA 95054
U.S.A
1
©2006 Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A.
This product or document is protected by copyright and distributed under licenses restricting its
use, copying, distribution, and decompilation. No part of this product or document may be
reproduced in any form by any means without prior written authorization of Sun and its licensors, if
any. Third-party software, including font technology, is copyrighted and licensed from Sun
suppliers.
Parts of the product may be derived from Berkeley BSD systems, licensed from the University of
California.
Sun, Sun Microsystems, the Sun logo, Java, JavaServer Pages, Solaris, and StorEdge are
trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.
U.S. Government Rights Commercial software. Government users are subject to the Sun
Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its
supplements.
DOCUMENTATION IS PROVIDED AS IS AND ALL EXPRESS OR IMPLIED
CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
NON-INFRINGEMENT, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH
DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
Unless otherwise licensed, use of this software is authorized pursuant to the
terms of the license found at: http://developers.sun.com/berkeley_license.html
Ce produit ou document est protégé par un copyright et distribué avec des licences qui en
restreignent l'utilisation, la copie, la distribution, et la décompilation. Aucune partie de ce produit
ou document ne peut être reproduite sous aucune forme, par quelque moyen que ce soit, sans
l'autorisation préalable et écrite de Sun et de ses bailleurs de licence, s'il y en a. Le logiciel détenu
par des tiers, et qui comprend la technologie relative aux polices de caractères, est protégé par un
copyright et licencié par des fournisseurs de Sun.
Des parties de ce produit pourront être dérivées du système Berkeley BSD licenciés par l'Université
de Californie.
Sun, Sun Microsystems, le logo Sun, Java, JavaServer Pages, Solaris, et StorEdge sont des
marques de fabrique ou des marques déposées, de Sun Microsystems, Inc. aux Etats-Unis et dans
d'autres pays.
CETTE PUBLICATION EST FOURNIE EN L'ETAT ET AUCUNE GARANTIE, EXPRESSE
OU IMPLICITE, N'EST ACCORDEE, Y COMPRIS DES GARANTIES CONCERNANT LA
VALEUR MARCHANDE, L'APTITUDE DE LA PUBLICATION A REPONDRE A UNE
UTILISATION PARTICULIERE, OU LE FAIT QU'ELLE NE SOITPAS CONTREFAISANTE
DE PRODUIT DE TIERS. CE DENI DE GARANTIE NE S'APPLIQUERAIT PAS, DANS LA
MESURE OU IL SERAIT TENU JURIDIQUEMENT NUL ET NON AVENU.
2
Table of Contents
Introduction............................................................................................................................5
Chapter One – Virtual Devices (vdevs), Vdev Labels, and Boot Block................................6
Section 1.1: Virtual Devices..............................................................................................6
Section 1.2: Vdev Labels..................................................................................................6
Section 1.2.1: Label Redundancy.................................................................................7
Section 1.2.2: Transactional Two Staged Label Update..............................................7
Section 1.3: Vdev Technical Details..................................................................................8
Section 1.3.1: Blank Space...........................................................................................8
Section 1.3.2: Boot Block Header................................................................................8
Section 1.3.3: Name-Value Pair List...........................................................................8
Section 1.3.4: The Uberblock.....................................................................................12
Section 1.4: Boot Block...................................................................................................14
Chapter Two: Block Pointers and Indirect Blocks................................................................15
Section 2.1: DVA – Data Virtual Address.....................................................................15
Section 2.2 : GRID........................................................................................................16
Section 2.3: GANG.......................................................................................................16
Section 2.4: Checksum..................................................................................................17
Section 2.5: Compression..............................................................................................18
Section 2.6 : Block Size.................................................................................................18
Section 2.7: Endian........................................................................................................19
Section 2.8: Type...........................................................................................................19
Section 2.9: Level..........................................................................................................20
Section 2.10: Fill............................................................................................................20
Section 2.11: Birth Transaction.....................................................................................21
Section 2.12: Padding....................................................................................................21
Chapter Three: Data Management Unit................................................................................22
Section 3.1 : Objects........................................................................................................22
Section 3.2: Object Sets...................................................................................................26
Chapter Four – DSL ............................................................................................................29
Section 4.1 : DSL Infrastructure......................................................................................29
Section 4.2: DSL Implementation Details.......................................................................31
Section 4.3: Dataset Internals..........................................................................................32
Section 4.4: DSL Directory Internals..............................................................................34
Chapter Five – ZAP..............................................................................................................37
Section 5.1: The Micro Zap.............................................................................................38
Section 5.2: The Fat Zap.................................................................................................39
Section 5.2.1: zap_phys_t...........................................................................................39
Section 5.2.2: Pointer Table........................................................................................41
Section 5.2.3: zap_leaf_phys_t...................................................................................41
Section 5.2.4 : zap_leaf_chunk...................................................................................43
Chapter Six – ZPL................................................................................................................45
Section 6.1: ZPL Filesystem Layout................................................................................45
Section 6.2: Directories and Directory Traversal.............................................................45
Section 6.3: ZFS Access Control Lists............................................................................47
3
Chapter Seven – ZFS Intent Log........................................................................................51
Section 7.1: ZIL header...................................................................................................51
Section 7.2: ZIL blocks....................................................................................................52
Chapter Eight – ZVOL (ZFS volume)..................................................................................55
4
Introduction
ZFS is a new filesystem technology that provides immense capacity (128-bit), provable
data integrity, always-consistent on-disk format, self-optimizing performance, and real-time
remote replication.
ZFS departs from traditional filesystems by eliminating the concept of volumes. Instead,
ZFS filesystems share a common storage pool consisting of writeable storage media.
Media can be added or removed from the pool as filesystem capacity requirements change.
Filesystems dynamically grow and shrink as needed without the need to re-partition
underlying storage.
ZFS provides a truly consistent on-disk format, but using a copy on write (COW)
transaction model. This model ensures that on disk data is never overwritten and all on disk
updates are done atomically.
The ZFS software is comprised of seven distinct pieces: the SPA (Storage Pool Allocator),
the DSL (Dataset and Snapshot Layer), the DMU (Data Management Layer), the ZAP
(ZFS Attribute Processor), the ZPL (ZFS Posix layer), the ZIL (ZFS Intent Log), and
ZVOL (ZFS Volume). The on-disk structures associated with each of these pieces are
explained in the following chapters: SPA (Chapters 1 and 2), DSL (Chapter 5), DMU
(Chapter 3), ZAP (Chapter 4), ZPL (Chapter 6), ZIL (Chapter 7), ZVOL (Chapter 8).
5
剩余54页未读,继续阅读
资源评论
- overbai2014-09-19深入立即zfs必看。很好。
天外飞狐
- 粉丝: 6
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功