Self 2013
-
Upload
krispcbsd -
Category
Technology
-
view
904 -
download
0
description
Transcript of Self 2013
![Page 1: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/1.jpg)
Automating the deployment of FreeBSD & PC-BSD® systemsAutomating the deployment of FreeBSD & PC-BSD® systems
South East Linux 2013South East Linux 2013
Kris MooreKris MoorePC-BSD / iXsystemsPC-BSD / iXsystems
[email protected]@pcbsd.org
![Page 2: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/2.jpg)
The problem:The problem:
You want to (quickly) deploy multiple You want to (quickly) deploy multiple FreeBSD or PC-BSD systems.FreeBSD or PC-BSD systems.
You like what you hear about this whole You like what you hear about this whole “ZFS” thing“ZFS” thing
![Page 3: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/3.jpg)
There are currently two ways to accomplish There are currently two ways to accomplish this: this:
![Page 4: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/4.jpg)
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
![Page 5: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/5.jpg)
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!
![Page 6: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/6.jpg)
When to not consider Solution #1:When to not consider Solution #1:● Manual disk partitioning isn't your thingManual disk partitioning isn't your thing● You work for a livingYou work for a living
![Page 7: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/7.jpg)
Solution #2Solution #2
● Use the Use the pc-thinclientpc-thinclient utility included with utility included with PC-BSD & TrueOSPC-BSD & TrueOS
![Page 8: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/8.jpg)
When to consider Solution #2:When to consider Solution #2:● You don't enjoy disk partitioningYou don't enjoy disk partitioning● You want to have a weekendYou want to have a weekend
![Page 9: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/9.jpg)
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
![Page 10: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/10.jpg)
Getting StartedGetting Started● First, checkout a FreeBSD ports treeFirst, checkout a FreeBSD ports tree
On TrueOSOn TrueOS
# portsnap fetch extract update# portsnap fetch extract update
![Page 11: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/11.jpg)
On PC-BSDOn PC-BSD
Control panel → System Manager → Tasks Control panel → System Manager → Tasks → Fetch Ports→ Fetch Ports
![Page 12: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/12.jpg)
Getting StartedGetting Started
![Page 13: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/13.jpg)
Getting StartedGetting Started
![Page 14: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/14.jpg)
Getting StartedGetting Started
● Install serverInstall server● Or desktop “Thin-Client” serverOr desktop “Thin-Client” server
![Page 15: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/15.jpg)
Short DetourShort Detour
![Page 16: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/16.jpg)
What is Remote Desktop?What is Remote Desktop?
● The thin-client utility can operate both The thin-client utility can operate both install 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
![Page 17: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/17.jpg)
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 and You want to simplify backup, security and
managementmanagement
![Page 18: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/18.jpg)
Why should you not run Remote Desktop?Why should you not run Remote Desktop?
● You don't have a server with horsepowerYou don't have a server with horsepower● You need sound support on the clientsYou need sound support on the clients
![Page 19: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/19.jpg)
Back to your previously scheduled Back to your previously scheduled presentationpresentation
![Page 20: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/20.jpg)
Getting StartedGetting Started
● Will run DHCPDWill run DHCPD● Be careful which cable is usedBe careful which cable is used
![Page 21: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/21.jpg)
Getting StartedGetting Started
![Page 22: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/22.jpg)
Getting startedGetting started
● You may now connect a client systemYou may now connect a client system● To PXE boot, you may need to check To PXE boot, you may need to check
BIOS on client firstBIOS on client first
![Page 23: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/23.jpg)
Its Demo time!Its Demo time!
![Page 24: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/24.jpg)
Customizing the installCustomizing the install
● Of course you will want your own Of course you will want your own installation options / archives, etcinstallation options / archives, etc
● It is possible to adjust entirely on server It is possible to adjust entirely on server sideside
![Page 25: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/25.jpg)
The two key directories:The two key directories:● /home/thinclient/installscripts/home/thinclient/installscripts● /home/thinclient/installarchive/home/thinclient/installarchive
Client mounted as:Client mounted as:● /installscripts/installscripts● /installarchive/installarchive
![Page 26: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/26.jpg)
● pc-sysinstall.example can be used as a pc-sysinstall.example can be used as a template for other installationstemplate for other installations
Example #1Example #1
Changing to ZFSChanging to ZFS
![Page 27: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/27.jpg)
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 /usrcommitDiskLabelcommitDiskLabel
Converted to ZFS becomes:Converted to ZFS becomes:
disk0-part=ZFS 0 /,/root,/tmp,/usr,/vardisk0-part=ZFS 0 /,/root,/tmp,/usr,/varcommitDiskLabelcommitDiskLabel
![Page 28: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/28.jpg)
Example #2Example #2
Changing installation archiveChanging installation archive
![Page 29: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/29.jpg)
Example install archive:Example install archive:
installMedium=localinstallMedium=locallocalPath=/installarchivelocalPath=/installarchivepackageType=tarpackageType=tarinstallFile=fbsd-release.txzinstallFile=fbsd-release.txz
Changed to custom archive:Changed to custom archive:
installMedium=localinstallMedium=locallocalPath=/installarchivelocalPath=/installarchivepackageType=tarpackageType=tarinstallFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz
![Page 30: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/30.jpg)
Example #3Example #3
User ManagementUser Management
![Page 31: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/31.jpg)
# 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
![Page 32: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/32.jpg)
Example #4Example #4
Advanced CommandsAdvanced Commands
![Page 33: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/33.jpg)
# Run command inside installed system# Run command inside installed system
runCommand=sh /root/initme.shrunCommand=sh /root/initme.sh
# Run command outside installed system# Run command outside installed system
runExtCommand=mount -t devfs devfs ${FSMNT}/devrunExtCommand=mount -t devfs devfs ${FSMNT}/dev
![Page 34: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/34.jpg)
Example #5Example #5
Packages, oh my!Packages, oh my!
![Page 35: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/35.jpg)
installPackages=apache22 mysql55-serverinstallPackages=apache22 mysql55-server
Can use short package names, or full Can use short package names, or full versions.versions.
![Page 36: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/36.jpg)
PKGNG supportPKGNG support● Checks package format before installChecks package format before install● Will “boot-strap” PKGNG if necessaryWill “boot-strap” PKGNG if necessary
![Page 37: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/37.jpg)
Example #6Example #6
FreeBSD dist filesFreeBSD dist files
![Page 38: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/38.jpg)
# Install from vanilla FreeBSD dist files# Install from vanilla FreeBSD dist files
installMedium=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
![Page 39: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/39.jpg)
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 and If config exists, the client will boot and begin installation after 30 seconds.begin installation after 30 seconds.
● System will shutdown when finished System will shutdown when finished ● USE WITH CAUTION!!USE WITH CAUTION!!
![Page 40: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/40.jpg)
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 speed Will be mostly disk IO / network speed
dependentdependent
![Page 41: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/41.jpg)
ScalabilityScalability
● Default DHCP server is configured for 99 Default DHCP server is configured for 99 clientsclients
● 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;
![Page 42: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/42.jpg)
Tips and TricksTips and Tricks
● To greatly speed up installations, use ZFS To greatly speed up installations, use ZFS mirrored drives, SSD, or even TMPFSmirrored drives, SSD, or even TMPFS
![Page 43: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/43.jpg)
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
![Page 44: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/44.jpg)
Generating Config filesGenerating Config files
![Page 45: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/45.jpg)
![Page 46: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/46.jpg)
![Page 47: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/47.jpg)
![Page 48: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/48.jpg)
![Page 49: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/49.jpg)
What's next?What's next?● Improvements to pc-sysinstallImprovements to pc-sysinstall● Faster setup of initial thin-client Faster setup of initial thin-client
environmentenvironment
![Page 50: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/50.jpg)
Questions? Comments?Questions? Comments?
wiki.pcbsd.orgwiki.pcbsd.orglists.pcbsd.orglists.pcbsd.org
forums.pcbsd.orgforums.pcbsd.org
![Page 51: Self 2013](https://reader033.fdocuments.net/reader033/viewer/2022060110/5560faead8b42a8c388b4e89/html5/thumbnails/51.jpg)
Thank you!Thank you!
www.slideshare.net/krispcbsd/self-2013www.slideshare.net/krispcbsd/self-2013