• No results found

Automatic System Installations And Change Management. with FAI

N/A
N/A
Protected

Academic year: 2021

Share "Automatic System Installations And Change Management. with FAI"

Copied!
208
0
0

Loading.... (view fulltext now)

Full text

(1)

FAI

Automatic System Installations And Change Management

(2)
(3)

Henning

Sprang

(4)
(5)

OpenSource

consultant,

developer,

author

(6)
(7)

Systems management Software development QA and testing

(8)
(9)

About system

installations

(10)
(11)
(12)

Another auto-installer or config management

(13)

wonder how to rebuilt/restore configurations?

(14)

manually tinkered and tweaked over long time

(15)
(16)
(17)
(18)

Create templates from ``proper'' installations

(19)

Copy when needed and adjust them as needed

(20)
(21)

low learning cost

(22)
(23)

Inflexible - the smallest change requires rebuilding the image

Still manual work needed to get a installed system

Storage cost linear to number of different configurations

(24)

Configuration

(25)

Manual work

(26)
(27)

Much lower storage cost Higher flexibility

(28)
(29)

Full-blown development project (you'll realize after a while)

You solve every problem on your own, instead of reusing work of others

(30)

Use available

Auto-Installer

(31)

Anaconda / Kickstart: Fedora-based

(32)
(33)

Nlite/Unattend:

(34)

FAI: Debian-based, Fedora-based, SuSE-based, Windows experimental, Solaris possible

(35)

Others:

Solaris Jumpstart

(36)
(37)
(38)

Shellscript-based

(39)

Community support by seasoned "`Installers"'

(40)

Diverse client- and server- distributions

(41)

Multiple installation types and

(42)

Can be used for real hardware and virtualization systems

(43)

One-Step-Install bare metal

to

(44)

Easily integrate other tools CFEngine

Puppet

(45)
(46)

Started 1999 by Thomas Lange at the University of cologne

(47)

Base idea:

structured and planned installation

(48)

Plan your installation, and FAI installs your plan

(49)
(50)

Today about 10 active

developers, small but nice community

(51)

Since 2005 softupdates from Henning Glawe included

(52)

Who

is using it

for what?

(53)

EDF uses FAI (with GOSA) for some research clusters

(54)

LiMux in Munich:

installs/updates 400(to be 14000) clients/servers

(55)

Multiple top 500 High Performance Clusters

(56)

Small home networks

(57)

GRML admin live CD built with FAI

(58)
(59)
(60)
(61)

A class

defines system properties and actions to be taken

(62)

Class-assignment with simple texfile,

database, or scripts

(63)

Systems can be assigned to multiple classes

(64)
(65)

Debian-based Dependencies:

Perl, NFS, TFTP, debootstrap So, easy to port!

(66)
(67)
(68)

Different installation types

(69)

Integrated versioning with subversion, CVS, git

(70)
(71)
(72)

Network installation

(73)
(74)

Directly calling „dirinstall“

for chroots

(75)

With grml-live:

(76)

The

installation/update

process

(77)

Most important FAI "tasks" (steps of installation)

(78)

defclass:

Class definition(assignment) for the target system

(79)

partition:

(80)

extrbase:

(81)

debconf:

(82)

instsoft:

(83)

Configure:

(84)

savelog:

Push logfiles on the install Server

(85)
(86)

Considerations

and

(87)
(88)

Decide the matching install type (net/cd/dirinstall)

(89)
(90)

Use cases

Network and environment Software-packages

Additional files and config adjustments Acess control, Identity Management, ...

(91)
(92)
(93)

How and when should

which patches be applied?

(94)

Testing processes

(95)
(96)

Automatic

(scheduled, timebased) or

manually started?

(97)

Setup and

(98)

Installation on Debian:

(99)

Adjust install server setup in /etc/fai

(100)

fai.conf:

LOGUSER=fai, LOGPROTO=ssh (for Logging via ssh)

apt/sources.list:

use local mirror if available make-fai-nfsroot.conf:

(101)

FAI server is configured! Now create NFSroot:

(102)

For PXE-Boot: fai-chboot

(103)

Without PXE / Installation from CD:

(104)

Infrastructure services

for network install

(105)

DNS entry

(106)

DHCP config:

(107)

some FAI-specific stuff:

option root-path "/srv/fai/nfsroot ..." server-name "faiserver"; # boot-server

next-server 172.20.2.64; # tftp server: kernel filename "pxelinux.0";

(108)
(109)

Configurations for installation

are stored in

(110)
(111)

requirements from installation plan

(112)

Example included in

(113)
(114)
(115)

class disk_config basefiles debconf package_config scripts files hooks

(116)
(117)

class contains

(118)

Simplest way:

(119)

Some sample classes:

(120)
(121)

E.G.:

check specific hardware, MAC or IP,

(122)
(123)

Minimal base images for non-Debian distributions and special uses

(124)

Task "extrbase"

checks this directory for matching images

(125)
(126)

You could also

put an image here and skip the rest :)

(127)
(128)

