System Installation  Suite
<ul><li>Who Am I </li></ul><ul><ul><li>Linux and Open Source Consultant </li></ul></ul><ul><ul><li>„ Infrastructure Archit...
<ul><li>WARNING </li></ul><ul><ul><li>Or Credits ;) </li></ul></ul><ul><ul><li>Sean Dague : OLS2002 Talk </li></ul></ul><u...
<ul><li>Today: </li></ul><ul><ul><li>Automating Machine Installs </li></ul></ul><ul><ul><li>Reproducable </li></ul></ul><u...
<ul><li>Common Problems </li></ul><ul><li>Accidental Identical Installs </li></ul><ul><li>Many manual changes to systems <...
<ul><li>Investing in Automation </li></ul><ul><li>How long does it take to reinstall a machine from 0 </li></ul><ul><li>To...
Facts! <ul><li>Data Backup is only a part </li></ul><ul><li>Sysadmin backup needs to be done also </li></ul><ul><li>Manual...
Do you want to ? (2) <ul><li>Install the previous racks manually </li></ul><ul><li>Over and over again ?  </li></ul><ul><l...
Do you want to ? (3) <ul><li>“ No simple admin taks is fun more than twice”  </li></ul><ul><li>s/twice/once/g; </li></ul><...
Planning your infrastructure(s.org) <ul><li>Look at the infrastructure, not at 1 machine </li></ul><ul><li>Plan changes in...
The 10 th  floor test <ul><li>Grab a random machine  (don’t take a backup before) </li></ul><ul><li>Throw it out a 10 th  ...
Imaging vs Installing <ul><li>Imaging  </li></ul><ul><ul><ul><li>- Speed </li></ul></ul></ul><ul><ul><ul><li>- Identical m...
Imaging Stinks ? <ul><ul><li>“ Imaging sucks unless you create your image with FAI” </li></ul></ul><ul><ul><li>Thomas Lang...
Sisuite History <ul><li>Spring 2000 , SF Was just announced by VA Linux , RH 6.2 , Xfree86 4.0 </li></ul><ul><li>Not many ...
<ul><li>Systemimager Suite: systemimager </li></ul><ul><ul><li>Image Base </li></ul></ul><ul><ul><li>Captures Images from ...
<ul><li>SystemImager Suite (2) </li></ul><ul><li>SystemInstaller </li></ul><ul><ul><ul><li>Evolved from LUI  </li></ul></u...
` <ul><li>SystemImager Suite (3) </li></ul><ul><li>SystemConfigurator </li></ul><ul><ul><ul><li>Post install configuration...
<ul><li>Systemimager Suite: overview </li></ul>
SIS Image  <ul><li>A Directory that contains the entire contents of the filesystems of a live machines </li></ul><ul><li>S...
Fetching an  Image  <ul><li>Install golden client as you would install any other server </li></ul><ul><li>Install systemim...
My Advise: this is not the way! <ul><li>Perfect for Quick and Dirty backups </li></ul><ul><li>Disaster recovery for single...
<ul><ul><li>si_mksiimage </li></ul></ul><ul><ul><li>Takes parameters such as  </li></ul></ul><ul><ul><ul><li>Packages list...
<ul><ul><li>Yum –installroot=/path/ -y groupinstall Base </li></ul></ul><ul><ul><li>Debootstrap </li></ul></ul><ul><ul><li...
Other Clues <ul><li>Mksidisk </li></ul><ul><li>Addclients </li></ul><ul><li>Mksimachine </li></ul><ul><li>Mksirange </li><...
Boel <ul><li>Autoinstall is driven by Brian’s Own Embedded Linux </li></ul><ul><ul><li>Special kernel and ramdisk </li></u...
Image Server <ul><li>SystemImager repository in  var/lib/systemimager </li></ul><ul><ul><li>images/images </li></ul></ul><...
Image server (2) <ul><li>DHCP Server </li></ul><ul><li>PXE Boot environment </li></ul><ul><li>/usr/share/systemimager Boel...
Bootstrap Procedure <ul><li>Create a dhcp config file with the appropriate entries </li></ul><ul><li>Machine PXE Boots ove...
AutoInstallScript <ul><li>Partition the harddisk  </li></ul><ul><li>create the filesystems  </li></ul><ul><li>mount them <...
Systemconfigurator <ul><li>Problem: </li></ul><ul><ul><li>Network configs </li></ul></ul><ul><ul><li>Hardware config </li>...
Systemconfigurator <ul><li>Further problems </li></ul><ul><ul><li>Uses perl </li></ul></ul><ul><ul><li>Can grow big </li><...
Image Maintenance <ul><li>Updateclient </li></ul><ul><li>Please don’t </li></ul><ul><li>Use package management tools </li>...
Misc Facts and Figures <ul><li>OSCAR : Uses SIS </li></ul><ul><li>Installs as fast as < 4 minutes </li></ul><ul><li>Flamet...
Alternative Tools ! <ul><li>Commercial : </li></ul><ul><ul><ul><li>RedHat Network : Satellite </li></ul></ul></ul><ul><ul>...
Links <ul><li>http://sisuite.org/ </li></ul><ul><li>http://wiki.sisuite.org </li></ul><ul><li>http://planet.grep.be / </li...
? ! <ul><li>Questions ? </li></ul>
Upcoming SlideShare
Loading in …5
×

System Imager.20051215

740 views
694 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
740
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

System Imager.20051215

  1. 1. System Installation Suite
  2. 2. <ul><li>Who Am I </li></ul><ul><ul><li>Linux and Open Source Consultant </li></ul></ul><ul><ul><li>„ Infrastructure Architect“ </li></ul></ul><ul><ul><li>Linux since 0.98 </li></ul></ul><ul><ul><li>IANAKH </li></ul></ul><ul><ul><li>Senior Consultant/CTO @ x-tend.be </li></ul></ul>
  3. 3. <ul><li>WARNING </li></ul><ul><ul><li>Or Credits ;) </li></ul></ul><ul><ul><li>Sean Dague : OLS2002 Talk </li></ul></ul><ul><ul><li>Thomas Lange : Fai talk at UKUUG 2005 </li></ul></ul><ul><ul><li>Own previous talks </li></ul></ul><ul><ul><li>infrastructures.org </li></ul></ul>
  4. 4. <ul><li>Today: </li></ul><ul><ul><li>Automating Machine Installs </li></ul></ul><ul><ul><li>Reproducable </li></ul></ul><ul><ul><li>Distro Independent </li></ul></ul><ul><ul><li>FAST </li></ul></ul><ul><ul><li>No Vendor Lock In! </li></ul></ul>
  5. 5. <ul><li>Common Problems </li></ul><ul><li>Accidental Identical Installs </li></ul><ul><li>Many manual changes to systems </li></ul><ul><li>Many undocumented changes </li></ul><ul><li>Emergency Administration only </li></ul><ul><li>Computers don’t work hard enough for us </li></ul>
  6. 6. <ul><li>Investing in Automation </li></ul><ul><li>How long does it take to reinstall a machine from 0 </li></ul><ul><li>To the exact same point as before ? </li></ul><ul><li>With different Hardware ? </li></ul><ul><li>What about customer/personal data ? </li></ul>
  7. 7. Facts! <ul><li>Data Backup is only a part </li></ul><ul><li>Sysadmin backup needs to be done also </li></ul><ul><li>Manual Installations = bad </li></ul><ul><li>Bad installations = unusable infrastructure </li></ul><ul><li>Manual efforts = no time </li></ul><ul><li>Bad installations = unproductive users </li></ul><ul><li>Bad installations= manual efforts </li></ul><ul><li>No time = no updates no patches no security </li></ul><ul><li>Manual work = high costs </li></ul>
  8. 8. Do you want to ? (2) <ul><li>Install the previous racks manually </li></ul><ul><li>Over and over again ? </li></ul><ul><li>And can you guarantee that installs are identical ? </li></ul><ul><li>Sysadmins are Lazy (by default) </li></ul>
  9. 9. Do you want to ? (3) <ul><li>“ No simple admin taks is fun more than twice” </li></ul><ul><li>s/twice/once/g; </li></ul><ul><li>Repeating installs are boring and prone to errors </li></ul><ul><li>Each installation is unintentionally Unique </li></ul><ul><li>Manual installs DO NOT scale </li></ul>
  10. 10. Planning your infrastructure(s.org) <ul><li>Look at the infrastructure, not at 1 machine </li></ul><ul><li>Plan changes in advance </li></ul><ul><li>Version Control ! </li></ul><ul><li>{SystemAdminstration,Security} is a process, not a product, or even a LifeStyle </li></ul><ul><li>Look for Similarities </li></ul><ul><li>And differences </li></ul>
  11. 11. The 10 th floor test <ul><li>Grab a random machine (don’t take a backup before) </li></ul><ul><li>Throw it out a 10 th floor window </li></ul><ul><li>Can you recover it in 10 minutes ? </li></ul>
  12. 12. Imaging vs Installing <ul><li>Imaging </li></ul><ul><ul><ul><li>- Speed </li></ul></ul></ul><ul><ul><ul><li>- Identical machines </li></ul></ul></ul><ul><ul><ul><li>- Multicasting </li></ul></ul></ul><ul><li>Installing </li></ul><ul><ul><ul><li>- Finegrained </li></ul></ul></ul><ul><ul><ul><li>- “slower” </li></ul></ul></ul><ul><ul><ul><li>- Then install the delta's </li></ul></ul></ul>
  13. 13. Imaging Stinks ? <ul><ul><li>“ Imaging sucks unless you create your image with FAI” </li></ul></ul><ul><ul><li>Thomas Lange (FAI Presentation UKUUG 2005) </li></ul></ul>
  14. 14. Sisuite History <ul><li>Spring 2000 , SF Was just announced by VA Linux , RH 6.2 , Xfree86 4.0 </li></ul><ul><li>Not many clusters (no Scyld Beowulf 2 yet) </li></ul><ul><li>RedHat had kickstart </li></ul><ul><li>IBM: Lui Linux Utility For Cluster Installation (v1.0 April 200) </li></ul><ul><ul><li>Rich Ferri , IBM </li></ul></ul><ul><ul><li>RH Only </li></ul></ul><ul><li>SystemImager v1.0 (May 2000) </li></ul><ul><ul><li>Brian Finley, VA Linux System </li></ul></ul><ul><ul><li>Redhat and Debian only </li></ul></ul>
  15. 15. <ul><li>Systemimager Suite: systemimager </li></ul><ul><ul><li>Image Base </li></ul></ul><ul><ul><li>Captures Images from a golden client </li></ul></ul><ul><ul><li>All images stored on a central server </li></ul></ul><ul><ul><li>Image is a complete copy of all disks on client </li></ul></ul><ul><ul><li>Linuxbased autoinstall system </li></ul></ul><ul><ul><ul><li>Install from Floppy, CD, Harddrive or Network </li></ul></ul></ul>
  16. 16. <ul><li>SystemImager Suite (2) </li></ul><ul><li>SystemInstaller </li></ul><ul><ul><ul><li>Evolved from LUI </li></ul></ul></ul><ul><ul><ul><li>Generates Images based on </li></ul></ul></ul><ul><ul><ul><ul><ul><ul><ul><li>Packagelist </li></ul></ul></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><ul><ul><li>Distro type </li></ul></ul></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><ul><ul><li>Partition Definition </li></ul></ul></ul></ul></ul></ul></ul>
  17. 17. ` <ul><li>SystemImager Suite (3) </li></ul><ul><li>SystemConfigurator </li></ul><ul><ul><ul><li>Post install configuration </li></ul></ul></ul><ul><ul><ul><li>Hardware detection / bootloader config </li></ul></ul></ul><ul><ul><ul><li>Distro integration </li></ul></ul></ul>
  18. 18. <ul><li>Systemimager Suite: overview </li></ul>
  19. 19. SIS Image <ul><li>A Directory that contains the entire contents of the filesystems of a live machines </li></ul><ul><li>Stored in /var/lib/systemimager/images/$NAME </li></ul><ul><li>Exported as an rsync module $NAME </li></ul><ul><li>You can chroot into it </li></ul><ul><li>Not as unchangeable as other imaging tools </li></ul>
  20. 20. Fetching an Image <ul><li>Install golden client as you would install any other server </li></ul><ul><li>Install systemimager_client on that machine </li></ul><ul><li>Prepare client </li></ul><ul><ul><li>Run si_prepareclient </li></ul></ul><ul><ul><ul><ul><li>Captures all partition info in to /etc/systemimager/ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Starts rsync daemon as rsync module “root” </li></ul></ul></ul></ul><ul><li>Capture Image from server </li></ul><ul><ul><li>Run si_getimage </li></ul></ul><ul><ul><li>Connects via rsync to rsync://golden-client/root and transfers to /var/lib/systemimager/images/$imagename </li></ul></ul><ul><ul><li>Calls mkautoinstallscript to build the autoinstallscript </li></ul></ul>
  21. 21. My Advise: this is not the way! <ul><li>Perfect for Quick and Dirty backups </li></ul><ul><li>Disaster recovery for single image setups </li></ul><ul><li>!! Don’t build your infrastructure on this method !! </li></ul><ul><li>Reproducability is low </li></ul><ul><li>Package management is better these days. </li></ul><ul><li>Minimal changes in chroot are still undocumented and error prone </li></ul>
  22. 22. <ul><ul><li>si_mksiimage </li></ul></ul><ul><ul><li>Takes parameters such as </li></ul></ul><ul><ul><ul><li>Packages list </li></ul></ul></ul><ul><ul><ul><li>Partition list </li></ul></ul></ul><ul><ul><li>Determines the distribution based on the packages </li></ul></ul><ul><ul><li>Determines”best” version to install of a package (version/architecture) </li></ul></ul><ul><li>Issues: </li></ul><ul><ul><li>Keep track of every distro ? </li></ul></ul><ul><ul><li>Staged installes ? </li></ul></ul><ul><ul><li>Ordering ? </li></ul></ul><ul><ul><li>Post installscripts fail in chroot </li></ul></ul>Building an Image
  23. 23. <ul><ul><li>Yum –installroot=/path/ -y groupinstall Base </li></ul></ul><ul><ul><li>Debootstrap </li></ul></ul><ul><ul><li>Urpmi –root=/path basesystem urpmi ssh-server </li></ul></ul><ul><ul><li>Yast </li></ul></ul><ul><ul><li>Rpmstrap </li></ul></ul>Building an Image in 2005
  24. 24. Other Clues <ul><li>Mksidisk </li></ul><ul><li>Addclients </li></ul><ul><li>Mksimachine </li></ul><ul><li>Mksirange </li></ul><ul><li>(haven’t used them lately might have si_ prepended these days) </li></ul>
  25. 25. Boel <ul><li>Autoinstall is driven by Brian’s Own Embedded Linux </li></ul><ul><ul><li>Special kernel and ramdisk </li></ul></ul><ul><ul><li>Boots from floppy,cd, harddrive or pxe </li></ul></ul><ul><ul><li>Kernel + initrd </li></ul></ul><ul><ul><li>Tarbal with busybox, extra modules , other tools are being rsynced over the network </li></ul></ul>
  26. 26. Image Server <ul><li>SystemImager repository in var/lib/systemimager </li></ul><ul><ul><li>images/images </li></ul></ul><ul><ul><li>overrides/hostname : configfiles per host containing network and hardware configs and custom scripts </li></ul></ul><ul><ul><li>scripts/ the actual machine dependent install scripts with partition information etc. </li></ul></ul>
  27. 27. Image server (2) <ul><li>DHCP Server </li></ul><ul><li>PXE Boot environment </li></ul><ul><li>/usr/share/systemimager Boel environment (mini embedded environment) </li></ul><ul><li>Rsync server </li></ul>
  28. 28. Bootstrap Procedure <ul><li>Create a dhcp config file with the appropriate entries </li></ul><ul><li>Machine PXE Boots over the network and downloads the initial kernel and initrd </li></ul><ul><li>Creates an initial ramdisk and asks ip addres, hostinfo, and installserver information. </li></ul><ul><li>download boel image and setup a minimal environment (rsync) </li></ul><ul><li>Based on the hostinfo downloads the host specific script (autoinstallscript) (hostnameXY.(sh/master)) </li></ul>
  29. 29. AutoInstallScript <ul><li>Partition the harddisk </li></ul><ul><li>create the filesystems </li></ul><ul><li>mount them </li></ul><ul><li>rsync the $image to the harddisk. </li></ul><ul><li>Run systemconfigurator </li></ul><ul><li>Run postinstall script </li></ul><ul><li>Reboot </li></ul>
  30. 30. Systemconfigurator <ul><li>Problem: </li></ul><ul><ul><li>Network configs </li></ul></ul><ul><ul><li>Hardware config </li></ul></ul><ul><ul><li>Bootloader </li></ul></ul><ul><li>Solution ? </li></ul><ul><ul><li>Build a huge matrix </li></ul></ul><ul><ul><ul><li>Unmaintainable </li></ul></ul></ul><ul><ul><li>Footprinting detect similar configs </li></ul></ul><ul><ul><ul><li>If /etc/sysconfig/network-scripts then create ifcfg-$ETH </li></ul></ul></ul><ul><ul><ul><li>If /sbin/lilo and /etc/lilo.conf exist then configure lilo </li></ul></ul></ul>
  31. 31. Systemconfigurator <ul><li>Further problems </li></ul><ul><ul><li>Uses perl </li></ul></ul><ul><ul><li>Can grow big </li></ul></ul><ul><ul><li>Needs other tools </li></ul></ul><ul><ul><li>==> Chroot into the freshly installed system </li></ul></ul><ul><li>Modular approach </li></ul><ul><ul><li>--confighw , --confignet , --configrd , --configboot , --runboot etc </li></ul></ul><ul><ul><li>Or combinations –configsi == --confighw –confignet –runboot </li></ul></ul>
  32. 32. Image Maintenance <ul><li>Updateclient </li></ul><ul><li>Please don’t </li></ul><ul><li>Use package management tools </li></ul>
  33. 33. Misc Facts and Figures <ul><li>OSCAR : Uses SIS </li></ul><ul><li>Installs as fast as < 4 minutes </li></ul><ul><li>Flamethrower adds multicast features </li></ul><ul><li>Xen integration </li></ul>
  34. 34. Alternative Tools ! <ul><li>Commercial : </li></ul><ul><ul><ul><li>RedHat Network : Satellite </li></ul></ul></ul><ul><ul><ul><li>Novell Zenworks </li></ul></ul></ul><ul><li>Open Source </li></ul><ul><ul><ul><li>Fai </li></ul></ul></ul>
  35. 35. Links <ul><li>http://sisuite.org/ </li></ul><ul><li>http://wiki.sisuite.org </li></ul><ul><li>http://planet.grep.be / </li></ul>
  36. 36. ? ! <ul><li>Questions ? </li></ul>

×