CS5460: Operating Systems

Total Page:16

File Type:pdf, Size:1020Kb

CS5460: Operating Systems CS5460: Operating Systems Lecture 20: File System Reliability CS 5460: Operating Systems File System Optimizations Technique Effect Disk buffer cache Eliminates problem Modern Aggregated disk I/O Reduces seeks Prefetching Overlap/hide disk access Disk head scheduling Reduces seeks Historic Disk interleaving Reduces rotational latency Goal: Reduce or hide expensive disk operations CS 5460: Operating Systems Buffer/Page Cache Idea: Keep recently used disk blocks in kernel memory Process reads from a file: – If blocks are not in buffer cache » Allocate space in buffer cache Q: What do we purge and how? » Initiate a disk read » Block the process until disk operations complete – Copy data from buffer cache to process memory – Finally, system call returns Usually, a process does not see the buffer cache directly mmap() maps buffer cache pages into process RAM CS 5460: Operating Systems Buffer/Page Cache Process writes to a file: – If blocks are not in the buffer cache » Allocate pages » Initiate disk read » Block process until disk operations complete – Copy written data from process RAM to buffer cache Default: writes create dirty pages in the cache, then the system call returns – Data gets written to device in the background – What if the file is unlinked before it goes to disk? Optional: Synchronous writes which go to disk before the system call returns – Really slow! CS 5460: Operating Systems Performing Large File I/Os Idea: Try to allocate contiguous chunks of file in large contiguous regions of the disk – Disks have excellent bandwidth, but lousy latency! – Amortize expensive seeks over many block read/writes Question: How? – Maintain free block bitmap (cache parts in memory) – When you allocate blocks, use a modified “best fit” algorithm, rather than allocating a block at a time (pre-allocate even) Problem: Hard to do this when disk full/fragmented – Solution A: Keep a reserve (e.g., 10%) available at all times – Solution B: Run a disk “defragger” occasionally CS 5460: Operating Systems Prefetching Idea: Read blocks from disk ahead of user request Goal: Reduce number of seeks visible to user – If block read before request à hits in file buffer cache User File System Read 0 Read 0 Read 1 Read 1 Read 2 Read 2 Problem: What blocks should we prefetch? – Easy: Detect sequential access and prefetch ahead N blocks – Harder: Detect periodic/predictable “random” accesses CS 5460: Operating Systems Fault Tolerance and Reliability CS 5460: Operating Systems Fault Tolerance What kinds of failures do we need to consider? – OS crash, power failure » Data not on disk is lost; rarely, partial writes – Disk media failure » Data on disk corrupted or unavailable – Disk controller failure » Large swaths of data unavailable temporarily or permanently – Network failure » Clients and servers cannot communicate (transient failure) » Only have access to stale data (if any) – … (what else?) CS 5460: Operating Systems Techniques to Tolerate Failure Careful disk writes and “fsck” – Leave disk in recoverable state even if not all writes finish – Run “disk check” program to identify/fix inconsistent disk state RAID: – Redundant Array of Inexpensive Independent Disks – Write each block on more than one independent disk – If disk fails, can recover block contents from non-failed disks Logging – Rather than overwrite-in-place, write changes to log file – Use two-phase commit to make log updates transactional Clusters – Replicate data at the server level CS 5460: Operating Systems Careful Writes Order writes so that disk state is recoverable – Accept that disk contents may be inconsistent or stale – Run sanity check program to detect and fix problems Properties that should hold at all times – All blocks pointed to are not marked free – All blocks not pointed to are marked free – No block belongs to more than one file Goal: Avoid major inconsistency Not a goal: Never lose data CS 5460: Operating Systems Careful Writes Example To create a file, you must: – Allocate and initialize an inode – Allocate and initialize some data blocks – Modify the directory file of the directory containing the file – Modify the directory file’s inode (last modified time, size) In what order should we do these writes? How to add transactional (all or nothing) semantics? How do careful writes interact with optimizations? CS 5460: Operating Systems Careful Writes Exercise To delete a file, you must: – Deallocate the file’s inode – Deallocate the file’s disk blocks – Modify the directory file of the directory containing the file – Update the directory file’s inode In what order should we do these operations? – Consider what intermediate states are recoverable via fsck CS 5460: Operating Systems Soft Update Rules Never point to a block before initializing it Never reuse a block before nullifying pointers to it Never reset last pointer to live block before setting a new one Always mark free-block bitmap entries as used before making the directory entry point to it CS 5460: Operating Systems Careful Writes: More Exercises To write a file, you must: – Modify (and perhaps allocate) the file’s disk blocks – Modify the file’s inode (size and last modified time) – Maybe, modify indirect block(s) To move a file between directories, you must: – Modify the source directory – Modify the destination directory – Modify the inodes of both directories CS 5460: Operating Systems RAID Goal: Organize multiple physical disks into a single high-performance, high-reliability logical disk I/O bus RAID CPU ctlr. Issues to consider: – Multiple disks à higher aggregate throughput (more spindles) – Multiple disks à (hopefully) independent failure modes – Multiple disks à vulnerable to individual disk failures (MTTF) – Writing to multiple disks for replication à higher write overhead CS 5460: Operating Systems Possible Uses of Multiple Disks Striping – Spread pieces of a single file across multiple disks – Advantages: » Can service multiple independent requests in parallel » Can service single “large” requests in parallel – Issues: » Interleave factor » How the data is striped across disks Redundancy (replication) – Store multiple copies of blocks on independent disks – Advantages: » Can tolerate partial system failure à How much? – Issues: » How widely do you want to spread the data? CS 5460: Operating Systems Types of RAID RAID level Description 0 Data striping w/o redundancy 1 Disk mirroring 2 Parallel array of disks w/ error correcting disk (checksum) 3 Bit-interleaved parity 4 Block-interleaved parity 5 Block-interleaved, distributed parity CS 5460: Operating Systems RAID Level 0 Striping – Spread contiguous blocks of a file across multiple spindles – Simple round-robin distribution Non-redundant – No fault tolerance Advantages – Higher throughput – Larger storage Disadvantages RAID – Lower reliability – any drive failure ctlr. destroys the file system – Added cost I/O bus CPU CS 5460: Operating Systems RAID Level 1 Mirroring – Write complete copies of all blocks to multiple disks – How many copies à how much reliability No striping – No added write bandwidth – Potential for pipelined reads Advantage: – Can tolerate disk failures (“availability”) RAID ctlr. Disadvantage: – High cost (extra disks and RAID I/O bus controller) Q: How to recover from drive CPU failure? CS 5460: Operating Systems RAID Level 5 Mirroring + striping + distributed parity – Spread contiguous blocks of a file across multiple spindles – Adds parity information » Example: XOR of other blocks Combines features of 0 & 1 Advantages – Higher throughput – Lower cost (than level 1) RAID – Any single disk can fail ctlr. Disadvantages – More complexity in RAID I/O bus controller – Slower recovery time than RAID 1 CPU RAID 6: 2 parity disks CS 5460: Operating Systems RAID Tradeoffs Space efficiency Minimum number of disks Number of simultaneous failures tolerated Read performance Write performance Time to recover from a failed disk Complexity of controller CS 5460: Operating Systems RAID Discussion RAID can be implemented by hardware or software – Hardware RAID implemented by RAID controller » Often supports hot swapping using hot spare disks » Not totally clear that cheap RAID HW is worth it – Software RAID implemented by OS kernel (device driver) Multiple parity disks can handle multiple errors Nested RAID – Can use a RAID array as a “disk” in a higher level RAID » RAID 1+0: RAID 0 (striping) run across RAID 1 (mirrored) arrays » RAID 0+1: RAID 1 (mirroring) run across RAID 0 (striped) arrays CS 5460: Operating Systems RAID Discussion What are the risks due to purchasing a large number of disks at the same time for use in a RAID? Hot spares can be useful What does a RAID look like to the file system code? RAID summary – Tolerates failed disks – May not deal well with correlated failure modes – Can improve sustained transfer rate – Does not improve individual seek latencies CS 5460: Operating Systems Logging / Journaling Observations: – Recreating consistent disk after failure is problematic – Conventional file systems optimized for large contiguous reads – File buffer cache eliminates reads à writes often bottleneck » Recall “careful writes” à cannot defer metadata writes indefinitely » Metadata ops access non-contiguous parts of disk (file, inode, dir) Idea: redesign the file system around a “log” – Contiguous log structure à append at end StartTransaction – Usage is similar to a database transaction log <transaction info> – Eliminate random seeks in the critical
Recommended publications
  • The Title Title: Subtitle March 2007
    sub title The Title Title: Subtitle March 2007 Copyright c 2006-2007 BSD Certification Group, Inc. Permission to use, copy, modify, and distribute this documentation for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE DOCUMENTATION IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS DOCUMENTATION INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CON- SEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEG- LIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS DOCUMENTATION. NetBSD and pkgsrc are registered trademarks of the NetBSD Foundation, Inc. FreeBSD is a registered trademark of the FreeBSD Foundation. Contents Introduction vii 1 Installing and Upgrading the OS and Software 1 1.1 Recognize the installation program used by each operating system . 2 1.2 Recognize which commands are available for upgrading the operating system 6 1.3 Understand the difference between a pre-compiled binary and compiling from source . 8 1.4 Understand when it is preferable to install a pre-compiled binary and how to doso ...................................... 9 1.5 Recognize the available methods for compiling a customized binary . 10 1.6 Determine what software is installed on a system . 11 1.7 Determine which software requires upgrading . 12 1.8 Upgrade installed software . 12 1.9 Determine which software have outstanding security advisories .
    [Show full text]
  • Relieving the Burden of Track Switch in Modern Hard Disk Drives
    Multimedia Systems DOI 10.1007/s00530-010-0218-5 REGULAR PAPER Relieving the burden of track switch in modern hard disk drives Jongmin Gim • Youjip Won Received: 11 November 2009 / Accepted: 22 November 2010 Ó Springer-Verlag 2010 Abstract In this work, we propose a novel hard disk 128 KByte, 17% of the disk space becomes unusable. technique, ‘‘AV Disk’’, for modern multimedia applica- Despite the decreased storage area, track aligning tech- tions. Modern hard disk drives adopt complex sector layout nique increases the overall performance of the hard disk. mechanisms to reduce track and head switch overhead. According to our simulation-based experiment, overall disk While these complex sector layout mechanism can reduce performance increases about 5–25%. Given that capacity of average overhead involved in the track and head switch, hard disk increases 100% every year, we cautiously regard they bring larger variability in the overhead. From a it as reasonable tradeoff to increase the I/O latency of the multimedia application’s point of view, it is important to disk. minimize the worst case I/O latency rather than to improve the average IO latency. We focus our effort to minimize Keyword Hard disk drive Á Multimedia Á Track align Á track switch overhead as well as the variability in track Track switch Á Sector geometry Á Audio and video switch overhead involved in disk I/O. We propose that track of the hard disk drive is aligned with a certain IO size. In this work, we develop an elaborate performance model 1 Introduction with which we can compute the optimal IO unit size for multimedia applications.
    [Show full text]
  • Ext4 File System and Crash Consistency
    1 Ext4 file system and crash consistency Changwoo Min 2 Summary of last lectures • Tools: building, exploring, and debugging Linux kernel • Core kernel infrastructure • Process management & scheduling • Interrupt & interrupt handler • Kernel synchronization • Memory management • Virtual file system • Page cache and page fault 3 Today: ext4 file system and crash consistency • File system in Linux kernel • Design considerations of a file system • History of file system • On-disk structure of Ext4 • File operations • Crash consistency 4 File system in Linux kernel User space application (ex: cp) User-space Syscalls: open, read, write, etc. Kernel-space VFS: Virtual File System Filesystems ext4 FAT32 JFFS2 Block layer Hardware Embedded Hard disk USB drive flash 5 What is a file system fundamentally? int main(int argc, char *argv[]) { int fd; char buffer[4096]; struct stat_buf; DIR *dir; struct dirent *entry; /* 1. Path name -> inode mapping */ fd = open("/home/lkp/hello.c" , O_RDONLY); /* 2. File offset -> disk block address mapping */ pread(fd, buffer, sizeof(buffer), 0); /* 3. File meta data operation */ fstat(fd, &stat_buf); printf("file size = %d\n", stat_buf.st_size); /* 4. Directory operation */ dir = opendir("/home"); entry = readdir(dir); printf("dir = %s\n", entry->d_name); return 0; } 6 Why do we care EXT4 file system? • Most widely-deployed file system • Default file system of major Linux distributions • File system used in Google data center • Default file system of Android kernel • Follows the traditional file system design 7 History of file system design 8 UFS (Unix File System) • The original UNIX file system • Design by Dennis Ritche and Ken Thompson (1974) • The first Linux file system (ext) and Minix FS has a similar layout 9 UFS (Unix File System) • Performance problem of UFS (and the first Linux file system) • Especially, long seek time between an inode and data block 10 FFS (Fast File System) • The file system of BSD UNIX • Designed by Marshall Kirk McKusick, et al.
    [Show full text]
  • Disk Array Data Organizations and RAID
    Guest Lecture for 15-440 Disk Array Data Organizations and RAID October 2010, Greg Ganger © 1 Plan for today Why have multiple disks? Storage capacity, performance capacity, reliability Load distribution problem and approaches disk striping Fault tolerance replication parity-based protection “RAID” and the Disk Array Matrix Rebuild October 2010, Greg Ganger © 2 Why multi-disk systems? A single storage device may not provide enough storage capacity, performance capacity, reliability So, what is the simplest arrangement? October 2010, Greg Ganger © 3 Just a bunch of disks (JBOD) A0 B0 C0 D0 A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 Yes, it’s a goofy name industry really does sell “JBOD enclosures” October 2010, Greg Ganger © 4 Disk Subsystem Load Balancing I/O requests are almost never evenly distributed Some data is requested more than other data Depends on the apps, usage, time, … October 2010, Greg Ganger © 5 Disk Subsystem Load Balancing I/O requests are almost never evenly distributed Some data is requested more than other data Depends on the apps, usage, time, … What is the right data-to-disk assignment policy? Common approach: Fixed data placement Your data is on disk X, period! For good reasons too: you bought it or you’re paying more … Fancy: Dynamic data placement If some of your files are accessed a lot, the admin (or even system) may separate the “hot” files across multiple disks In this scenario, entire files systems (or even files) are manually moved by the system admin to specific disks October 2010, Greg
    [Show full text]
  • Identify Storage Technologies and Understand RAID
    LESSON 4.1_4.2 98-365 Windows Server Administration Fundamentals IdentifyIdentify StorageStorage TechnologiesTechnologies andand UnderstandUnderstand RAIDRAID LESSON 4.1_4.2 98-365 Windows Server Administration Fundamentals Lesson Overview In this lesson, you will learn: Local storage options Network storage options Redundant Array of Independent Disk (RAID) options LESSON 4.1_4.2 98-365 Windows Server Administration Fundamentals Anticipatory Set List three different RAID configurations. Which of these three bus types has the fastest transfer speed? o Parallel ATA (PATA) o Serial ATA (SATA) o USB 2.0 LESSON 4.1_4.2 98-365 Windows Server Administration Fundamentals Local Storage Options Local storage options can range from a simple single disk to a Redundant Array of Independent Disks (RAID). Local storage options can be broken down into bus types: o Serial Advanced Technology Attachment (SATA) o Integrated Drive Electronics (IDE, now called Parallel ATA or PATA) o Small Computer System Interface (SCSI) o Serial Attached SCSI (SAS) LESSON 4.1_4.2 98-365 Windows Server Administration Fundamentals Local Storage Options SATA drives have taken the place of the tradition PATA drives. SATA have several advantages over PATA: o Reduced cable bulk and cost o Faster and more efficient data transfer o Hot-swapping technology LESSON 4.1_4.2 98-365 Windows Server Administration Fundamentals Local Storage Options (continued) SAS drives have taken the place of the traditional SCSI and Ultra SCSI drives in server class machines. SAS have several
    [Show full text]
  • • RAID, an Acronym for Redundant Array of Independent Disks Was Invented to Address Problems of Disk Reliability, Cost, and Performance
    RAID • RAID, an acronym for Redundant Array of Independent Disks was invented to address problems of disk reliability, cost, and performance. • In RAID, data is stored across many disks, with extra disks added to the array to provide error correction (redundancy). • The inventors of RAID, David Patterson, Garth Gibson, and Randy Katz, provided a RAID taxonomy that has persisted for a quarter of a century, despite many efforts to redefine it. 1 RAID 0: Striped Disk Array • RAID Level 0 is also known as drive spanning – Data is written in blocks across the entire array . 2 RAID 0 • Recommended Uses: – Video/image production/edition – Any app requiring high bandwidth – Good for non-critical storage of data that needs to be accessed at high speed • Good performance on reads and writes • Simple design, easy to implement • No fault tolerance (no redundancy) • Not reliable 3 RAID 1: Mirroring • RAID Level 1, also known as disk mirroring , provides 100% redundancy, and good performance. – Two matched sets of disks contain the same data. 4 RAID 1 • Recommended Uses: – Accounting, payroll, financial – Any app requiring high reliability (mission critical storage) • For best performance, controller should be able to do concurrent reads/writes per mirrored pair • Very simple technology • Storage capacity cut in half • S/W solutions often do not allow “hot swap” • High disk overhead, high cost 5 RAID 2: Bit-level Hamming Code ECC Parity • A RAID Level 2 configuration consists of a set of data drives, and a set of Hamming code drives. – Hamming code drives provide error correction for the data drives.
    [Show full text]
  • Architectures and Algorithms for On-Line Failure Recovery in Redundant Disk Arrays
    Architectures and Algorithms for On-Line Failure Recovery in Redundant Disk Arrays Draft copy submitted to the Journal of Distributed and Parallel Databases. A revised copy is published in this journal, vol. 2 no. 3, July 1994.. Mark Holland Department of Electrical and Computer Engineering Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA 15213-3890 (412) 268-5237 [email protected] Garth A. Gibson School of Computer Science Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA 15213-3890 (412) 268-5890 [email protected] Daniel P. Siewiorek School of Computer Science Carnegie Mellon University 5000 Forbes Ave. Pittsburgh, PA 15213-3890 (412) 268-2570 [email protected] Architectures and Algorithms for On-Line Failure Recovery In Redundant Disk Arrays1 Abstract The performance of traditional RAID Level 5 arrays is, for many applications, unacceptably poor while one of its constituent disks is non-functional. This paper describes and evaluates mechanisms by which this disk array failure-recovery performance can be improved. The two key issues addressed are the data layout, the mapping by which data and parity blocks are assigned to physical disk blocks in an array, and the reconstruction algorithm, which is the technique used to recover data that is lost when a component disk fails. The data layout techniques this paper investigates are variations on the declustered parity organiza- tion, a derivative of RAID Level 5 that allows a system to trade some of its data capacity for improved failure-recovery performance. Parity declustering improves the failure-mode performance of an array significantly, and a parity-declustered architecture is preferable to an equivalent-size multiple-group RAID Level 5 organization in environments where failure-recovery performance is important.
    [Show full text]
  • OEM HARD DISK DRIVE SPECIFICATIONS for DPRS
    IBML S39H-4500-02 OEM HARD DISK DRIVE SPECIFICATIONS for DPRS-20810/21215 (810/1215 MB) 2.5-Inch Hard Disk Drive with SCSI Interface Revision (1.2) IBML S39H-4500-02 OEM HARD DISK DRIVE SPECIFICATIONS for DPRS-20810/21215 (810/1215 MB) 2.5-Inch Hard Disk Drive with SCSI Interface Revision (1.2) 1st Edition (ver.1.0) S39H-4500-00 (June 16, 1995) 2nd Edition (ver.1.1) S39H-4500-01 (October 24, 1995) 3rd Edition (ver.1.2) S39H-4500-02 (November 1, 1995) The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer or express or implied warranties in certain transactions, therefore, this statement may not apply to You. This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improve- ments and/or changes in the product(s) and/or the program(s) described in this publication at any time. It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country.
    [Show full text]
  • Learning Proxmox VE Learning Proxmox VE
    Learning Proxmox VE Learning Proxmox VE Proxmox VE 4.1 provides an open source, enterprise virtualization platform on which to host virtual servers as What you will learn from this book either virtual machines or containers. Install and confi gure Proxmox VE 4.1 This book will support your practice of the requisite skills to successfully create, tailor, and deploy virtual machines Download container templates and virtual and containers with Proxmox VE 4.1. appliances Following a survey of PVE's features and characteristics, Create and host containers based on this book will contrast containers with virtual machines and templates establish cases for both. It walks through the installation Create and host virtual machines of Proxmox VE, explores the creation of containers and virtual machines, and suggests best practices for virtual Optimize virtual machine performance disk creation, network confi guration, and Proxmox VE for common use cases host and guest security. Apply the latest security patches to Throughout the book, you will navigate the Proxmox VE a Proxmox VE host Community Experience Distilled 4.1 web interface and explore options for command-line management. Contrast PVE virtual machines and containers in order to recognize their respective use cases Who this book is written for Secure Proxmox VE hosts as well as virtual This book is intended for server and system administrators machines and containers and engineers who are eager to take advantage of the Learning Proxmox VE potential of virtual machines and containers to manage Assess the benefi ts of virtualization with servers more effi ciently and make the best use of regard to budgets, server real estate, Rik Goldman resources, from energy consumption to hardware maintenance, and management time utilization and physical real estate.
    [Show full text]
  • OEM HARD DISK DRIVE SPECIFICATIONS for DORS-31080 / DORS-32160 SCSI-3 FAST-20 68-Pin Single-Ended Models 3.5-Inch Hard Disk Driv
    IBML S39H-2859-03 OEM HARD DISK DRIVE SPECIFICATIONS for DORS-31080 / DORS-32160 SCSI-3 FAST-20 68-pin Single-ended Models 3.5-Inch Hard Disk Drive ( 1080 / 2160 MB ) Revision (3.0) IBML S39H-2859-03 OEM HARD DISK DRIVE SPECIFICATIONS for DORS-31080 / DORS-32160 SCSI-3 FAST-20 68-pin Single-ended Models 3.5-Inch Hard Disk Drive ( 1080 / 2160 MB ) Revision (3.0) 1st Edition (Rev.1.0) S39H-2859-00 (Dec. 15, 1995) 2nd Edition (Rev.1.1) S39H-2859-01 (Jan. 22, 1996) 3rd Edition (Rev.2.0) S39H-2859-02 (Mar. 15, 1996) 4th Edition (Rev.3.0) S39H-2859-03 (Jun. 13, 1996) The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer or express or implied warranties in certain transactions, therefore, this statement may not apply to You. This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improve- ments and/or changes in the product(s) and/or the program(s) described in this publication at any time. It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country.
    [Show full text]
  • A Ffsck: the Fast File System Checker
    A ffsck: The Fast File System Checker AO MA, University of Wisconsin, Madison; Backup Recovery Systems Division, EMC Corporation CHRIS DRAGGA, ANDREA C. ARPACI-DUSSEAU, and REMZI H. ARPACI-DUSSEAU, University of Wisconsin, Madison MARSHALL KIRK McKUSICK, McKusick.com Crash failures, hardware errors, and file system bugs can corrupt file systems and cause data loss, despite the presence of journals and similar preventive techniques. While consistency checkers such as fsck can detect this corruption and restore a damaged image to a usable state, they are generally created as an afterthought, to be run only at rare intervals. Thus, checkers operate slowly, causing significant downtime for large scale storage systems when they are needed. We address this dilemma by treating the checker as a key component of the overall file system (and not merely a peripheral add-on). To this end, we present a modified ext3 file system, rext3, to directly support the fast file system checker, ffsck. The rext3 file system colocates and self-identifies its metadata blocks, removing the need for costly seeks and tree traversals during checking. These modifications to the file system allow ffsck to scan and repair the file system at rates approaching the full sequential bandwidth of the underlying device. In addition, we demonstrate that rext3 performs competitively with ext3 in most cases and exceeds it in handling random reads and large writes. Finally, we apply our principles to FFS, the default FreeBSD file system, and its checker, doing so in a lightweight fashion that preserves the file-system layout while still providing some of the gains in performance from ffsck.
    [Show full text]
  • Techsmart Representatives
    Wave TechSmart representatives RAID BASICS ARE YOUR SECURITY SOLUTIONS FAULT TOLERANT? Redundant Array of Independent Disks (RAID) is a Enclosure: The "box" which contains the controller, storage technology used to improve the processing drives/drive trays and bays, power supplies, and fans is capability of storage systems. This technology is called an "enclosure." The enclosure includes various designed to provide reliability in disk array systems and controls, ports, and other features used to connect the to take advantage of the performance gains offered by RAID to a host for example. an array of mulple disks over single-disk storage. Wave RepresentaCves has experience with both high- RAID’s two primary underlying concepts are (1) that performance compuCng and enterprise storage, providing distribuCng data over mulple hard drives improves soluCons to large financial instuCons to research performance and (2) that using mulple drives properly laboratories. The security industry adopted superior allows for any one drive to fail without loss of data and compuCng and storage technologies aGer the transiCon without system downCme. In the event of a disk from analog systems to IP based networks. This failure, disk access will conCnue normally and the failure evoluCon has created robust and resilient systems that will be transparent to the host system. can handle high bandwidth from video surveillance soluCons to availability for access control and emergency Originally designed and implemented for SCSI drives, communicaCons. RAID principles have been applied to SATA and SAS drives in many video systems. Redundancy of any system, especially of components that have a lower tolerance in MTBF makes sense.
    [Show full text]