Jump to content

AdvFS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m →‎History: clean up, replaced: Availbale → Available using AWB
No edit summary
 
(13 intermediate revisions by 9 users not shown)
Line 6: Line 6:
|developer = [[Digital Equipment Corporation]]
|developer = [[Digital Equipment Corporation]]
|introduction_os = [[OSF/1]]
|introduction_os = [[OSF/1]]
|introduction_date = 1993
|introduction_date = {{Start date and age|1993}}
|partition_id =
|partition_id =
|directory_struct =
|directory_struct =
Line 25: Line 25:
|OS = [[Tru64 UNIX]]
|OS = [[Tru64 UNIX]]
}}
}}
'''AdvFS''', also known as '''Tru64 UNIX Advanced File System''', is a [[file system]] developed in the late 1980s to mid-1990s<ref name="hist">{{cite web|url=https://sourceforge.net/forum/forum.php?thread_id=2091877&forum_id=833655 |title=Revision history? |publisher=[[SourceForge.net]] |accessdate = 2008-06-25}}</ref> by [[Digital Equipment Corporation]] for their [[OSF/1]] version of the [[Unix]] operating system (later [[Digital UNIX]]/Tru64 UNIX).<ref name="Hancock2001">{{cite book|author=Steven M. Hancock|title=Tru64 Unix File System Administration Handbook|url=https://books.google.com/books?id=Lmkl4otf9fkC&pg=PA258|date=January 2001|publisher=Digital Press|isbn=978-1-55558-227-2|page=258}}</ref> In June 2008, it was released as free software under the [[GNU GPL]]v2 license.<ref name="PressRelease">[http://www.hp.com/hpinfo/newsroom/press/2008/080623a.html Press release concerning the release of the AdvFS source code]</ref> AdvFS has been used in high-availability systems where fast recovery from downtime is essential.<ref>{{cite conference |last=Brady |first=Don |title=Designing GIS for high availability and high performance |url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=846591 |conference=High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. The Fourth International Conference/Exhibition on |pages=423–431 |doi=10.1109/HPC.2000.846591 |quote=AdvFS is a journaled, local file system that provides higher availability, and greater flexibility and recovery than traditional UNIX file systems. The recovery takes just a few seconds for AdvFS... }}</ref>{{rp|428}}
'''AdvFS''', also known as '''Tru64 UNIX Advanced File System''', is a [[file system]] developed in the late 1980s to mid-1990s<ref name="hist">{{cite web|url=https://sourceforge.net/forum/forum.php?thread_id=2091877&forum_id=833655 |title=Revision history? |publisher=[[SourceForge.net]] |access-date = 2008-06-25}}</ref> by [[Digital Equipment Corporation]] for their [[OSF/1]] version of the [[Unix]] operating system (later [[Digital UNIX]]/Tru64 UNIX).<ref name="Hancock2001">{{cite book|author=Steven M. Hancock|title=Tru64 Unix File System Administration Handbook|url=https://books.google.com/books?id=Lmkl4otf9fkC&pg=PA258|date=January 2001|publisher=Digital Press|isbn=978-1-55558-227-2|page=258}}</ref> In June 2008, it was released as free software under the [[GNU General Public License|GPL-2.0-only]] license.<ref name="PressRelease">[http://www.hp.com/hpinfo/newsroom/press/2008/080623a.html Press release concerning the release of the AdvFS source code]</ref> AdvFS has been used in high-availability systems where fast recovery from downtime is essential.<ref>{{cite conference |last=Brady |first=Don |title=Designing GIS for high availability and high performance |conference=High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. The Fourth International Conference/Exhibition on |pages=423–431 |doi=10.1109/HPC.2000.846591 |quote=AdvFS is a journaled, local file system that provides higher availability, and greater flexibility and recovery than traditional UNIX file systems. The recovery takes just a few seconds for AdvFS... }}</ref>{{rp|428}}


==Functionality==
==Functionality==
Line 32: Line 32:
File sets can be balanced, meaning that file content of file sets be balanced across physical volumes. Particular files in a file set can be '''striped''' across available volumes.
File sets can be balanced, meaning that file content of file sets be balanced across physical volumes. Particular files in a file set can be '''striped''' across available volumes.


Administrators can take a snapshot (or '''clone''') of any active or inactive file set. This allows for easy on-line backups.
Administrators can take a snapshot (or '''clone''') of any active or inactive file set. This allows for easy on-line backups and editing.


Another feature allows administrators to add or remove block devices from a file domain, while the file domain has active users. This add/remove feature allows migration to larger devices or migration from potentially failing hardware without a system shutdown.
Another feature allows administrators to add or remove block devices from a file domain, while the file domain has active users. This add/remove feature allows migration to larger devices or migration from potentially failing hardware without a system shutdown.
Line 48: Line 48:


== History ==
== History ==
''AdvFS'', also known as ''Tru64 UNIX Advanced File System'', was developed by [[Digital Equipment Corporation]] [[engineer]]s in the late 1980s to mid-1990s<ref name="hist"/> in [[Bellevue, WA]] (DECwest). They had previously worked on the earlier (cancelled) [[DEC MICA|MICA and OZIX]] projects there.


It was first delivered on the DEC OSF/1 system (later Digital UNIX/Tru64 UNIX). Over time, development moved to teams located in Bellevue, WA and [[Nashua, NH]]. Versions were always one version number behind the operating system version. Thus, DEC OSF/1 v3.2 had AdvFS v2.x, Digital UNIX 4.0 had AdvFS v3.x and Tru64 UNIX 5.x had AdvFS v4.x. It is generally considered{{Citation needed|date=October 2015}} that only AdvFS v4 had matured to production level stability, with a sufficient set of tools to get administrators out of any kind of trouble.<ref name="Hancock2001" /> The original team had enough confidence in its log based recovery to release it without an "fsck" style recovery utility on the assumption that the file system journal would always be allocated on mirrored drives.
''AdvFS'', also known as ''Tru64 UNIX Advanced File System'', was developed by [[Digital Equipment Corporation]] [[engineer]]s in the late 1980s to mid-1990s<ref name="hist"/> in [[Bellevue, WA]] (DECwest). They had previously worked on the earlier (cancelled) Mica and Ozix projects there.


In 1996, Lee and Thekkath<ref>Lee, Edward K., and Chandramohan A. Thekkath. "Petal: Distributed virtual disks." ACM SIGPLAN Notices. Vol. 31. No. 9. ACM, 1996. [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.591.1110&rep=rep1&type=pdf Available online]</ref> described the use of AdvFS on top of a novel disk virtualisation layer known as ''Petal''. In a later paper,<ref>Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. SIGOPS Oper. Syst. Rev. 31, 5 (October 1997), 224-237. Also in: Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. In Proceedings of the sixteenth ACM symposium on Operating systems principles (SOSP '97), William M. Waite (Ed.). ACM, New York, NY, USA, 224-237. [http://dl.acm.org/citation.cfm?id=266694 Online version]</ref> Thekkath et al. describe their own file system (''Frangipani'') built on top of ''Petal'' and compare it to the performance of AdvFS running on the same storage layer.
It was first delivered on the DEC OSF/1 system (later Digital UNIX/Tru64 UNIX). Over time, development moved to teams located in Bellevue, WA and [[Nashua, NH]]. Versions were always one version number behind the operating system version. Thus, DEC OSF/1 v3.2 had AdvFS v2.x, Digital UNIX 4.0 had AdvFS v3.x and Tru64 UNIX 5.x had AdvFS v4.x. It is generally considered{{Citation needed|date=October 2015}} that only AdvFS v4 had matured to production level stability, with a sufficient set of tools to get administrators out of any kind of trouble. The original team had enough confidence in its log based recovery to release it without an "fsck" style recovery utility on the assumption that the file system journal would always be allocated on mirrored drives.

On June 23, 2008, its [[source code]] was released by [[Hewlett-Packard]]<ref name="PressRelease"/> under [[GNU General Public License]] version 2 (instead of the recently released [[GPLv3]]) at [[SourceForge]] in order to be [[License compatibility|compatible]] with the also GPLv2 licensed [[Linux kernel]] license.<ref name="torvalds2000-gplv2only">{{cite web| url=http://lkml.iu.edu/hypermail/linux/kernel/0009.1/0096.html|title=Linux-2.4.0-test8 |author=[[Linus Torvalds]] |date=2000-09-08 |accessdate=2015-11-21 |publisher=lkml.iu.edu |quote=''The only one of any note that I'd like to point out directly is the clarification in the COPYING file, making it clear that it's only _that_particular version of the GPL that is valid for the kernel. This should not come as any surprise, as that's the same license that has been there since 0.12 or so, but I thought I'd make that explicit''}}</ref>


Shapiro and Miller<ref>Shapiro, Michael, and Ethan Miller. "Managing databases with binary large objects." Mass Storage Systems, 1999. 16th IEEE Symposium on. IEEE, 1999. [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.616&rep=rep1&type=pdf Available online]</ref> compared the performance of files stored in AdvFS to Oracle RDBMS version 7.3.4 BLOB storage.
Shapiro and Miller<ref>Shapiro, Michael, and Ethan Miller. "Managing databases with binary large objects." Mass Storage Systems, 1999. 16th IEEE Symposium on. IEEE, 1999. [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.616&rep=rep1&type=pdf Available online]</ref> compared the performance of files stored in AdvFS to Oracle RDBMS version 7.3.4 BLOB storage.
Line 59: Line 58:
Compaq Sierra Parallel File System (PFS) created a cluster file system based on multiple local AdvFS filesystems; testing carried out at [[Lawrence Livermore National Laboratory]] (LLNL) in 2000–2001 found that while the underlying AdvFS filesystem had adequate performance (albeit with high CPU utilisation), the PFS clustering layer on top of it performed poorly.<ref>Uselton, A C. The Performance of PFS, the Compaq Sierra Product’s Parallel File System. United States: N. p., 2001. Web. doi:10.2172/15006183. [http://www.osti.gov/scitech/biblio/15006183 Available online]</ref>
Compaq Sierra Parallel File System (PFS) created a cluster file system based on multiple local AdvFS filesystems; testing carried out at [[Lawrence Livermore National Laboratory]] (LLNL) in 2000–2001 found that while the underlying AdvFS filesystem had adequate performance (albeit with high CPU utilisation), the PFS clustering layer on top of it performed poorly.<ref>Uselton, A C. The Performance of PFS, the Compaq Sierra Product’s Parallel File System. United States: N. p., 2001. Web. doi:10.2172/15006183. [http://www.osti.gov/scitech/biblio/15006183 Available online]</ref>


On June 23, 2008, its [[source code]] was released by [[Hewlett-Packard]]<ref name="PressRelease"/> under the [[GNU General Public License|GPL-2.0-only]] license (instead of the recently released [[GPLv3]]) at [[SourceForge]] in order to be [[License compatibility|compatible]] with the also GPL-2.0-only licensed [[Linux kernel]].<ref name="torvalds2000-gplv2only">{{cite web| url=http://lkml.iu.edu/hypermail/linux/kernel/0009.1/0096.html|title=Linux-2.4.0-test8 |author=Linus Torvalds |date=2000-09-08 |access-date=2015-11-21 |publisher=lkml.iu.edu |quote=''The only one of any note that I'd like to point out directly is the clarification in the COPYING file, making it clear that it's only _that_particular version of the GPL that is valid for the kernel. This should not come as any surprise, as that's the same license that has been there since 0.12 or so, but I thought I'd make that explicit''|author-link=Linus Torvalds }}</ref>
In 1996, Lee and Thekkath<ref>Lee, Edward K., and Chandramohan A. Thekkath. "Petal: Distributed virtual disks." ACM SIGPLAN Notices. Vol. 31. No. 9. ACM, 1996. [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.591.1110&rep=rep1&type=pdf Available online]</ref> described the use of AdvFS on top of a novel disk virtualisation layer known as ''Petal''. In a later paper,<ref>Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. SIGOPS Oper. Syst. Rev. 31, 5 (October 1997), 224-237. Also in: Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. In Proceedings of the sixteenth ACM symposium on Operating systems principles (SOSP '97), William M. Waite (Ed.). ACM, New York, NY, USA, 224-237. [http://dl.acm.org/citation.cfm?id=266694 Online version]</ref> Thekkath et al. describe their own file system (''Frangapani'') built on top of ''Petal'' and compare it to the performance of AdvFS running on the same storage layer.


== References ==
== References ==
Line 67: Line 66:
*[http://advfs.sf.net/ Source code] at Sourceforge.net
*[http://advfs.sf.net/ Source code] at Sourceforge.net


{{Digital Equipment Corporation}}
{{Filesystem}}
{{File systems}}


{{DEFAULTSORT:Advfs}}
{{DEFAULTSORT:Advfs}}

Latest revision as of 12:53, 1 May 2023

AdvFS
Developer(s)Digital Equipment Corporation
Full nameTru64 UNIX Advanced File System
Introduced1993; 31 years ago (1993) with OSF/1
Structures
Bad blocksTable
Limits
Max volume size16 TiB
Max file size16 TiB
Max filename length255 bytes
Other
Supported
operating systems
Tru64 UNIX

AdvFS, also known as Tru64 UNIX Advanced File System, is a file system developed in the late 1980s to mid-1990s[1] by Digital Equipment Corporation for their OSF/1 version of the Unix operating system (later Digital UNIX/Tru64 UNIX).[2] In June 2008, it was released as free software under the GPL-2.0-only license.[3] AdvFS has been used in high-availability systems where fast recovery from downtime is essential.[4]: 428 

Functionality

[edit]

AdvFS uses a relatively advanced concept of a storage pool (called a file domain) and of logical file systems (called file sets). A file domain is composed of any number of block devices, which could be partitions, LVM or LSM devices. A file set is a logical file system created in a single file domain. Administrators can add or remove volumes from an active file domain, providing that there is enough space on the remaining file domain, in case of removal. This was one of the trickier original features to implement because all data or metadata residing on the disk being removed had to first be migrated, online, to other disks, prior to removal.

File sets can be balanced, meaning that file content of file sets be balanced across physical volumes. Particular files in a file set can be striped across available volumes.

Administrators can take a snapshot (or clone) of any active or inactive file set. This allows for easy on-line backups and editing.

Another feature allows administrators to add or remove block devices from a file domain, while the file domain has active users. This add/remove feature allows migration to larger devices or migration from potentially failing hardware without a system shutdown.

Features

[edit]

Its features include:

  • a journal to allow for fast crash recovery[5]
  • undeletion support
  • high performance
  • dynamic structure that allows an administrator to manage the file system on the fly
  • on the fly creation of snapshots
  • defragmentation while the domain has active users

Under Linux, AdvFS supports an additional ‘’syncv’’ system call to atomically commit changes to multiple files.[6]

History

[edit]

AdvFS, also known as Tru64 UNIX Advanced File System, was developed by Digital Equipment Corporation engineers in the late 1980s to mid-1990s[1] in Bellevue, WA (DECwest). They had previously worked on the earlier (cancelled) MICA and OZIX projects there.

It was first delivered on the DEC OSF/1 system (later Digital UNIX/Tru64 UNIX). Over time, development moved to teams located in Bellevue, WA and Nashua, NH. Versions were always one version number behind the operating system version. Thus, DEC OSF/1 v3.2 had AdvFS v2.x, Digital UNIX 4.0 had AdvFS v3.x and Tru64 UNIX 5.x had AdvFS v4.x. It is generally considered[citation needed] that only AdvFS v4 had matured to production level stability, with a sufficient set of tools to get administrators out of any kind of trouble.[2] The original team had enough confidence in its log based recovery to release it without an "fsck" style recovery utility on the assumption that the file system journal would always be allocated on mirrored drives.

In 1996, Lee and Thekkath[7] described the use of AdvFS on top of a novel disk virtualisation layer known as Petal. In a later paper,[8] Thekkath et al. describe their own file system (Frangipani) built on top of Petal and compare it to the performance of AdvFS running on the same storage layer.

Shapiro and Miller[9] compared the performance of files stored in AdvFS to Oracle RDBMS version 7.3.4 BLOB storage.

Compaq Sierra Parallel File System (PFS) created a cluster file system based on multiple local AdvFS filesystems; testing carried out at Lawrence Livermore National Laboratory (LLNL) in 2000–2001 found that while the underlying AdvFS filesystem had adequate performance (albeit with high CPU utilisation), the PFS clustering layer on top of it performed poorly.[10]

On June 23, 2008, its source code was released by Hewlett-Packard[3] under the GPL-2.0-only license (instead of the recently released GPLv3) at SourceForge in order to be compatible with the also GPL-2.0-only licensed Linux kernel.[11]

References

[edit]
  1. ^ a b "Revision history?". SourceForge.net. Retrieved 2008-06-25.
  2. ^ a b Steven M. Hancock (January 2001). Tru64 Unix File System Administration Handbook. Digital Press. p. 258. ISBN 978-1-55558-227-2.
  3. ^ a b Press release concerning the release of the AdvFS source code
  4. ^ Brady, Don. Designing GIS for high availability and high performance. High Performance Computing in the Asia-Pacific Region, 2000. Proceedings. The Fourth International Conference/Exhibition on. pp. 423–431. doi:10.1109/HPC.2000.846591. AdvFS is a journaled, local file system that provides higher availability, and greater flexibility and recovery than traditional UNIX file systems. The recovery takes just a few seconds for AdvFS...
  5. ^ Amir H. Majidimehr (1996). Optimizing UNIX for Performance. Prentice Hall PTR. p. 69. ISBN 978-0-13-111551-4. Log-structured file system implementations include the AIX Journalled File System (JFS), the DEC Advanced File System (AdvFS), and the SUN UFS with Transaction Logging in Solaris DiskSuite.
  6. ^ Verma, Rajat, et al. "Failure-atomic updates of application data in a Linux file system.” 13th USENIX Conference on File and Storage Technologies (FAST 15). 2015. online version
  7. ^ Lee, Edward K., and Chandramohan A. Thekkath. "Petal: Distributed virtual disks." ACM SIGPLAN Notices. Vol. 31. No. 9. ACM, 1996. Available online
  8. ^ Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. SIGOPS Oper. Syst. Rev. 31, 5 (October 1997), 224-237. Also in: Chandramohan A. Thekkath, Timothy Mann, and Edward K. Lee. 1997. Frangipani: a scalable distributed file system. In Proceedings of the sixteenth ACM symposium on Operating systems principles (SOSP '97), William M. Waite (Ed.). ACM, New York, NY, USA, 224-237. Online version
  9. ^ Shapiro, Michael, and Ethan Miller. "Managing databases with binary large objects." Mass Storage Systems, 1999. 16th IEEE Symposium on. IEEE, 1999. Available online
  10. ^ Uselton, A C. The Performance of PFS, the Compaq Sierra Product’s Parallel File System. United States: N. p., 2001. Web. doi:10.2172/15006183. Available online
  11. ^ Linus Torvalds (2000-09-08). "Linux-2.4.0-test8". lkml.iu.edu. Retrieved 2015-11-21. The only one of any note that I'd like to point out directly is the clarification in the COPYING file, making it clear that it's only _that_particular version of the GPL that is valid for the kernel. This should not come as any surprise, as that's the same license that has been there since 0.12 or so, but I thought I'd make that explicit
[edit]