implementing dual boot clusters in a distributed environment n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Implementing Dual-Boot Clusters in a Distributed Environment PowerPoint Presentation
Download Presentation
Implementing Dual-Boot Clusters in a Distributed Environment

Loading in 2 Seconds...

play fullscreen
1 / 22

Implementing Dual-Boot Clusters in a Distributed Environment - PowerPoint PPT Presentation


  • 90 Views
  • Uploaded on

Implementing Dual-Boot Clusters in a Distributed Environment. Surajit Bose, Technology Services Manager Dustin King, Systems Imaging Architect. Our Environment. Not central IT Over 100 computer clusters, mostly unstaffed Dorms, Row Houses, Graduate Residences Central and Branch Libraries

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Implementing Dual-Boot Clusters in a Distributed Environment' - jeri


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
implementing dual boot clusters in a distributed environment
Implementing Dual-Boot Clusters in a Distributed Environment
  • Surajit Bose, Technology Services Manager
  • Dustin King, Systems Imaging Architect
our environment
Our Environment
  • Not central IT
  • Over 100 computer clusters, mostly unstaffed
    • Dorms, Row Houses, Graduate Residences
    • Central and Branch Libraries
    • Student Centers
  • Most open 24/7
  • Approximately 500 cluster machines
  • Historically, even mix of Dells and Apples
our prior infrastructure
Our Prior Infrastructure
  • Campus-wide Kerberos authentication
  • PXE/Ghost for Windows imaging
  • Windows machines joined to AD
  • Domain scripts for Windows maintenance
  • NetRestore for Mac imaging
  • Macs bound to LDAP
  • Radmind for Mac maintenance
  • Linux server environment
why dual boot
Why Dual-Boot?
  • Bypass question of optimal platform mix
  • Improve availability of single-platform software
  • Provide choice for students
  • Homogenize inventory
  • Seemed like a cool thing to try
desiderata
Desiderata
  • Network-based full-disk imaging
  • Platform parity
  • Manage each platform independently
  • Ease of switching OS
  • Non-ridiculous login times
  • Server-side control
  • Consistent imaging process across hardware
  • Shared local storage across OSes
what we discovered
What We Discovered
  • Managing the reboot cycle is difficult
  • Existing solutions unsatisfactory for us
    • BootPicker, NetRestore/WinClone Mac-centric
    • rEFIt makes management difficult
  • No network boot environment works for both Dell and Apple machines
  • Partition order matters
what we decided
What We Decided
  • Control boot process with EFI shell environment (SCUBA)
  • Inter-OS communication via locally stored state file
  • NetBoot install environment (Genie)
  • Use convoluted partition scheme
  • Use Paragon NTFS and MacDrive
  • Use customized login screens
  • Nightly maintenance reboots
  • Server-side tracking of machine state
efi shell environment
EFI Shell Environment
  • Boot to EFI shell
  • Fits on a flash drive for full-disk imaging
  • Shell modified to ignore keyboard interrupts
  • EFI toolkit has network stack, http client, Python
  • Startup script
    • validates nvram boot options
    • checks with server
    • reads and updates local state file
    • sets nextboot value in nvram
priority of boot flags
Priority of Boot Flags
  • Required (from server)
  • Mac Maintenance (from local state file, set by script)
  • Windows Maintenance (from local state file, set by script)
  • Requested (from local state file, set by user)
  • Suggested (from server)
local state file
Local State File
  • Houses maintenance and requested boot flags
  • Caches most recent response from the server
  • Has to be writable from both OSes as well as EFI shell environment
genie
Genie
  • Based on NetInstall set built with Mac OS X Server Admin Tools
  • Bash scripts check server for configuration and manage imaging process
  • Report progress through iHook
partition scheme
Partition Scheme
  • EFI System Partition: leave alone per Apple recommendation
  • FAT: store Windows images and local state file
  • NTFS: local storage space for users
  • NTFS: Windows system partition
  • HFS+: EFI shell environment
  • HFS+: Mac system partition
handling partitions
Handling Partitions
  • Mac OS X
    • Paragon NTFS
    • Remount volumes under /Library/Mounts
  • Windows XP
    • MacDrive
    • Some partitions already invisible
    • Remount volumes under c:\stucomp\mnt
nightly maintenance
Nightly Maintenance
  • Scripts on each OS write maintenance flags into state file
  • Windows
    • Python reboot service
    • Domain startup scripts
  • Mac
    • Radmind
    • iHook
server side setup
Server-Side Setup
  • Genie
  • Background downloads
  • SCUBA flags
  • Printer configuration
  • Imaging request page
  • Status “database”
gotchas
Gotchas
  • Per-seat licensing costs
  • Mouse and keyboard confusion
  • NetBoot memory management horror
  • Windows reboot behavior
  • Time and Kerberos logins
  • Permissions on shared volumes
  • SSH keys
planned enhancements
Planned Enhancements
  • Improve build processes for EFI, NetBoot environments
  • Increase structural similarity of configuration and management between platforms
  • Implement PKI for client-server communications
  • Explore emerging solutions (e.g. XHooks)
  • Implement cross-platform monitoring system
  • Reduce power usage on clients
  • Create documentation
  • Release as open-source
acknowledgments
Acknowledgments
  • Karl Kuehn, Software Image Developer
  • Alex Schorsch, Student Developer
  • Fangling Zhang, Student Developer
  • Paul Nuyujukian, Student Developer
  • Ian Comfort, Systems Administrator
slide22
Thanks!surajit@stanford.edudaking@stanford.edu_________Evaluate!http://www.resnetsymposium.org/rspm/evaluation/Thanks!surajit@stanford.edudaking@stanford.edu_________Evaluate!http://www.resnetsymposium.org/rspm/evaluation/