detailed control over

(129)
(130)
(131)

# example of new config file for setup-storage #

# <type> <mountpoint> <size> <fs type> <mount options> <misc options>

disk_config disk1 disklabel:msdos

primary / 250 ext3 rw,errors=remount-ro logical swap 200-1000 swap rw

logical /var 600-1300 ext3 rw createopts="-m 5" \ tuneopts="-c 0 -i 0"

logical /tmp 100-1G ext3 rw createopts="-m 0" \ tuneopts="-c 0 -i 0"

logical /usr 1G-8G ext3 rw

logical /home 100-50% ext3 rw,nosuid createopts="-m 1" \ tuneopts="-c 0 -i 0"

(132)

Adjust

configspace: debconf

(133)
(134)
(135)
(136)

Adjust configspace: package_config

(137)

Contents:

(138)

Purpose:

(139)

Supports many

(140)

install (apt-get) aptitude

taskinst (Debian tasks=Package collections) urpmi (mandriva)

yumi (Fedora)

y2i (SuSE y2pmsh) yast (SuSE yast -i)

(141)

PACKAGES aptitude

fortune-mod fortunes rstat-client #rstatd rusers rusersd

# only when also class XORG is defined PACKAGES aptitude XORG

bb frozen-bubble xpenguins Example package_config/DEMO from simple examples:

(142)

Adjust Configspace: scripts

#!/bin/bash

#!/usr/bin/cfagent

(143)

scripts to be executed

(144)
(145)

Need for others?

(146)

Naming scheme:

(147)
(148)
(149)

. |-- AMD64 | `-- 99-discover-bug |-- DEMO | |-- 10-misc | `-- 30-demo |-- FAIBASE | |-- 10-misc | |-- 30-interface | `-- 40-misc |-- FAISERVER | |-- 10-conffiles | `-- 20-copy-mirror |-- GRUB | `-- 10-setup `-- LAST `-- 50-misc scripts example:

(150)
(151)
(152)
(153)
(154)
(155)
(156)
(157)
(158)

‘-- etc |-- X11 | ‘-- xorg.conf | |-- ATI | ‘-- NVIDIA |-- apache2 | ‘-- conf.d | ‘-- debian-mirror.conf | ‘--FAISERVER ‘-- fai ‘-- fai.conf |-- FAISERVER ‘-- FAI_SOFTUPDATE_CLIENT sample:

(159)
(160)

Naming scheme:

(161)
(162)

partition.XENU instsoft.FAIBASE

savelog.LAST.source

(163)
(164)

Depending on

(165)

Boot via PXE

Bootfloppy install-CD USB Stick

(166)

fai dirinstall <TARGETDIR> into mounted blockdevice

(167)

Call dirinstall from

(168)
(169)

Depending on number of

(170)

(automatic)Restart with production configuration

(171)
(172)

Advanced stuff

Outlook

(173)

Support stuff for more

(174)
(175)

Automatic Tests

(176)

hooks/scripts could check files and configurations

(177)

No LDAP?

Management-Tool/lightweight GUI without GOSA

(178)
(179)

Comparison

(180)
(181)

I Only scratched Puppet's surface yet!

(182)
(183)

I actually

like puppet quite well

(184)

The

(185)

Puppet has data encryption functionality!

(186)

FAI has a simpler

file copying structure

Could be „emulated“ with some code in puppet.

(187)

Puppet: only "configuration" FAI: also partition and base install

(188)

FAI has multiple specific logs Puppet logs into syslog

(189)

FAI: config files + scripts

Puppet: everything is a script

(most „config-filish“ - found some strange syntax skimming through)

(190)

Puppet:

advanced client/server config push

FAI: (scripted) ssh into

(191)

FAI is a bit more mature - no youth problems

(192)

Puppet has some more advanced distribution abstractions

(193)

FAI is still lacking a nice Logo and website :)

(194)

BOTH:

cool tools

(195)

Can work together

well and easy

(196)
(197)

FAI is

a powerful tool

for

(198)
(199)
(200)

Structured

approach

References

Related documents

Seedling densities of understory-intolerant species were not significantly different between natural communities, for any treatment level (Figure 3c). In xeric woodlands, the

The whisker barrel (positive BOLD) region shows the ‘deoxy dip’ the surrounding cortical (negative BOLD) region does not (insert). 2D-OIS haemodynamic data for c) the

4 of 2009 concerning Mineral and Coal Mining by strengthening the articles relating to reclamation and post-mining supervision, increasing more effective coordination

The goal of Vermont Fuels For Schools is to provide schools with the information and support needed to evaluate and successfully implement woodchip and other biomass heating

ratio, and stock market capitalization as a share of GDP as measures of stock market development. The stock market is an alternative source of long-term financing and its inclusion

The fundamental part underlying our approach is a CBR cycle integrated with analogical and commonsense reasoning components, capable of: (1) creating a middle-ground

Findings by UN agencies and National Sample Survey (NSS) have supported farm size and productivity relationship. Small farms have been the main stay for food security and