Ilf2013
-
Upload
krispcbsd -
Category
Technology
-
view
328 -
download
0
description
Transcript of Ilf2013
![Page 1: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/1.jpg)
Automating the deployment of FreeBSD & PC-BSD® systemsAutomating the deployment of FreeBSD & PC-BSD® systems
Indiana Linux Fest 2013Indiana Linux Fest 2013
Kris MooreKris MoorePC-BSD / iXsystemsPC-BSD / iXsystems
[email protected]@pcbsd.org
![Page 2: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/3.jpg)
There are currently two ways to accomplish There are currently two ways to accomplish this: this:
![Page 4: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/12.jpg)
Getting StartedGetting Started
![Page 13: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/13.jpg)
Getting StartedGetting Started
![Page 14: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/14.jpg)
Getting StartedGetting Started
● Install serverInstall server● Or desktop “Thin-Client” serverOr desktop “Thin-Client” server
![Page 15: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/15.jpg)
Short DetourShort Detour
![Page 16: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/19.jpg)
Back to your previously scheduled Back to your previously scheduled presentationpresentation
![Page 20: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/21.jpg)
Getting StartedGetting Started
![Page 22: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/23.jpg)
Its Demo time!Its Demo time!
![Page 24: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/28.jpg)
Example #2Example #2
Changing installation archiveChanging installation archive
![Page 29: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/30.jpg)
Example #3Example #3
User ManagementUser Management
![Page 31: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/32.jpg)
Example #4Example #4
Advanced CommandsAdvanced Commands
![Page 33: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/34.jpg)
Example #5Example #5
Packages, oh my!Packages, oh my!
![Page 35: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/37.jpg)
Example #6Example #6
FreeBSD dist filesFreeBSD dist files
![Page 38: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/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: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/42.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 43: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/43.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 44: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/44.jpg)
What's next?What's next?● Improvements to pc-sysinstallImprovements to pc-sysinstall
● GRUB Support!GRUB Support!● ZFS 4K BlockSize enable / disableZFS 4K BlockSize enable / disable● ZFS Pool NamingZFS Pool Naming
● Faster setup of initial thin-client Faster setup of initial thin-client environmentenvironment
![Page 45: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/45.jpg)
What's next?What's next?
● Enhanced Desktop Server SupportEnhanced Desktop Server Support● ThinClient → ThickClientThinClient → ThickClient● Sound SupportSound Support● Much more scalableMuch more scalable
![Page 46: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/46.jpg)
Questions? Comments?Questions? Comments?
wiki.pcbsd.orgwiki.pcbsd.orglists.pcbsd.orglists.pcbsd.org
forums.pcbsd.orgforums.pcbsd.org
![Page 47: Ilf2013](https://reader035.fdocuments.net/reader035/viewer/2022081404/557e306ed8b42ac75f8b4834/html5/thumbnails/47.jpg)
Thank you!Thank you!
www.slideshare.net/krispcbsd/ilf2013www.slideshare.net/krispcbsd/ilf2013