Texas 2013
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Texas 2013

on

  • 255 views

Texas Linux Fest - PC-BSD installation talk

Texas Linux Fest - PC-BSD installation talk

Statistics

Views

Total Views
255
Views on SlideShare
255
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Texas 2013 Presentation Transcript

  • 1. Automating the deployment of FreeBSD & PC-BSD® systemsAutomating the deployment of FreeBSD & PC-BSD® systemsTexas Linux Fest 2013Texas Linux Fest 2013Kris MooreKris MoorePC-BSD / iXsystemsPC-BSD / iXsystemskris@pcbsd.orgkris@pcbsd.org
  • 2. The problem:The problem:You want to (quickly) deploy multipleYou want to (quickly) deploy multipleFreeBSD or PC-BSD systems.FreeBSD or PC-BSD systems.You like what you hear about this wholeYou like what you hear about this whole“ZFS” thing“ZFS” thing
  • 3. There are currently two ways to accomplishThere are currently two ways to accomplishthis:this:
  • 4. Solution #1Solution #1●Write your own installation scriptsWrite your own installation scripts●Configure network booting by handConfigure network booting by hand●Maintain as necessaryMaintain as necessary
  • 5. When to consider Solution #1:When to consider Solution #1:●You have a very unique installationYou have a very unique installation●You are a FreeBSD God – Congrats!You are a FreeBSD God – Congrats!
  • 6. When to not consider Solution #1:When to not consider Solution #1:●Manual disk partitioning isnt your thingManual disk partitioning isnt your thing●You work for a livingYou work for a living
  • 7. Solution #2Solution #2●Use theUse the pc-thinclientpc-thinclient utility included withutility included withPC-BSD & TrueOSPC-BSD & TrueOS
  • 8. When to consider Solution #2:When to consider Solution #2:●You dont enjoy disk partitioningYou dont enjoy disk partitioning●You want to have a weekendYou want to have a weekend
  • 9. What you will need:What you will need:●A system with a network interface (2)?A system with a network interface (2)?●Running PC-BSD 9.1 / TrueOS 9.1Running PC-BSD 9.1 / TrueOS 9.1●A few GB of disk spaceA few GB of disk space
  • 10. Getting StartedGetting Started●First, checkout a FreeBSD ports treeFirst, checkout a FreeBSD ports treeOn TrueOSOn TrueOS# portsnap fetch extract update# portsnap fetch extract update
  • 11. On PC-BSDOn PC-BSDControl panel → System Manager → TasksControl panel → System Manager → Tasks→ Fetch Ports→ Fetch Ports
  • 12. Getting StartedGetting Started
  • 13. Getting StartedGetting Started
  • 14. Getting StartedGetting Started●Install serverInstall server●Or desktop “Thin-Client” serverOr desktop “Thin-Client” server
  • 15. Short DetourShort Detour
  • 16. What is Remote Desktop?What is Remote Desktop?●The thin-client utility can operate bothThe thin-client utility can operate bothinstall server or desktop serverinstall server or desktop server●Allows diskless clients to boot via PXEAllows diskless clients to boot via PXE●Brings up GDM login on clientBrings up GDM login on client
  • 17. Why would you run Remote Desktop?Why would you run Remote Desktop?●You have a bunch of low-end clientsYou have a bunch of low-end clients●You want to simplify backup, security andYou want to simplify backup, security andmanagementmanagement
  • 18. Why should you not run Remote Desktop?Why should you not run Remote Desktop?●You dont have a server with horsepowerYou dont have a server with horsepower●You need sound support on the clientsYou need sound support on the clients
  • 19. Back to your previously scheduledBack to your previously scheduledpresentationpresentation
  • 20. Getting StartedGetting Started●Will run DHCPDWill run DHCPD●Be careful which cable is usedBe careful which cable is used
  • 21. Getting StartedGetting Started
  • 22. Getting startedGetting started●You may now connect a client systemYou may now connect a client system●To PXE boot, you may need to checkTo PXE boot, you may need to checkBIOS on client firstBIOS on client first
  • 23. Its Demo time!Its Demo time!
  • 24. Customizing the installCustomizing the install●Of course you will want your ownOf course you will want your owninstallation options / archives, etcinstallation options / archives, etc●It is possible to adjust entirely on serverIt is possible to adjust entirely on serversideside
  • 25. The two key directories:The two key directories:●/home/thinclient/installscripts/home/thinclient/installscripts●/home/thinclient/installarchive/home/thinclient/installarchiveClient mounted as:Client mounted as:●/installscripts/installscripts●/installarchive/installarchive
  • 26. ●pc-sysinstall.example can be used as apc-sysinstall.example can be used as atemplate for other installationstemplate for other installationsExample #1Example #1Changing to ZFSChanging to ZFS
  • 27. Example disk layout:Example disk layout:disk0-part=UFS+SUJ 1000 /disk0-part=UFS+SUJ 1000 /disk0-part=SWAP 2000 nonedisk0-part=SWAP 2000 nonedisk0-part=UFS+SUJ 0 /usrdisk0-part=UFS+SUJ 0 /usrcommitDiskLabelcommitDiskLabelConverted to ZFS becomes:Converted to ZFS becomes:disk0-part=ZFS 0 /,/root,/tmp,/usr,/vardisk0-part=ZFS 0 /,/root,/tmp,/usr,/varcommitDiskLabelcommitDiskLabel
  • 28. Example #2Example #2Changing installation archiveChanging installation archive
  • 29. Example install archive:Example install archive:installMedium=localinstallMedium=locallocalPath=/installarchivelocalPath=/installarchivepackageType=tarpackageType=tarinstallFile=fbsd-release.txzinstallFile=fbsd-release.txzChanged to custom archive:Changed to custom archive:installMedium=localinstallMedium=locallocalPath=/installarchivelocalPath=/installarchivepackageType=tarpackageType=tarinstallFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz
  • 30. Example #3Example #3User ManagementUser Management
  • 31. # Root Password# Root PasswordrootPass=rootrootPass=root# User Setup# User SetupuserName=krisuserName=krisuserComment=Kris MooreuserComment=Kris MooreuserPass=krisuserPass=krisuserShell=/bin/cshuserShell=/bin/cshuserHome=/home/krisuserHome=/home/krisuserGroups=wheel,operatoruserGroups=wheel,operatorcommitUsercommitUser
  • 32. Example #4Example #4Advanced CommandsAdvanced Commands
  • 33. # Run command inside installed system# Run command inside installed systemrunCommand=sh /root/initme.shrunCommand=sh /root/initme.sh# Run command outside installed system# Run command outside installed systemrunExtCommand=mount -t devfs devfs ${FSMNT}/devrunExtCommand=mount -t devfs devfs ${FSMNT}/dev
  • 34. Example #5Example #5Packages, oh my!Packages, oh my!
  • 35. installPackages=apache22 mysql55-serverinstallPackages=apache22 mysql55-serverCan use short package names, or fullCan use short package names, or fullversions.versions.
  • 36. PKGNG supportPKGNG support●Checks package format before installChecks package format before install●Will “boot-strap” PKGNG if necessaryWill “boot-strap” PKGNG if necessary
  • 37. Example #6Example #6FreeBSD dist filesFreeBSD dist files
  • 38. # Install from vanilla FreeBSD dist files# Install from vanilla FreeBSD dist filesinstallMedium=localinstallMedium=locallocalPath=/distfiles/9.1-Release/amd64/distlocalPath=/distfiles/9.1-Release/amd64/distpackageType=distpackageType=distdistFiles=base doc games kernel lib32distFiles=base doc games kernel lib32
  • 39. Putting the Automated in “Fully Automated”Putting the Automated in “Fully Automated”File: /home/thinclient/installscripts/unattended.cfgFile: /home/thinclient/installscripts/unattended.cfg●If config exists, the client will boot andIf config exists, the client will boot andbegin installation after 30 seconds.begin installation after 30 seconds.●System will shutdown when finishedSystem will shutdown when finished●USE WITH CAUTION!!USE WITH CAUTION!!
  • 40. ScalabilityScalability●All CPU instructions are run on the clientAll CPU instructions are run on the client●Server is in essence a large “File Server”Server is in essence a large “File Server”●Will be mostly disk IO / network speedWill be mostly disk IO / network speeddependentdependent
  • 41. ScalabilityScalability●Default DHCP server is configured for 99Default DHCP server is configured for 99clientsclients●To adjust edit the file:To adjust edit the file:●/usr/local/etc/dhcpd.conf/usr/local/etc/dhcpd.conf●range 192.168.2.100 192.168.2.199;range 192.168.2.100 192.168.2.199;
  • 42. Tips and TricksTips and Tricks●To greatly speed up installations, use ZFSTo greatly speed up installations, use ZFSmirrored drives, SSD, or even TMPFSmirrored drives, SSD, or even TMPFS
  • 43. Tips and TricksTips and Tricks●The PC-BSD GUI installer is your friendThe PC-BSD GUI installer is your friend●Every install is a scripted installEvery install is a scripted install●After installation a copy of the pc-After installation a copy of the pc-sysinstall.cfg file is saved to:sysinstall.cfg file is saved to:●/root/pc-sysinstallcfg/root/pc-sysinstallcfg
  • 44. Generating Config filesGenerating Config files
  • 45. Whats next?Whats next?●Improvements to pc-sysinstallImprovements to pc-sysinstall●Faster setup of initial thin-clientFaster setup of initial thin-clientenvironmentenvironment
  • 46. Questions? Comments?Questions? Comments?wiki.pcbsd.orgwiki.pcbsd.orglists.pcbsd.orglists.pcbsd.orgforums.pcbsd.orgforums.pcbsd.org
  • 47. Thank you!Thank you!www.slideshare.net/krispcbsd/texas2013www.slideshare.net/krispcbsd/texas2013