Download presentation
Presentation is loading. Please wait.
Published byAron Butler Modified over 9 years ago
1
Implementing Dual-Boot Clusters in a Distributed Environment Surajit Bose, Technology Services Manager Dustin King, Systems Imaging Architect
2
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
3
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
4
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
5
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
6
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
7
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
8
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
9
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)
10
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
11
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
12
Windows Login Screen (pGina)
13
Mac Login Screen (SCUBA)
14
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
15
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
16
Nightly Maintenance Scripts on each OS write maintenance flags into state file Windows Python reboot service Domain startup scripts Mac Radmind iHook
17
Server-Side Setup Genie Background downloads SCUBA flags Printer configuration Imaging request page Status “database”
18
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
19
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
20
Acknowledgments Karl Kuehn, Software Image Developer Alex Schorsch, Student Developer Fangling Zhang, Student Developer Paul Nuyujukian, Student Developer Ian Comfort, Systems Administrator
21
Questions?
22
Thanks! surajit@stanford.edu daking@stanford.edu _________ Evaluate! http://www.resnetsymposium.org/rspm/evaluation/ surajit@stanford.edu daking@stanford.edu http://www.resnetsymposium.org/rspm/evaluation/
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.