################################################################################ # _ # # ,--(_) | | # # _/ ;-._\ | | |,-. | |,--. -+- | | # # (_)( ) ) | | | | | || | | | | # # \ ;-'_/ `--' `--' `--'' ' `- `--' # # `--(_) # # # # # # Ubucon 2009 # # # # Göttingen # # # # # # # # Session # # # # Praktische Administration # # # # # # # # Dirk Deimeke # # # # # ################################################################################ ####################### # --- Vorstellung --- # ####################### Dirk Deimeke Senior System Engineer Unix bei der besten Bank in der Schweiz (laut Euromoney) Verheiratet, zwei Hunde Geboren in Wanne-Eickel / Ruhrgebiet / Nordrhein-Westfalen / Deutschland Wohnhaft im Grüt / Zürcher Oberland / Kanton Zürich / Schweiz (2008 in die Schweiz ausgewandert) Fühle mich als Weltbürger und Ruhrie (Ja, auch als Netzbürger und Querdenker) Mehr unter http://dirk.deimeke.net/ Podcast http://deimhart.net/ ############################# # --- Ubuntu-Engagement --- # ############################# 2005 Mitglied des Ubuntu Deutschland e. V. (bis heute) Mitglied des deutschen LoCo-Teams (bis heute) 2006 Administrator im Serverteam von ubuntu-eu.org (bis März 2008) Inititiator der "Regionalen Ansprechpartner" "Brief an einen Windowsnutzer" Mitglied im Ikhaya-Team von ubuntuusers.de (bis März 2007) 2007 Projektleiter bei ubuntuusers.de (bis Dezember 2007) Teilnahme an Ubucon 1 2008 (Approved) Ubuntu member Mitglied Moderatorenteam von ubuntuusers.de (bis Juni 2009) Mitglied Supporterteam von ubuntuusers.de (bis heute) Teilnahme an Ubucon 2, Workshop Shellprogrammierung für Anfänger Hosting der Seiten des Ubuntu Deutschland e. V. (bis heute) 2009 Aufbau und Hosting des deutschsprachigen Ubuntu Portals (bis heute) technische und inhaltliche Administration ubucon-Seiten (bis heute) Orga-Team Ubucon 3 https://wiki.ubuntu.com/DirkDeimeke (englisch) ###################### # --- Einführung --- # ###################### - Bin ich hier richtig? + Das weisst Du selber am besten ... :-) - Worum geht es? + Hier geht es um "praktische Administration" + Tipps und Tricks und Kniffe bei der Administration + Hilfe zum Dialog mit Vorgesetzten + Administration unabhängig vom Betriebssystem - Worum geht es hier nicht? + Konfiguration von Rechnern, Programmen oder Diensten -> Fragestunde Server ################## # --- Inhalt --- # ################## - Eigenschaften eines Systemadministrators - Wichtigste Eigenschaft eines Systemadministrators - Definitionen nach System Administrators Guild - Das Admin Zen - Ethischer Verhaltenskodex für Systemadministratoren - Bei Fragen bitte immer Fragen - Ein Teil der "Folien" ist in englischer Sprache, ich werde diese aber übersetzen - Ich stelle mir das so vor, dass diese Session ein Dialog ist und durch Eure Vorschläge angereichert wird. So kann ich von Euch und Ihr von mir lernen. #################################################### # --- Eigenschaften eines Systemadministrators --- # #################################################### - Wunsch, zu verstehen - Fehler nicht ein zweites Mal machen - Abgeben können (delegieren, externen Support nutzen, ...) - Lernwille - Warmduscher - Stressresistenz (keine Leichtfertigkeit) - Akzeptieren, dass 100% nur sehr selten erreichbar sind - Funktionierendes neuronales Netz (Intuition) - Kenntnis wenigstens einer Skripting- und einer kompilierten Sprache - Geduld - keine Angst vor Englisch ############################################################# # --- Wichtigste Eigenschaft eines Systemadministrators --- # ############################################################# Faulheit => Automatisierung, Monitoring ######################################################### # --- Definitionen nach System Administrators Guild --- # ######################################################### These definitions are guidelines, not rigid categories. As any of the variables at a site increase—number of computers, number of users, types of hardware, variety of software, and operating systems supported—the site becomes more complex. Increased site complexity typically requires increased system administration resources and also requires more experienced system administrators to manage the more complex aspects of the site. "Small, uniform site" < 50 computers, all running the same operating system, and 20 or fewer users. (A computer used only by the administrator does not qualify as a site.) "Complex site" Up to 100 computers, running more than two different operating systems, and up to 100 users. "Large, complex site" > 100 computers, potentially running more than one operating system, and >100 users. The titles proposed here may not be suitable for all sites. Senior System Administrator is a relatively standard title, but the titles in use for the lower levels vary widely from place to place. However, the levels and descriptions are likely to apply, whatever the title may be. ################################################ # --- Level I: Novice System Administrator --- # ################################################ Required Skills * Strong interpersonal and communication skills; capable of explaining simple procedures in writing or verbally; good phone skills. * Familiar with an operating system and its commands/utilities at a user level; can edit files, issue commands, find users' home directories, navigate through the file system, and use I/O redirection. * Able to follow instructions well. Required Background * Two years of college or equivalent post-high school education or experience. ############################################################## # --- Level I: Novice System Administrator (Fortsetzung) --- # ############################################################## Desirable Background and Skills * A degree or certificate in computer science or a related field. * Previous experience in customer support, computer operations, system administration, or another related area. * Motivated to advance in the profession. Appropriate Responsibilities * Performs routine tasks under the direct supervision of a more experienced administrator. * Acts as a front-line interface to users, accepting trouble reports and dispatching them to appropriate system administrators. ################################################# # --- Level II: Junior System Administrator --- # ################################################# Required Skills * Strong interpersonal and communication skills; capable of training users in applications and operating system fundamentals and writing basic documentation. * High skill with most operating system commands/utilities. * Familiarity with most basic system administration tools and processes; for example, can boot/shut down a machine, add and remove user accounts, use backup programs and fsck or chkdsk, maintain system database files (groups, hosts, aliases, usermanager). * Fundamental understanding of an operating system; for example, understands job control, soft and hard links or shortcuts, distinctions between the kernel and the user environment. Required Background * One to three years of system administration experience. ############################################################### # --- Level II: Junior System Administrator (Fortsetzung) --- # ############################################################### Desirable Background and Skills * A degree in computer science or a related field. * Familiarity with networked/distributed computing environment concepts; for example, can use the route command or administer routing and remote access service, add a workstation to a network, and mount remote filesystems. * Ability to write scripts in some administrative language (Tk, Perl, VBScript, a shell). * Programming experience in any applicable language. Appropriate Responsibilities * Administers a small, uniform site alone or assists in the administration of larger system. * Works under the general supervision of a system administrator or computer systems manager. ################################################################# # --- Level III: Intermediate/Advanced System Administrator --- # ################################################################# Required Skills * Strong interpersonal and communication skills; capable of writing purchase justifications, training users in complex topics, making presentations to an internal audience, and interacting positively with upper management. * Independent problem-solving, self-direction. * Comfortable with most aspects of operating system administration; for example, configuration of mail systems, system installation and configuration, printer systems, fundamentals of security, installing third-party software. * Has a solid understanding of a UNIX-based operating system; understands paging and swapping, inter-process communication, devices and what device drivers do, filesystem concepts (inode, clustering, logical partitions). * Familiarity with fundamental networking/distributed computing environment concepts; can configure NFS and NIS, NT domains; can use nslookup or dig to check information in the DNS; understands basic routing concepts. * Ability to write scripts in some administrative language (Tk, Perl, VBScript, a shell). * Ability to do minimal debugging and modification of C programs. ############################################################################### # --- Level III: Intermediate/Advanced System Administrator (Fortsetzung) --- # ############################################################################### Required Background * Three to five years of system administration experience. Desirable Background and Skills * A degree in computer science or a related field. * Significant programming background in any applicable language. Appropriate Responsibilities * Receives general instructions for new responsibilities from supervisor. * Administers a complex site alone or assists in the administration of a larger site. * Initiates some new responsibilities and helps to plan for the future of the site/network. * Manages novice system administrators or operators. * Evaluates and/or recommends purchases; has strong influence on purchasing process. ################################################# # --- Level IV: Senior System Administrator --- # ################################################# Required Skills * Strong interpersonal and communications skills; capable of writing proposals or papers, acting as a vendor liaison, making presentations to customers or client audiences or professional peers, and working closely with upper management. * Ability to solve problems quickly and automate processes. * A solid understanding of an operating system; understands paging and swapping, inter-process communications, devices and what device drivers do, filesystem concepts (inode, clustering, logical partitions), can use performance analysis to tune systems. * A solid understanding of networking/distributed computing environment concepts; understands principles of routing, client/server programming, the design of consistent network-wide filesystem layouts. * Ability to program in an administrative language (Tk, Perl, VBScript, a shell), to port C programs from one platform to another, and to write small C or C# programs. Required Background * More than five years of previous system administration experience. ############################################################### # --- Level IV: Senior System Administrator (Fortsetzung) --- # ############################################################### Desirable Background and Skills * A degree in computer science or a related field. * Extensive programming background in any applicable language. * Publications within the field of system administration. Appropriate Responsibilities * Designs/implements complex local and wide-area networks of machines. * Manages a large, complex site or network. * Works under general direction from senior management. * Establishes/recommends policies on system use and services. * Provides technical lead and/or supervises system administrators, system programmers, or others of equivalent seniority. * Has purchasing authority and responsibility for purchase justification. ######################### # --- Das Admin Zen --- # ######################### 1. Kenne Deine Werkzeuge! 2. Schaue nach vorne! 3. Erwarte Probleme! 4. Plane! 5. Skaliere! 6. Sichere! 7. Kommuniziere! 8. Dokumentiere! ################################## # --- Kenne Deine Werkzeuge! --- # ################################## 1. Teste Werkzeuge bevor Du sie benutzt. 2. Lies die Dokumentation. 3. Finde heraus, wie Du das beste aus Deinen täglichen Werkzeugen herausholst. 4. Nutze Versionskontrolle. Immer und überall. 5. Wenn es sich wiederholt, muss es automatisiert werden. 6. Bevorzuge Open Source. 7. Benutze keine Tools, die Du nicht bedienen kannst. 8. Benutze kein Tool, nur weil das alle machen. 9. Investiere ständig in Dein Wissen. 10. Sei interessiert. Studiere. Lerne. Für immer. 11. Habe eine Testumgebung. 12. Benutze das richtige Werkzeug für den richtigen Job. ############################## # --- Schaue nach vorne! --- # ############################## 1. Vorrausschauen statt reagieren. 2. Repariere es bevor es kapput ist. 3. Aber repariere nichts, was nicht kaputt geht. 4. Überwache Deine Infrastruktur. 5. Überwache Deinen Geschäftsbetrieb. 6. Benutze feste Messgrössen. 7. Habe ausformulierte Desaster Szenarios. 8. Wisse, was Du nicht vorhersehen kannst. ############################# # --- Erwarte Probleme! --- # ############################# 1. Ignoriere nicht eventuelle Zufälle. 2. Murphy ist da, um Dich zu holen. 3. Software geht kaputt. Hardware ebenfalls. 4. Wisse, welchen Fakten Du trauen kannst. 5. Menschen kündigen oder werden versetzt. 6. Fehler passieren nur ein Mal, alles andere sind Störfälle. 7. Wisse, wie Du mit Problemen umzugehen hast. 8. Ein Symptom ist nicht nicht die Ursache. Behebe die Ursache, nicht das Symptom. 9. Werden zum Meister der Fehlersuche. 10. So lange es keinen Test dafür gibt, kann es kein Defekt sein. ################## # --- Plane! --- # ################## 1. Fokussiere Dich auf Einfachheit, Klarheit und Schlichtheit. 2. Sicherheit, Wartbarkeit und Erweiterbarkeit sind die Basis, kein Feature. 3. Nimm Benchmarks mit einer Prise Salz. 4. Vermeide Aufgeblasenes. 5. Explizit ist besser als implizit. 6. Einfach ist besser als komplex. 7. Komplex ist besser als kompliziert. 8. Jetzt ist besser als niemals. 9. Obwohl niemals auch besser sein kann als gerade jetzt. 10. Billig zu kaufen, kann im Nachhinein mehr kosten. 11. Installiere nichts, was Du nicht warten kannst. 12. Testen passiert im Staging, nicht in der Produktion. ##################### # --- Skaliere! --- # ##################### 1. Einrichtung ist günstig, Wartung ist teuer. 2. Wisse, was Dich treffen kann. 3. Virtualisiere, wenn es sinnvoll ist. 4. Virtualisiere nicht, nur weil Du es kannst. 5. Skaliere horizontal und vertikal. 6. Habe eine Testumgebung. 7. Nutze Konfigurationsmanagement. 8. Nutze Change Management. 9. Nutze Patch Management. #################### # --- Sichere! --- # #################### 1. Niemand will Sicherungen, jeder will Rücksicherungen. 2. Um rücksichern zu können, brauchst Du ein Backup. 3. Habe ein Sicherung. 4. RAID ist keine Sicherung. 5. Es ist mehr zu sichern als nur Dateien. 6. Geräte brauchen auch eine Sicherung. 7. Selbst teure Hardware kann katastrophal ausfallen. 8. Drücke nicht auf die Enter-Taste bevor Du darüber nachgedacht hast. 9. Beständigkeit gegen Verfälschung. 10. Sicherung gegen Desaster. 11. Gesichert gegen Neugierde. ######################### # --- Kommuniziere! --- # ######################### 1. Sprich mit Deinen Kunden. 2. Höre, was sie wollen, verstehe, was sie brauchen. 3. Lerne die Kunst der Präsentation. 4. Wisse wie Du überzeugen kannst. 5. Wisse, was für jemanden wichtig ist. 6. Nutze das angepasst richtige Kommunikationsmittel. 7. Habe Experten, für alles, was für das Geschäft relevant ist. 8. Besuche Veranstaltungen, die Bezug haben zum Geschäft. 9. Warte Dein soziales Netzwerk. 10. Versuche auf eine Duz-Ebene zu kommen, wenn es angebracht ist. 11. Habe regelmässige Treffen. 12. Fehler sollen nicht zur Beschuldigung führen, sondern zur Erziehung. 13. Lerne, Kommunikation zu lieben. ######################### # --- Dokumentiere! --- # ######################### 1. Schreibe Dokumentation. 2. Mache das Dokumentieren einfach und bequem. 3. Halt die Dokumentation aktuell. 4. Sammle Dokumentation. 5. Veröffentliche Deine Dokumentation. 6. Nutze eine ToDo-Liste. 7. Nutze ein Ticket-System, wenn eine ToDo-Liste nicht ausreicht. ####################################### # --- Und hier verliessen sie ihn --- # ####################################### Leider war hier die Zeit zu Ende. Im nächsten Jahr geht es weiter mit: - System Administrators' Code of Ethics - Zeitmanagement - Zeitmanagement, Tipps - Synchron vs Asynchron - Selbstverwaltung - Mantras - Wissen ist besser als Suchen - Ziele - Zeitplanung mit ALPEN - Fazit ################### # --- Fragen? --- # ################### ________ _jgN########Ngg_ _N##N@@"" ""9NN##Np_ d###P N####p "^^" T#### d###P _g###@F _gN##@P gN###F" d###F 0###F 0###F 0###F "NN@' ___ q###r "" ################## # --- Danke! --- # ################## DDDDD AAA NN NN KK KK EEEEEEE !!! DD DD AAAAA NNN NN KK KK EE !!! DD DD AA AA NN N NN KKKK EEEEE !!! DD DD AAAAAAA NN NNN KK KK EE DDDDDD AA AA NN NN KK KK EEEEEEE !!! ################# # --- Links --- # ################# The Admin Zen http://adminzen.org/ Core Job Descriptions http://www.sage.org/field/jobs-descriptions.html Prinzipien der Systemadministration http://www.tu-chemnitz.de/urz/lehre/psa/script04/ System Administrators' Code of Ethics http://www.sage.org/ethics/ethics.html Literaturtipp: Thomas A. Limoncelli, Zeitmanagement für Systemadministratoren O'Reilly 2006, ISBN 978-3-89721-465-1 Links unter http://ubuntu.dirk.deimeke.net/ ################### # --- Kontakt --- # ################### Feedback willkommen und erwünscht E-Mail dirk.deimeke@ubuntu.com Weitere Möglichkeiten http://contact.dirk.deimeke.net/