Autofs, Cambridge 2014

Total Page:16

File Type:pdf, Size:1020Kb

Autofs, Cambridge 2014 Autofs Edward Tomasz Napierała / FreeBSD Foundation What's an automounter? • Have all filesystems accessible all the time, without keeping them mounted. • Dynamic maps, to avoid configuring every single mount • Centralized maps (LDAP) What's wrong with amd(8)? • Map format different from Sun • No LDAP in base, so amd(8) gets built without it • Calls mount(2) syscall directly • Userland NFS magic, the evil kind Autofs project scope • Cleanroom reimplementation • Proper autofs(4) • "Industry standard" map format • Directory services (LDAP) • Can mount any filesystem • Scripts, man pages, handbook Maps • auto_master(5) references individual maps # $FreeBSD$ # # Automounter master map, see auto_master(5) for details. # /net -hosts -nosuid /auto/groups autofs.group +auto.master • Maps define actual remote filesystems SLES10 -rw,nosuid elmer:/vol/vol3/sys-li9/& • Direct vs indirect maps autofs(4) • Very simple filesystem, less than 1KLOC • Triggering mechanism • Simple directory hierarchy for indirect maps • VOP forwarding to the newly mounted vnode automount(8) • Sets up autofs(4) mounts based on auto_master(5) and indirect maps • Runs during startup, or manually after auto_master(5) modification • Some utility functions, eg. "automount -u". automountd(8) • Daemon handling trigger requests from autofs(4) • Locates the map, parses it, runs mount command • One process per request; no need to be asynchronous • No state; can be restarted at any time autounmountd(8) • Watches for filesystem events using kqueue(2), records mount time, unmounts after a while • Only touches filesystems with "automounted" mount option set Extensibility • How special maps are just shell scripts • Easy to modify to fit existing LDAP infrastructure, eg removing unsupported mount options • Working around not having OpenLDAP in base • Trivial debugging - just run the script by hand Reliability • Retries, for transient network problems • Timeouts, to not wedge the system indefinitely • Cache, to avoid unnceccessary requests • ^C at any time Demo! Problems • Never block automountd(8) or any of its children, mount(8) in particular • Interaction with fts(3) • Lack of hierarchical mounts • Duplicated mounts Questions? (https://github.com/trasz/autofs).
Recommended publications
  • Oracle® Linux 7 Managing File Systems
    Oracle® Linux 7 Managing File Systems F32760-07 August 2021 Oracle Legal Notices Copyright © 2020, 2021, Oracle and/or its affiliates. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.
    [Show full text]
  • Managing File Systems in Oracle® Solaris 11.4
    ® Managing File Systems in Oracle Solaris 11.4 Part No: E61016 November 2020 Managing File Systems in Oracle Solaris 11.4 Part No: E61016 Copyright © 2004, 2020, Oracle and/or its affiliates. License Restrictions Warranty/Consequential Damages Disclaimer This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. Warranty Disclaimer The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. Restricted Rights Notice If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial
    [Show full text]
  • NFS-HOWTO.Pdf
    Linux NFS−HOWTO Tavis Barr tavis dot barr at liu dot edu Nicolai Langfeldt janl at linpro dot no Seth Vidal skvidal at phy dot duke dot edu Tom McNeal trmcneal at attbi dot com 2002−08−25 Revision History Revision v3.1 2002−08−25 Revised by: tavis Typo in firewalling section in 3.0 Revision v3.0 2002−07−16 Revised by: tavis Updates plus additions to performance, security Linux NFS−HOWTO Table of Contents 1. Preamble..........................................................................................................................................................1 1.1. Legal stuff.........................................................................................................................................1 1.2. Disclaimer.........................................................................................................................................1 1.3. Feedback...........................................................................................................................................1 1.4. Translation........................................................................................................................................1 1.5. Dedication.........................................................................................................................................1 2. Introduction.....................................................................................................................................................2 2.1. What is NFS?....................................................................................................................................2
    [Show full text]
  • Managing Network File Systems in Oracle® Solaris 11.4
    Managing Network File Systems in ® Oracle Solaris 11.4 Part No: E61004 August 2021 Managing Network File Systems in Oracle Solaris 11.4 Part No: E61004 Copyright © 2002, 2021, Oracle and/or its affiliates. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.
    [Show full text]
  • Proceedings of the Linux Symposium Volume
    Proceedings of the Linux Symposium Volume Two July 19th–22nd, 2006 Ottawa, Ontario Canada Contents Evolution in Kernel Debugging using Hardware Virtualization With Xen 1 Nitin A. Kamble Improving Linux Startup Time Using Software Resume (and other techniques) 17 Hiroki Kaminaga Automated Regression Hunting 27 A. Bowen, P. Fox, J. Kenefick, A. Romney, J. Ruesch, J. Wilde, & J. Wilson Hacking the Linux Automounter—Current Limitations and Future Directions 37 Ian Maxwell Kent & Jeff Moyer Why NFS Sucks 51 Olaf Kirch Efficient Use of the Page Cache with 64 KB Pages 65 Dave Kleikamp and Badari Pulavarty Startup Time in the 21st Century: Filesystem Hacks and Assorted Tweaks 71 Benjamin C.R. LaHaise Using Hugetlbfs for Mapping Application Text Regions 75 H.J. Lu, K. Doshi, R. Seth, & J. Tran Towards a Better SCM: Revlog and Mercurial 83 Matt Mackall Roadmap to a GL-based composited desktop for Linux 91 K.E. Martin and K. Packard Probing the Guts of Kprobes 101 A. Mavinakayanahalli, P. Panchamukhi, J. Keniston, A. Keshavamurthy, & M. Hiramatsu Shared Page Tables Redux 117 Dave McCracken Extending RCU for Realtime and Embedded Workloads 123 Paul E. McKenney OSTRA: Experiments With on-the-fly Source Patching 139 Arnaldo Carvalho de Melo Design and Implementation to Support Multiple Key Exchange Protocols for IPsec 143 K. Miyazawa, S. Sakane, K. Kamada, M. Kanda, & A. Fukumoto The State of Linux Power Management 2006 151 Patrick Mochel I/O Workload Fingerprinting in the Genetic-Library 165 Jake Moilanen X86-64 XenLinux: Architecture, Implementation, and Optimizations 173 Jun Nakajima, Asit Mallick GCC—An Architectural Overview, Current Status, and Future Directions 185 Diego Novillo Shared-Subtree Concept, Implementation, and Applications in Linux 201 Al Viro & Ram Pai The Ondemand Governor 215 Venkatesh Pallipadi & Alexey Starikovskiy Linux Bootup Time Reduction for Digital Still Camera 231 Chan-Ju Park A Lockless Pagecache in Linux—Introduction, Progress, Performance 241 Nick Piggin The Ongoing Evolution of Xen 255 I.
    [Show full text]
  • The Pkgsrc Guide
    The pkgsrc guide Documentation on the NetBSD packages system (2006/02/18) Alistair Crooks [email protected] Hubert Feyrer [email protected] The pkgsrc Developers The pkgsrc guide: Documentation on the NetBSD packages system by Alistair Crooks, Hubert Feyrer, The pkgsrc Developers Published 2006/02/18 01:46:43 Copyright © 1994-2005 The NetBSD Foundation, Inc Information about using the NetBSD package system (pkgsrc) from both a user view for installing packages as well as from a pkgsrc developers’ view for creating new packages. Table of Contents 1. What is pkgsrc?......................................................................................................................................1 1.1. Introduction.................................................................................................................................1 1.2. Overview.....................................................................................................................................1 1.3. Terminology................................................................................................................................2 1.4. Typography .................................................................................................................................3 I. The pkgsrc user’s guide .........................................................................................................................1 2. Where to get pkgsrc and how to keep it up-to-date........................................................................2
    [Show full text]
  • NFS Administration Guide
    NFS Administration Guide 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. A Sun Microsystems, Inc. Business 1995 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. 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. Portions of this product may be derived from the UNIX® system, licensed from UNIX Systems Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party software, including font technology in this product, is protected by copyright and licensed from Sun’s Suppliers. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, SunOS, OpenWindows, DeskSet, ONC, ONC+, and NFS are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd. OPEN LOOK is a registered trademark of Novell, Inc.
    [Show full text]
  • Installing and Administering NFS Services
    Installing and Administering NFS Services HP 9000 Networking Manufacturing Part Number: B1031-90048 E0601 U.S.A. © Copyright 2001 Hewlett-Packard Company. Legal Notices The information in this document is subject to change without notice. Hewlett-Packard makes no warranty of any kind with regard to this manual, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Hewlett-Packard shall not be held liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material. Warranty. A copy of the specific warranty terms applicable to your Hewlett- Packard product and replacement parts can be obtained from your local Sales and Service Office. Restricted Rights Legend. Use, duplication or disclosure by the U.S. Government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 for DOD agencies, and subparagraphs (c) (1) and (c) (2) of the Commercial Computer Software Restricted Rights clause at FAR 52.227-19 for other agencies. Hewlett-Packard Co. 19420 Homestead Road Cupertino, CA 95014 USA Use of this manual and CD(s) supplied for this pack is restricted to this product only. Additional copies of the programs may be made for security and back-up purposes only. Resale of the programs in their present form or with alterations, is expressly prohibited. Copyright Notices ©copyright 1983-2000 Hewlett-Packard Company, all rights reserved. Reproduction, adaptation, or translation of this document without prior written permission is prohibited, except as allowed under the copyright laws.
    [Show full text]
  • Oracle Solaris 11 Administrator's Cheat Sheet for Service Management Facility (SMF)
    Oracle Solaris 11 Administrator's Cheat Sheet for Service Management Facility (SMF) Oracle Solaris 11 Cheat Sheet Listing information about services Service Management Facility (SMF) Show all enabled services (including temporarily disabled services): What is the Service Management Facility? # svcs The Oracle Solaris Service Management Facility (SMF) is responsible for managing system Show all enabled and disabled services: and application services, replacing the legacy init scripting start-up mechanism common to other UNIX operating systems. SMF helps improves the availability of a system by # svcs -a ensuring that essential services run continuously even in the event of any software or hardware failures with an automatic restart capability. SMF is a part of the wider predictive List detailed information about svc:/system/zones:default: self-healing capability in Oracle Solaris. Another crucial component of this is the Fault # svcs -l zones:default Management Architecture (FMA), responsible for reporting and isolating failed hardware List processes associated with svc:/network/netcfg:default: components. # svcs -p network/netcfg Understanding the SMF Fault Managed Resource Indicator (FMRI) Show why services that are enabled but are not running (or preventing other services from running): Each SMF managed service instance is unique described by an FMRI, that an administrator # svcs -xv can use to enable or disable the service, find out information about or modify configuration properties related to that service. For example, the file system
    [Show full text]
  • The Automounter Lab
    Operating Systems and Systems Integration The Automounter, and automating its Installation 1 Aim After successfully working through this exercise, You will: • understand what the automounter does; • be able to set up the automounter manually; • be able to write a shell script suitable for use with kickstart to automatically configure the automounter as part of an unattended installation. 2 Background The automounter provides a convenient way of accessing network directories. You use it when you log into your network account to access your home directory. It is often used with nfs (Network File System), but can also be used to mount local disks such as floppy disks or removable media such as Zip disks and cdroms. Currently your home directory is mounted by the automounter when you log into your network account. The configuration parameters for the automounter are provided by our ldap directory server. You may see some information about the current automounter configuration by typing: $ service autofs status 2.1 Advantages of the Automounter compared with putting en- tries in /etc/fstab You can always put an entry into /etc/fstab that permanently mounts a network par- tition on boot, like this: nicku.org:/var/ftp/pub /mnt/ftp nfs ro,defaults 0 0 Every time the computer boots, the network directory will be mounted, until the computer shuts down. But autofs is much more flexible. • Any user can mount the directory automatically when they need it • Does not use the system resources when it does not need to be mounted Nick Urbanik <nicku(at)nicku.org> ver. 1.7 The Automounter, and automating its Installation Operating Systems and Systems Integration 2 2.2 The way autofs is configured There are two sets of configuration files used by autofs: the master file, /etc/auto.master, described by man auto.master, and the map files used to define what can be mounted on individual entries listed in /etc/auto.master.
    [Show full text]
  • Automount NFS
    Automount NFS lwhsu (2019-2020, CC BY) ? (?-2018) 交大資工系資訊中心 Computer Center of Department of Computer Science, NCTU 1 Automatic mounting ● Problems of /etc/fstab ○ Maintenance of /etc/fstab in a large network ○ Crashed NFS server will make operation blocked ○ Removable media support ● automounter (autofs) daemon ○ Mount filesystems when they are referenced and unmount them when they are no longer needed ○ Supply a list of replicated filesystems as backup of important resource ○ Transparent to users 2 Automounter ● Products ○ 1988, automount (from Sun), simple and concise (Solaris & other Unix-like) ○ 1989, amd (from Jan-Simon Pendry), a.k.a. Berkeley Automounter, complicated but more powerful (*BSD and Linux, Obsoleted now) ○ 2014, autofs, starting with FreeBSD 10.1-RELEASE it has a new automounter very similar to the Solaris/Linux one 3 autofs (1) ● autofs ○ Kernel component: autofs(5) ○ Userspace applications ■ automount(8): Update autofs mounts ■ automountd(8): Daemon handling autofs mount requests ■ autounmountd(8): Daemon unmounting automounted filesystems ● Three kinds of configuration files (map) ○ Direct map ○ Indirect map Provide information about filesystems that are to be automounted ○ Master map ■ List which direct and indirect maps that automount should pay attention to ○ Difference between direct and indirect ■ All mount points in indirect map has common directory defined in master map ● https://www.freebsd.org/doc/handbook/network-nfs.html#network-autofs 4 autofs (2) ● Example of auto_master and map file (auto_master(5))
    [Show full text]
  • Managing Network File Systems in Oracle® Solaris 11.3
    Managing Network File Systems in ® Oracle Solaris 11.3 Part No: E54789 September 2018 Managing Network File Systems in Oracle Solaris 11.3 Part No: E54789 Copyright © 2002, 2018, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]