WARNING: This is the _old_ Lustre wiki, and it is in the process of being retired. The information found here is all likely to be out of date. Please search the new wiki for more up to date information.
Architecture - Lustre HLDs
You can access archived Lustre high-level design (HLD) documents in PDF format from this page. You can also download the HLDs in LyX format from the Lustre CVS repository.
Note: The documents accessed from this page reflect the state of design of a Lustre feature at a particular point in time and may contain outdated information.
Checking out HLDs from CVS
Note: The HLD documents have not been migrated to Git. They can still be accessed in the CVS repository.
Assuming you have CVS installed, check out the Lustre HLDs as follows:
1. Set CVSROOT in your environment to :pserver:anonymous@cvs.lustre.org:/lustre.
(Alternately, you can add the option -d :pserver:anonymous@cvs.lustre.org:/lustre when you run cvs login.)
2. Run cvs login. No password is needed. Press Enter to continue.
3. Check out the HLD module (doc/HLD)
Example:
% cvs -d :pserver:anonymous@cvs.lustre.org:/lustre co -P doc/HLD cvs checkout: Updating doc/HLD U doc/HLD/0-conf-HLD.lyx U doc/HLD/Channel Bonding_06_15_09.odt U doc/HLD/Channel_Bonding_06_15_09.pdf U doc/HLD/CollectorHLD.lyx U doc/HLD/End-to-End-Integrity-2009-06-15.pdf U doc/HLD/End-to-End-Integrity-2009-06-15_Changes_Accepted.odt U doc/HLD/FSCK_Design-2009-06-15-09.odt U doc/HLD/FSCK_Design-2009-06-15-09.pdf U doc/HLD/FilterFS_HLD.lyx U doc/HLD/GUI-HLD.lyx U doc/HLD/HPCS_CMD_06_15_09.odt U doc/HLD/HPCS_CMD_06_15_09.pdf U doc/HLD/IO-API-HLD.lyx U doc/HLD/IntervalTree_hld.lyx U doc/HLD/JKD_Wiki_V1_2009_08_07_Lustre_HPCS_Overview.pdf U doc/HLD/LAID.lyx U doc/HLD/LAID5_DLD.lyx ...
HLDs Available as PDFs
For each HLD, a link to the PDF is provided, along with the title, author, date (original and update, if applicable), and synopsis.
2008
Platform-independent Proc Interface | |
Date | 18 September 2008 (updated) / 7 May 2008 (original) |
Author | WangDi, Komal Nawandar |
Synopsis | This document describes how to implement a platform-independent proc interface for Lustre. The basic concept is that the platform-independent proc tree will be maintained in the kernel base, which is similar to the Linux proc tree (called the parameters tree in this HLD). The tree will only be accessed by the lctl params command with ioctl. |
Commit-on-Sharing | |
Date | 8 August 2008 (updated) / 25 April 2008 (original) |
Author | Mike Pershin, Alexander 'Zam' Zarochentsev |
Synopsis | This document outlines the commit-on-sharing feature, which helps recover more clients using version-based recovery. This feature does a 'commit' if any resource has uncommitted changes from more than one node. Therefore, all replays on clients no longer depend on other clients, and clients can recover cleanly even if several clients are missed. |
LNET SMP Performance Improvement | |
Date | 5 August 2008 (updated) / 21 June 2008 (original) |
Author | Liang Zhen |
Synopsis | This document describes LNET scalability improvements, specifically, scalable MD matching and grained locking for LNET. |
Interoperability at the Server-Side | |
Date | 5 August 2008 (updated) / 28 April 2008 (original) |
Author | Rahul Deshmukh |
Synopsis | In older Lustre releases, the metadata server (MDS) and its storage were FID-less. In newer releases, the MDS and its storage are FID-enabled. This document outlines network protocol-related interoperability changes that enable clients to use FID-less and FID-enabled protocols. This document also covers disk interoperability, i.e., a FID-enabled MDS running on a FID-less disk format. |
Lustre client GSS with Linux keyring | |
Date | 22 July 2008 (updated) / 26 March 2007 (original) |
Author | Eric Mei |
Synopsis | This document describes how Lustre will use keyring to populate and manage the client GSS context, to replace the current mechanism which uses pipefs. |
Lustre Capabilities Security Level | |
Date | 20 June 2008 |
Author | Fan Yong |
Synopsis | This document introduces MDS/OSS capabilities to enhance Lustre system security. It defines Lustre capabilities security levels to match different security requirements. This document also describes how Lustre runs under different capabilities security levels. |
Version-based recovery | |
Date | 12 June 2008 (updated) / 11 May 2007 (original) |
Author | Peter Braam, Mike Pershin |
Synopsis | This document describes updates to Lustre version-based recovery. This feature allows clients to replay if the objects that the client is using have exactly the same version as during the original execution. After replay, recovery can complete successfully if the data that clients obtained from servers before recovery is present and has not rolled back. |
Sptlrpc Interoperability | |
Date | 2 June 2008 (updated) / April 2008 (original) |
Author | Eric Mei |
Synopsis | This document outlines the sptlrpc aspect of interoperability during migration from 1.6-based, FID-less, Lustre clients using ldiskfs as a back-end file system, to clusters based on FIDs and the ZFS filesystem. The complete architecture and design for Lustre interoperability is available at Interoperability FIDS ZFS. |
LLog on a New Device Stack | |
Date | 28 May 2008 |
Author | Yury Umanets |
Synopsis | This document describes the design of LLog on a new metadata stack (MDD, OSD and others), which is required for many features in uMDS and uOSS components. This functionality is also needed for better portability, a key requirement for the upcoming Solaris port. |
Metadata write-back cache | |
Date | 12 May 2008 (updated) / 18 December 2007 (original) |
Author | Nikita Danilov |
Synopsis | This document introduces the metadata write-back cache design. Write-back cache is a client and server mechanism for caching metadata operations in a manner similar to the existing cache for data operations. |
Userland proc Interface | |
Date | 7 May 2008 |
Author | WangDi |
Synopsis | This document describes how to implement proc and ioctl mechanisms on the user-base server. The basic concept is that the user-base server maintains a platform-independent tree, and lctl retrieves parameters from the server instead of procfs. Communication between the lctl process and user-base server process will be implemented by socket (implemented in another task). |
Lustre Windows client | |
Date | 8 April 2008 |
Author | Tony Mason |
Synopsis | This document introduces a basic working model for developing a native Lustre client for Windows. It describes several key issues in this implementation. |
CTDB Node and IP Management | |
Date | 26 March 2008 |
Author | Matt Wu |
Synopsis | This document describes CTDB analysis and an improved design on CTDB flexible node/IP management. As part of the Lustre pCIFS project, CTDB improvement focuses on failover support to all pCIFS clients. |
Epochs | |
Date | 19 March 2008 (updated) / 14 February 2008 (original) |
Author | Alexander 'Zam' Zarochentsev |
Synopsis | This document introduces epochs, a collection of file system modifications that is used to merge distributed state updates (both data and metadata) in a redundant cluster configuration. This HLD is based on the Epochs architecture page by Nikita Danilov. |
Subtree locks | |
Date | 13 March 2008 (updated) / 1 February 2008 (original) |
Author | Alexander 'Zam' Zarochentsev, Vladimir Savaliev |
Synopsis | This document covers the design for subtree lock, a lock on a directory which protects the entire namespace (for its part) rooted at that directory. A subtree lock should be optimal for workloads where clients work in isolated directories and not make things worse in highly-contended workloads by resorting to the current client-server locking protocol. |
Fragmentation reporting tool (Bug 10555) | |
Date | 11 March 2008 (updated), 18 June 2007 (original) |
Author | Andreas Dilger, Kalpak Shah |
Synopsis | This document introduces the user interface and internal implementation of an efficient fragmentation reporting tool for ext3/4. The main objective is to easily and efficiently allow inspection of the disk layout of one or more files without requiring user access to each of the underlying OST devices. There are three principal components to this design: ldiskfs interface, Lustre RPC transport for the extent mapping information, and llite interface. |
Client I/O stack layering cleanup | |
Date | 6 March 2008 (updated), 21 May 2007 (original) |
Author | Nikita Danilov |
Synopsis | This document describes updates to the Lustre client I/O stack code, to reduce the number of bugs in the data paths. The main objective is to introduce more systematic layering on the client. |
Bug 14115 - Extended Attributes in dnode | |
Date | 7 February 2008 (updated) / 29 December 2007 (original) |
Author | Girish Shilamkar |
Synopsis | This document discusses how Extended Attributes (EAs) in dnode can meet the requirement of users who would like a mechanism to store EAs much nearer to a file's metadata. |
[[Media:UOSS-filter-objects.pdf|Object handling in uOSS | |
Date | 6 February 2008 (updated) / 6 December 2007 (original) |
Author | Mike Pershin |
Synopsis | This document outlines new uOSS obdfilter code to implement object management such as pre-creation, create-on-write and destroy. |
uMDS Transaction API | |
Date | 5 February 2008 (updated) / 17 January 2008 (original) |
Author | Amit Sharma |
Synopsis | This document outlines the high-level design for the uMDS transaction API task, which aims to replace the old transaction API with the new transaction API. |
Interoperability - client recovery | |
Date | 5 February 2008 (updated) / 22 November 2007 (original) |
Author | Amit Sharma |
Synopsis | This document outlines the high-level design of changes to the 1.6.x client to enable it to recover after any fault when it is running in interoperability mode. |
Changelogs and feeds | |
Date | 30 January 2008 |
Author | Nathan Rutman |
Synopsis | This document describes the design to implement changelogs as a low-level service for rollback logs, replication logs and audit logs. |
Samba oplock/share mode conflicts | |
Date | 16 January 2008 |
Author | Unknown |
Synopsis | This document describes the design for pCIFS multiple open instances support. In default new open request will cause share mode conflicts and extra oplock broken notification, then it prevents pCIFS to function correctly. |
Commit callback for DMU transactions | |
Date | 3 January 2008 (updated) / 24 December 2007 (original) |
Author | Andreas Dilger |
Synopsis | This document outlines implementation of DMU Commit Callback, a mechanism to allow upper layers of the software stack to get asynchronous notification of low-level events, in order to enable a coherent distributed transaction mechanism for Lustre, but without having to know the internal details of transaction mechanism. |
Journal checksums | |
Date | 3 January 2008 (updated) / 23 May 2007 (original0 |
Author | Girish Shilamkar |
Synopsis | This document outlines the design to implement journal checksums to ensure the correctness of the journal befor it is written to disk. This design includes changes to e2fsprogs to do checksum-based recovery and ensure that older e2fsprogs or kernels do not recover the journal when they had been checksummed. This design will also take advantage of checksumming by asynchronously writing the commit record. |
2007
LLog and MountConf via OSD | |
Date | 12 December 2007 (updated) / 8 November 2007 (original) |
Author | Yury Umanets |
Synopsis | This document outlines the design for how the Lustre Log (LLog) will work with OSD. This is required for a number of features in uMDS and uOSS components. The objective is to get rid of the Fsfilt interface in the LLog backend and use OSD as the backing storage interface. Another objective is to re-work LLog to make it suitable for use in a new device stack (via lu_device, lu_object) with uMDS and uOSS. |
Mount permission | |
Date | 10 December 2007 |
Author | Fan Yong |
Synopsis | This document describes the design for new utility (lctl mount_perm) to configure system mount permissions. This utility will allow administrators to grant, revoke, modify and query mount permission configurations for a specified client or list all mount permission configurations in a specified Lustre system. This is a Lustre 1.8 feature. |
MDT base in CMD | |
Date | 21 August 2007 (updated) / 13 April 2006 (original) |
Author | Nikita Danilov |
Synopsis | This document describes changes to the MDT base (for CMD3), to handle network requests, deal with locks, etc. |
FIDs Location Database (FLDs) | |
Date | 21 August 2007 (updated) / 3 February 2006 (original) |
Author | Yury Umanets, Nikita Danilov |
Synopsis | This document outlines the new FIDs Location Database (FLDs), to enable clients and metadata servers to find out what server object with a given FID is stored. |
FIDs | |
Date | 21 August 2007 (updated) / 20 January 2006 (original) |
Author | Yury Umanets |
Synopsis | This document introduces FIDs to make cleanups of the object identification protocol possible for regular Lustre activities, and for write-back caches and proxy nodes. |
Stat-ahead | |
Date | 14 August 2007 (updated) / 16 March 2007 (original) |
Author | Lai Siyao |
Synopsis | This document describes metadata stat-ahead, which is part of metadata improvements. The client will perform metadata stat-ahead when it detects readdir and sequential stat of directory entries therein. |
Remote ACL v2 | |
Date | 8 August 2007 (updated) / 18 October 2007 (original) |
Author | Fan Yong |
Synopsis | This document describes updates to improve defects in the Remote ACL v1 design.
Note: For the original Remote ACL design, see Remote ACL |
Size-on-MDS | |
Date | 21 July 2007 |
Author | Vitaly Fertman |
Synopsis | This document describes the size-on-MDS improvement, which includes the caching of the inode size, blocks, ctime and mtime on the MDS. Attribute caching enables clients to avoid making RPCs to the OSTs to find the attributes encoded in the file objects kept on those OSTs, resulting in significantly-improved performance of listing directories. |
Multiple Mount Protection | |
Date | 25 June 2007 (updated), 3 April 2007 (original) |
Author | Kalpak Shah |
Synopsis | This document introduces the Multiple Mount Protection (MMP) feature, intended to protect the filesystem from being mounted more than one time simultaneously. MMP will also protect changes by e2fsprogs to the filesystem, if the filesystem is mounted. |
e2fsck heuristics for detecting corrupted nodes | |
Date | 21 June 2007 (updated), 6 April 2007 (original) |
Author | Girish Shilamkar |
Synopsis | This document describes new e2fsck functionality, a badness counter, to indicate the extent of inode corruption. If the 'badness' is above a certain threshold, the complete inode is deemed to be corrupt and the inode is deleted. |
MDS and OSS Capabilities | |
Date | 24 May 2007 |
Author | Unknown |
Synopsis | This document describes capabilities design for the MDS and OSS. |
CMD & 1.6.x client request changes | |
Date | 20 May 2007 (updated) / 12 March 2007 (original) |
Author | Lai Siyao |
Synopsis | This document describes how a 1.6.x client chooses different request formats to interoperate with both 1.6 and 1.8 servers. |
Lustre Log ctext reference count | |
Date | 9 May 2007 (updated) / 14 March 2007 (original) |
Author | WangDi |
Synopsis | This document introduces the Lustre Log (LLog) ctxt reference count (refcount) to protect ctxt from being freed improperly during LLog cleanup (Bug 10800). |
LRU resize | |
Date | 2 May 2007 (updated) / 15 March 2007 (original) |
Author | Yury Umanets, Vitaly Fertman |
Synopsis | This document describes fixes to several LRU sizing issues, by introducing a number of solutions to control a client's LRU size (or number of cached locks according to a chosen policy) and to control the average number of locks in a cluster given to clients by servers and have automatic lock LRU size adjustments. |
Ext3 inode versioning | |
Date | 4 April 2007 (updated) / 13 December 2006 (original) |
Author | Andreas Dilger |
Synopsis | This document describes on-disk implementation of inode versions for the ext3 filesystem used by Lustre. Some parts of the design are mandatory, while others are included to make the implementation more useful generally and acceptable to the ext3 community at large. |
FID to inode translation | |
Date | 30 March 2007 (updated) / 12 March 2007 (original) |
Author | Yury Umanets |
Synopsis | This document describes improvements to a new generation policy created in the CMD3 project. The policy is based on FID, as the unique object ID. |
Adaptive RPC timeouts | |
Date | 28 March 2007 |
Author | Eric Barton, Nathan Rutman |
Synopsis | This document describes the new adaptive timeouts feature, which will enable the client's RPC timeout to scale with server congestion. |
CMD3 stability fixing | |
Date | 25 March 2007 (updated) / 15 March 2007 (original) |
Author | Huang Hua |
Synopsis | This document outlines stability fixes, specifically fixes for issues found during the CMD3 timeframe. These fixes should provide more stable baseline code. |
Parallel lock callback | |
Date | 16 February 2007 (updated) / 28 November 2006 (original) |
Author | Niu YaWei |
Synopsis | This document introduces a mechanism to perform LDLM lock callbacks in parallel. |
Grants | |
Date | 29 January 2007 (updated) / 22 January 2007 (original) |
Author | Unknown |
Synopsis | This document explains how space grants work and proposes several alternative strategies for support grants under an I/O scheduler. |
Lustre mmap support | |
Date | 28 January 2007 |
Author | Unknown |
Synopsis | This document describes new mmap support in Lustre, to enable access pages via mmap path to be protected by ldlm extent locks. |
inodebits interoperability feature | |
Date | 28 January 2007 |
Author | Unknown |
Synopsis | This document describes the addition of inodebits interoperability. The inodebits feature is a performance enhancement to parallel directory accesses. It distinguishes a LOOKUP lock (which protects the cached entry and owner/group/mode information) from an UPDATE lock (which protects the directory data itself. |
Splitting directories | |
Date | 22 January 2007 (updated) / 25 August 2006 (original) |
Author | WangDi |
Synopsis | This document introduces the splitting directory feature. In this design, when directory entries exceed a specified limit in CMD, the directory will be split and distributed over several MDSs for load balancing. NOTE: Splitting is just a feature for this cycle, it will be removed after this cycle. |
Enable quota limits greater than 4 GB | |
Date | 22 January 2007 (updated) / 18 July 2006 (original) |
Author | WangDi |
Synopsis | This document describes changes to enable quota limits greater than 4 GB (Bug 10707). |
Interval tree for extent locks | |
Date | 21 January 2007 (updated) / 13 December 2006 (original) |
Author | Huang Wei |
Synopsis | This document introduces a performance improvement in Lustre DLM extent lock management (Bug 11300). |
2006
Patchless TCP Zero Copy Socklnd | |
Date | 6 December 2006 (updated) / 20 November 2006 (original) |
Author | Liang Zhen |
Synopsis | This document describes an update so socklnd will send out an explicit ACK for paged bulk, so the zero-copy patch can be removed. |
CMD3 security layering | |
Date | 29 September 2006 |
Author | Nikita Danilov |
Synopsis | This document describes how the security infrastructure (capabilities, remote users, and remote ACLs) are integrated into the new MDS layering. |
Open recovery | |
Date | 28 August 2006 |
Author | Huang Hua |
Synopsis | This document describes the handling of open recovery in CMD. |
CMD MDS recovery | |
Date | 27 July 2006 |
Author | Mike Pershin |
Synopsis | This document describes basic recovery changes in CMD. |
Open handling on layered MDS | |
Date | 3 July 2006 |
Author | Mike Pershin |
Synopsis | This document describes the handling of open/close requests for files in the new layered MDS environment. |
Group locks | |
Date | 5 May 2006 |
Author | Unknown |
Synopsis | This document introduces functionality to lock files (inodes) for exclusive access by processes belonging to a logical group of processes. |
Optimized stripe assignment (QOS) | |
Date | 24 April 2006 |
Author | Nathan Rutman |
Synopsis | This document describes a new optimization (integrating OSS optimization with QOS). Combining this optimization with several other optimizations enables the allocation of stripes for new files. |
Ping evictor | |
Date | 24 April 2006 (updated) / 22 March 2005 (original) |
Author | Phil Schwan |
Synopsis | This document outlines updates to ping evictor functionality, which causes a client to be evicted if an MDT or OST detects it has not received traffic or an export from some period of time (a percentage of the timeout value). |
CMD with MountConf | |
Date | 2 April 2006 (updated) / 21 March 2005 (original) |
Author | Huang Hua |
Synopsis | This document describes updates to enable MountConf to work in the CMD3 version of Lustre. |
Lustre Parallel CIFs Driver | |
Date | 2 April 2006 (updated) / 11 January 2006 (original) |
Author | Matt Wu |
Synopsis | This document introduces the new Lustre Parallel CIFS (pCIFS) driver to use the osr filter kit to implement parallel I/O dispatching, instead of the original design with the ifskit sfilter. |
GSS policy with Kerberos 5 mechanism | |
Date | 29 March 2006 |
Author | Eric Mei |
Synopsis | This document describes implementation of the GSS policy for the secure PTLRPC framework and the Kerberos 5 mechanism for the GSS policy. |
Create on Write (CROW) | |
Date | 29 March 2006 (updated) / 10 February 2006 (original) |
Author | Yury Umanets |
Synopsis | This document describes the CReate on Write (CROW) feature, where a client sends an RPC to the MDT, and then the MDT creates an object on the OST server using a pre-creation pools approach. |
MDC changes in CMD | |
Date | 27 March 2006 (updated) / 24 March 2006 (original) |
Author | Huang Hua |
Synopsis | This document describes updates to MDC to adapt to new data structures and protocols because of the addition of FIDs. |
OSD API | |
Date | 20 March 2006 (updated) / 27 February 2006 (original) |
Author | Huang Hua |
Synopsis | This document describes updates to the OSD API, based on changes in layering on the MDS. |
LAID locking | |
Date | 23 March 2006 (updated) / 24 January 2006 (original) |
Author | Qian YingJin |
Synopsis | This document introduces a new locking model for mirror LAID and LAID5 to avoid locking across more than one OST. |
Gaps handling simplification | |
Date | 10 March 2006 (updated) / 17 February 2006 (original) |
Author | Huang Hua |
Synopsis | This document describes issues related to the simplification of gaps handling in Lustre. Gap is an issue in Lustre recovery time. Handling gaps correctly, with simplicity, is important. |
CMD orphans handling | |
Date | 9 March 2006 |
Author | Mike Pershin |
Synopsis | This document provides a review of the orphans handling scheme and adaptations to the CMD environment. |
Cascading timeouts | |
Date | 9 March 2006 |
Author | Peter Braam, Alex Tomas |
Synopsis | This document describes the issue of cascading timeouts (caused by nesting requests related to the creation of OST objects from MDS and clustered metadata), and changes to resolve the problem. |
Patch-free Lustre client in Darwin 8.x (Tiger) operating system | |
Date | 8 March 2006 (updated) / 7 February 2006 (original) |
Author | Liang Zhen |
Synopsis | This document describes how to construct a patch-free Lustre client in the Darwin 8.x (Tiger) operating system. |
Network resource handling | |
Date | 8 March 2006 (updated) / 1 March 2006 (original) |
Author | WangDi |
Synopsis | This document describes the move of network-level resource handling from OSD/MDD to MDT/OST, with support from the MDD and OSD layer. |
readdir | |
Date | 7 March 2006 (updated) / 25 January 2006 (original) |
Author | WangDi |
Synopsis | This document describes making readdir POSIX-compliant, especially for split directory nodes. |
CMD server API | |
Date | 6 March 2006 / 25 January 2006 (original) |
Author | Huang Hua, Mike Pershin |
Synopsis | This document introduces the design of the clustered metadata server (CMD) environment in Lustre. CMD will overcome the limitations of Lustre having only one active metadata server in a cluster (with all metadata managed by this server). |
Security API and null policy | |
Date | 6 March 2006 |
Author | Eric Mei |
Synopsis | This document outlines the general framework for the security API, which will provide security service to PTLRPC (sptlrpc) and a policy module to implement the current "no security" scenario (i.e. the null policy). |
CMD rollback | |
Date | 2 March 2006 |
Author | Peter Braam, Mike Pershin |
Synopsis | This document describes rollback, a recovery mechanism for a cluster of metadata servers (CMD). In rollback, nodes will engage in a distributed algorithm that restores the disk state to a snapshot based on an undo log.
NOTE: This HLD supercedes Rollback |
Networking for MDT/OST | |
Date | 27 February 2006 (updated) / 13 February 2006 (original) |
Author | Niu YaWei |
Synopsis | This document describes networking elements (exports and imports, network recovery and DLM locks) that will move into the MDT and OST layers with the new MDS. |
MDS layering | |
Date | 27 February 2006 |
Author | Mike Pershin |
Synopsis | This document describes server layers and their functionality based on requirements of the MDS design. |
Client metadata API | |
Date | 27 February 2006 (updated) / 23 February 2006 (original) |
Author | Alex Tomas, Yury Umanets |
Synopsis | This document outlines the design for a metadata API to build a stackable, portable client. |
LAID5 | |
Date | 23 February 2006 (updated) |
Author | Unknown |
Synopsis | This document describes enhancements to the LOV layer to implement the data layout pattern LAID5. |
MDS on OSD | |
Date | 27 February 2006 (updated) / 17 January 2006 (original) |
Author | WangDi |
Synopsis | This document describes how the MDD works based on OSD and what kind of OSD support is needed for the MDD. |
CMD rename locking | |
Date | 9 February 2006 (updated) / 24 January 2006 (original) |
Author | Niu Yawei |
Synopsis | This document describes the design for the CME rename locking feature. |
lustre_msg v2 | |
Date | 5 February 2006 (updated) / 11 January 2006 (original) |
Author | Lai Siyao |
Synopsis | This document describes a new version (v2) of lustre_msg that will support lustre_msg embedding, hide RPC-specific data, support security and keep protocol compatible. |
Index API Module | |
Date | 30 January 2006 (updated) / 20 January 2006 (original) |
Author | Nikita Danilov |
Synopsis | This document describes the design for the Index API Module (IAM), which is used by other Lustre components to persistently and transactionally store keyed data items. |
Truncate without extent lock on the client | |
Date | 27 January 2006 |
Author | Unknown |
Synopsis | This document introduces functionality enabling a Lustre client to perform file truncate without obtaining an extent lock. The lock is taken by the OST. |
Storage Management File System | |
Date | 27 January 2006 (updated) / 14 February 2005 (original) |
Author | Peter Braam, Mike Pershin |
Synopsis | This document outlines the design for the Storage Management File System (SMFS), offering these features: works as a transparent pseudo-filesystem on top of the real filesystem, have access to Lustre's API-like LLog and btree, be portable to filesystems other than ext3, and be able to call side-functions from other modules and plugins using its own API. |
Rollback | |
Date | 27 January 2006 |
Author | Unknown |
Synopsis | This document describes rollback, a recovery mechanism for a cluster of metadata servers (CMD). In rollback, nodes will engage in a distributed algorithm that restores the disk state to a snapshot based on an undo log.
Note: This HLD is superceded by CMD rollback |
User revoke | |
Date | 27 January 2006 (updated) / 31 January 2005 (original) |
Author | Peter Braam, Eric Mei |
Synopsis | This document introduces user revoke functionality, which will be added to the existing lctl tool. If a system administrator needs to remove a user from the Lustre filesystem (e.g., because the user is known to be malicious or an account is compromised), the SA can use this functionality on MDSs to prevent the user from accessing the Lustre filesystem right away. |
Remote UID/GID handling | |
Date | 27 January 2006 (updated) / 10 February 2005 (original) |
Author | Peter Braam, Eric Mei |
Synopsis | This document provides an architectural design to perform UID/GID translation between remote clients and a local user database, handle client program calling setuid/setgid/setgroups syscalls to get unusual privilege, handle supplementary groups membership and offer security policies in situations with/without strong authentication, like Kerberos v5. |
Remote ACL | |
Date | 27 January 2006 (updated) / 22 February 2005 (original) |
Author | Peter Braam, Eric Mei |
Synopsis | This document introduces the remote ACL feature that provides support, on a remote client, for an ACL-based permission check and setacl/getacl.
Note: For the follow-on version of Remote ACL (v2), see [[Media:Remote_acl_HLD_v2.pdf Remote ACL v2]. |
Quota for Lustre | |
Date | 27 January 2006 |
Author | Unknown |
Synopsis | This document describes the design for the quotas feature to meet these requirements: Lustre can operate and enforce disk block quota and file quota, support hard and soft quota, and use central management tools to set limits for users and initialize quota check operations. |
OST I/O locks | |
Date | 27 January 2006 |
Author | Oleg Drokin, Nikita Danilov |
Synopsis | This document describes functionality for OST I/O locks, enabling a client to request the OST perform LDLM locking for certain read/write requests and fixing the OST/LDLM so other extent locks are never granted to the liblustre client. |
Client-OSS connection | |
Date | 27 January 2006 (updated) / 2 March 2005 (original) |
Author | Peter Braam, Eric Mei |
Synopsis | This document introduces the design to establish GSS connections between clients and the OSS, and GSS connections between servers. |
Old confobd | |
Date | 27 January 2006 (updated) / 17 June 2005 (original) |
Author | Nathan Rutman |
Synopsis | This document describes confobd, which was implemented to make it easier to run Lustre as a rootfs. |
Tdinal v3.0 | |
Date | 27 January 2006 (updated) / 23 February 2005 (original) |
Author | Unknown |
Synopsis | This document outlines implementation of a new tdinal module to fully use TDI features and make a compact implementation upon TDI and Lustre NAL without any extra layers. |
Lustre configuration | |
Date | 27 January 2006 |
Author | Unknown |
Synopsis | This document introduces the design for a new configuration and management interface to make Lustre configuration dramatically simpler. |
Metadata refinements | |
Date | 27 January 2006 (updated) / 6 May 2005 (original) |
Author | Peter Braam |
Synopsis | This document describes a number of metadata handling improvements. |
CIFS LOV EA | |
Date | 27 January 2006 (updated) / 5 September 2005 (original) |
Author | Matt Wu |
Synopsis | This document describes LOV EA support, a sub-task of the Windows CIFS parallel I/O filter project. |
LLog basics | |
Date | 27 January 2006 (updated) / 5 August 2005 (original) |
Author | Nathan Rutman |
Synopsis | This document describes the basics of Lustre Log (LLog). |
I/O API | |
Date | 27 January 2006 (updated) / 5 October 2005 (original) |
Author | Yury Umanets |
Synopsis | This document introduces the design for an I/O API that is usable on the server and client. |
Trap Monitor application | |
Date | 27 January 2006 (updated) / March 2005 (original) |
Author | Gustavo Rahal |
Synopsis | This document describes the design for the Trap Monitor application, which will display traps from all accessible Lustre filesystems. The tool will include an interface to display all collected traps in an organized and structured manner. |
GSS | |
Date | 27 January 2006 (updated) / 27 February 2005 (original) |
Author | Peter Braam, Eric Mei |
Synopsis | This document describes implementation of GSS, which will meet these requirements: support the GSS API framework in Lustre, support Kerberos 5 (as a mechanism of GSS API), and support user authentication and integrity/privacy protection for ptlrpc messages between clients and MDSs. |
Global NameSpace (GNS) | |
Date | 27 January 2006 (updated) / 20 January 2005 (original) |
Author | Peter Braam, Yury Umanets |
Synopsis | This document introduces Global NameSpace (GNS) in llite. |
CIFS parallel I/O filter | |
Date | 27 January 2006 (updated) / 7 September 2005 (original) |
Author | Matt Wu |
Synopsis | This document proposes the CIFS parallel I/O filter, to simplify Lustre Windows porting. |
Lustre trap collector | |
Date | 27 January 2006 |
Author | Johan Dahlin |
Synopsis | This document describes the Lustre trap collector, a daemon that usually runs on an MDS in the Lustre filesystem. |
Bug 5921 | |
Date | 27 January 2006 |
Author | Unknown |
Synopsis | This document describes the requirements of Bug 5921, rebooted Lustre clients be efficiently removed from the lists of connected clients maintained by the OSTs and MDTs. |
Auditing | |
Date | 27 January 2006 (updated) / 3 May 2005 (original) |
Author | Peter Braam |
Synopsis | This document describes how to generate LLog entries for undo, replay and auditing. Additionally, it describes the infrastructure required for the auditing component in Lustre. |