SlideShare a Scribd company logo
Automating the deployment of FreeBSD & PC-BSD® systemsAutomating the deployment of FreeBSD & PC-BSD® systems
EuroBSDCon 2013EuroBSDCon 2013
Kris MooreKris Moore
PC-BSD / iXsystemsPC-BSD / iXsystems
kris@pcbsd.orgkris@pcbsd.org
The problem:The problem:
You want to (quickly) deploy multipleYou want to (quickly) deploy multiple
FreeBSD or PC-BSD systems.FreeBSD or PC-BSD systems.
You want a variety of scripted installsYou want a variety of scripted installs
There are currently two ways to accomplishThere are currently two ways to accomplish
this:this:
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
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!
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
Solution #2Solution #2
●
Use theUse the pc-thinclientpc-thinclient utility included withutility included with
PC-BSD & TrueOSPC-BSD & TrueOS
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.1Running PC-BSD > 9.1
oror
●
Port: sysutils/pcbsd-utilsPort: sysutils/pcbsd-utils
●
A few GB of disk spaceA few GB of disk space
Getting StartedGetting Started
Getting StartedGetting Started
Getting StartedGetting Started
●
Install serverInstall server
●
Or desktop “Thin-Client” serverOr desktop “Thin-Client” server
Short DetourShort Detour
What is Remote Desktop?What is Remote Desktop?
●
The thin-client utility can operate bothThe 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
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 and
managementmanagement
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
Back to your previously scheduledBack to your previously scheduled
presentationpresentation
Getting StartedGetting Started
●
Will run DHCPDWill run DHCPD
●
Be careful which interface you plug intoBe careful which interface you plug into
Getting StartedGetting Started
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 check
BIOS on client firstBIOS on client first
Customizing the installCustomizing the install
●
Of course you will want your ownOf course you will want your own
installation options / archives, etcinstallation options / archives, etc
●
It is possible to adjust entirely on serverIt is possible to adjust entirely on server
sideside
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
●
pc-sysinstall.example can be used as apc-sysinstall.example can be used as a
template for other installationstemplate for other installations
Example #1Example #1
Changing to ZFSChanging to ZFS
Example disk layout:Example disk layout:
disk0-part=UFS+SUJ 1000 /disk0-part=UFS+SUJ 1000 /
disk0-part=SWAP 2000 nonedisk0-part=SWAP 2000 none
disk0-part=UFS+SUJ 0 /usrdisk0-part=UFS+SUJ 0 /usr
commitDiskLabelcommitDiskLabel
Converted to ZFS becomes:Converted to ZFS becomes:
disk0-part=ZFS 0 /,/root,/tmp,/usr,/vardisk0-part=ZFS 0 /,/root,/tmp,/usr,/var
commitDiskLabelcommitDiskLabel
Slightly more complex ZFS layout:Slightly more complex ZFS layout:
disk0-part=ZFS 0 /(atime=off)disk0-part=ZFS 0 /(atime=off), /root(compress=lz4),, /root(compress=lz4),
/tmp,/usr(canmount=off),/usr/local(compress=lz4), /var,/tmp,/usr(canmount=off),/usr/local(compress=lz4), /var,
/var/log(compress=gzip)/var/log(compress=gzip)
commitDiskLabelcommitDiskLabel
Example #2Example #2
Changing installation archiveChanging installation archive
Example install archive:Example install archive:
installMedium=localinstallMedium=local
localPath=/installarchivelocalPath=/installarchive
packageType=tarpackageType=tar
installFile=fbsd-release.txzinstallFile=fbsd-release.txz
Changed to custom archive:Changed to custom archive:
installMedium=localinstallMedium=local
localPath=/installarchivelocalPath=/installarchive
packageType=tarpackageType=tar
installFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz
Example local installExample local install
installMedium=localinstallMedium=local
localPath=/installarchivelocalPath=/installarchive
packageType=tarpackageType=tar
installFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz
Changed to remote:Changed to remote:
installMedium=ftpinstallMedium=ftp
ftpPath=ftp://example.org/installfilesftpPath=ftp://example.org/installfiles
packageType=tarpackageType=tar
installFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz
Example #3Example #3
User ManagementUser Management
# Root Password# Root Password
rootPass=rootrootPass=root
# User Setup# User Setup
userName=krisuserName=kris
userComment=Kris MooreuserComment=Kris Moore
userPass=krisuserPass=kris
userShell=/bin/cshuserShell=/bin/csh
userHome=/home/krisuserHome=/home/kris
userGroups=wheel,operatoruserGroups=wheel,operator
commitUsercommitUser
Example #4Example #4
Advanced CommandsAdvanced Commands
# 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
Example #5Example #5
Packages, oh my!Packages, oh my!
installPackages=apache22 mysql55-serverinstallPackages=apache22 mysql55-server
Can use short package names, or fullCan use short package names, or full
versions.versions.
PKGNG supportPKGNG support
●
Checks package format before installChecks package format before install
●
Will “boot-strap” PKGNG if necessaryWill “boot-strap” PKGNG if necessary
Example #6Example #6
FreeBSD dist filesFreeBSD dist files
# Install from vanilla FreeBSD dist files# Install from vanilla FreeBSD dist files
installMedium=localinstallMedium=local
localPath=/distfiles/9.1-Release/amd64/distlocalPath=/distfiles/9.1-Release/amd64/dist
packageType=distpackageType=dist
distFiles=base doc games kernel lib32distFiles=base doc games kernel lib32
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 and
begin installation after 30 seconds.begin installation after 30 seconds.
●
System will shutdown when finishedSystem will shutdown when finished
●
USE WITH CAUTION!!USE WITH CAUTION!!
Its Demo time!Its Demo time!
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 speed
dependentdependent
ScalabilityScalability
●
Default DHCP server is configured for 99Default 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;
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
Tips and TricksTips and Tricks
●
To greatly speed up installations, use ZFSTo greatly speed up installations, use ZFS
mirrored drives, SSD, or even TMPFSmirrored drives, SSD, or even TMPFS
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
●
Install from ZFS replicationInstall from ZFS replication
●
Faster setup of initial thin-clientFaster setup of initial thin-client
environmentenvironment
What's next?What's next?
●
Web interface to config file managementWeb interface to config file management
●
Allow editing configsAllow editing configs
●
Creating MAC entries → Config FileCreating MAC entries → Config File
●
Text-based front-end to PC-BSDText-based front-end to PC-BSD
●
Basic at firstBasic at first
●
Will allow install / prototyping via CLIWill allow install / prototyping via CLI
What's next?What's next?
●
Enhanced Desktop Server SupportEnhanced Desktop Server Support
●
ThinClient → ThickClientThinClient → ThickClient
●
Sound SupportSound Support
●
Much more scalableMuch more scalable
Questions? Comments?Questions? Comments?
wiki.pcbsd.orgwiki.pcbsd.org
lists.pcbsd.orglists.pcbsd.org
forums.pcbsd.orgforums.pcbsd.org
Thank you!Thank you!
slideshare.net/krispcbsd/eurobsd2013slideshare.net/krispcbsd/eurobsd2013

More Related Content

What's hot

What every data programmer needs to know about disks
What every data programmer needs to know about disksWhat every data programmer needs to know about disks
What every data programmer needs to know about disks
iammutex
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
Cumulus Networks
 
Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)
Bud Siddhisena
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77
chhorn
 
NetBSD workshop
NetBSD workshopNetBSD workshop
NetBSD workshop
Jun Ebihara
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
Jian-Hong Pan
 
NetBSDworkshop
NetBSDworkshopNetBSDworkshop
NetBSDworkshop
Jun Ebihara
 
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
NETWAYS
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622Todd Deshane
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
Vanika Kapoor
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
ViSenze - Artificial Intelligence for the Visual Web
 
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware ManagementLinux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware Management
Kenny (netman)
 
Upgrade ux-fosdem-2015-gdhaese
Upgrade ux-fosdem-2015-gdhaeseUpgrade ux-fosdem-2015-gdhaese
Upgrade ux-fosdem-2015-gdhaese
Gratien D'haese
 
Keith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres OpenKeith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres OpenPostgresOpen
 
LSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVMLSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVM
Marian Marinov
 
OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo
家榮 吳
 

What's hot (18)

What every data programmer needs to know about disks
What every data programmer needs to know about disksWhat every data programmer needs to know about disks
What every data programmer needs to know about disks
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
 
Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)Recipe of a linux Live CD (archived)
Recipe of a linux Live CD (archived)
 
Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77Using cobbler in a not so small environment 1.77
Using cobbler in a not so small environment 1.77
 
Os Bernier
Os BernierOs Bernier
Os Bernier
 
NetBSD workshop
NetBSD workshopNetBSD workshop
NetBSD workshop
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
 
NetBSDworkshop
NetBSDworkshopNetBSDworkshop
NetBSDworkshop
 
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
OSDC 2016 - Interesting things you can do with ZFS by Allan Jude&Benedict Reu...
 
S4 xen hypervisor_20080622
S4 xen hypervisor_20080622S4 xen hypervisor_20080622
S4 xen hypervisor_20080622
 
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISORLOAD BALANCING OF APPLICATIONS  USING XEN HYPERVISOR
LOAD BALANCING OF APPLICATIONS USING XEN HYPERVISOR
 
Chap 17 advfs
Chap 17 advfsChap 17 advfs
Chap 17 advfs
 
Cobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale EnvironmentsCobbler, Func and Puppet: Tools for Large Scale Environments
Cobbler, Func and Puppet: Tools for Large Scale Environments
 
Linux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware ManagementLinux fundamental - Chap 12 Hardware Management
Linux fundamental - Chap 12 Hardware Management
 
Upgrade ux-fosdem-2015-gdhaese
Upgrade ux-fosdem-2015-gdhaeseUpgrade ux-fosdem-2015-gdhaese
Upgrade ux-fosdem-2015-gdhaese
 
Keith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres OpenKeith Paskett - Postgres on ZFS @ Postgres Open
Keith Paskett - Postgres on ZFS @ Postgres Open
 
LSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVMLSA2 - 01 Virtualization with KVM
LSA2 - 01 Virtualization with KVM
 
OpenWRT guide and memo
OpenWRT guide and memoOpenWRT guide and memo
OpenWRT guide and memo
 

Similar to eurobsd2013

Asiabsdcon2013
Asiabsdcon2013Asiabsdcon2013
Asiabsdcon2013
krispcbsd
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012
Philip Polstra
 
Snapshots, Replication, and Boot-Environments by Kris Moore
Snapshots, Replication, and Boot-Environments by Kris Moore Snapshots, Replication, and Boot-Environments by Kris Moore
Snapshots, Replication, and Boot-Environments by Kris Moore
eurobsdcon
 
Polstra 44con2012
Polstra 44con2012Polstra 44con2012
Polstra 44con2012
Philip Polstra
 
Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012
44CON
 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
Dru Lavigne
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOSEric Saxby
 
Perfect Linux Desktop - OpenSuSE 12.2
Perfect Linux Desktop - OpenSuSE 12.2Perfect Linux Desktop - OpenSuSE 12.2
Perfect Linux Desktop - OpenSuSE 12.2Davor Guttierrez
 
Fedora Linux
Fedora LinuxFedora Linux
Fedora Linux
Gaurav Paliwal
 
Linux conf-admin
Linux conf-adminLinux conf-admin
Linux conf-adminbadamisri
 
Linux conf-admin
Linux conf-adminLinux conf-admin
Linux conf-admin
badamisri
 
openbsd-as-nas.pdf
openbsd-as-nas.pdfopenbsd-as-nas.pdf
openbsd-as-nas.pdf
ssuserabc40f
 
Managing server secrets at scale with SaltStack and a vaultless password manager
Managing server secrets at scale with SaltStack and a vaultless password managerManaging server secrets at scale with SaltStack and a vaultless password manager
Managing server secrets at scale with SaltStack and a vaultless password manager
Ignat Korchagin
 
02 Hadoop deployment and configuration
02 Hadoop deployment and configuration02 Hadoop deployment and configuration
02 Hadoop deployment and configuration
Subhas Kumar Ghosh
 
Fedora linux installtion
Fedora linux installtionFedora linux installtion
Fedora linux installtionDeepa Rani
 

Similar to eurobsd2013 (20)

Scale2013
Scale2013Scale2013
Scale2013
 
Asiabsdcon2013
Asiabsdcon2013Asiabsdcon2013
Asiabsdcon2013
 
The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012The Deck by Phil Polstra GrrCON2012
The Deck by Phil Polstra GrrCON2012
 
Snapshots, Replication, and Boot-Environments by Kris Moore
Snapshots, Replication, and Boot-Environments by Kris Moore Snapshots, Replication, and Boot-Environments by Kris Moore
Snapshots, Replication, and Boot-Environments by Kris Moore
 
Polstra 44con2012
Polstra 44con2012Polstra 44con2012
Polstra 44con2012
 
Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012Hacking and Forensics on the Go - 44CON 2012
Hacking and Forensics on the Go - 44CON 2012
 
Dru lavigne servers-tutorial
Dru lavigne servers-tutorialDru lavigne servers-tutorial
Dru lavigne servers-tutorial
 
Chef on SmartOS
Chef on SmartOSChef on SmartOS
Chef on SmartOS
 
Perfect Linux Desktop - OpenSuSE 12.2
Perfect Linux Desktop - OpenSuSE 12.2Perfect Linux Desktop - OpenSuSE 12.2
Perfect Linux Desktop - OpenSuSE 12.2
 
Fedora Linux
Fedora LinuxFedora Linux
Fedora Linux
 
Linux_Fedora_ppt
Linux_Fedora_pptLinux_Fedora_ppt
Linux_Fedora_ppt
 
Linux conf-admin
Linux conf-adminLinux conf-admin
Linux conf-admin
 
Linux Conf Admin
Linux Conf AdminLinux Conf Admin
Linux Conf Admin
 
Linux conf-admin
Linux conf-adminLinux conf-admin
Linux conf-admin
 
openbsd-as-nas.pdf
openbsd-as-nas.pdfopenbsd-as-nas.pdf
openbsd-as-nas.pdf
 
Xen time machine
Xen time machineXen time machine
Xen time machine
 
Managing server secrets at scale with SaltStack and a vaultless password manager
Managing server secrets at scale with SaltStack and a vaultless password managerManaging server secrets at scale with SaltStack and a vaultless password manager
Managing server secrets at scale with SaltStack and a vaultless password manager
 
02 Hadoop deployment and configuration
02 Hadoop deployment and configuration02 Hadoop deployment and configuration
02 Hadoop deployment and configuration
 
Fedora linux installtion
Fedora linux installtionFedora linux installtion
Fedora linux installtion
 
Dev ops
Dev opsDev ops
Dev ops
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

eurobsd2013

  • 1. Automating the deployment of FreeBSD & PC-BSD® systemsAutomating the deployment of FreeBSD & PC-BSD® systems EuroBSDCon 2013EuroBSDCon 2013 Kris MooreKris Moore PC-BSD / iXsystemsPC-BSD / iXsystems kris@pcbsd.orgkris@pcbsd.org
  • 2. The problem:The problem: You want to (quickly) deploy multipleYou want to (quickly) deploy multiple FreeBSD or PC-BSD systems.FreeBSD or PC-BSD systems. You want a variety of scripted installsYou want a variety of scripted installs
  • 3. There are currently two ways to accomplishThere are currently two ways to accomplish this: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 isn't your thingManual disk partitioning isn't 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 with PC-BSD & TrueOSPC-BSD & TrueOS
  • 8. 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.1Running PC-BSD > 9.1 oror ● Port: sysutils/pcbsd-utilsPort: sysutils/pcbsd-utils ● A few GB of disk spaceA few GB of disk space
  • 11. Getting StartedGetting Started ● Install serverInstall server ● Or desktop “Thin-Client” serverOr desktop “Thin-Client” server
  • 13. What is Remote Desktop?What is Remote Desktop? ● The thin-client utility can operate bothThe 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
  • 14. 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 and managementmanagement
  • 15. 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
  • 16. Back to your previously scheduledBack to your previously scheduled presentationpresentation
  • 17. Getting StartedGetting Started ● Will run DHCPDWill run DHCPD ● Be careful which interface you plug intoBe careful which interface you plug into
  • 19. 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 check BIOS on client firstBIOS on client first
  • 20. Customizing the installCustomizing the install ● Of course you will want your ownOf course you will want your own installation options / archives, etcinstallation options / archives, etc ● It is possible to adjust entirely on serverIt is possible to adjust entirely on server sideside
  • 21. 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
  • 22. ● pc-sysinstall.example can be used as apc-sysinstall.example can be used as a template for other installationstemplate for other installations Example #1Example #1 Changing to ZFSChanging to ZFS
  • 23. Example disk layout:Example disk layout: disk0-part=UFS+SUJ 1000 /disk0-part=UFS+SUJ 1000 / disk0-part=SWAP 2000 nonedisk0-part=SWAP 2000 none disk0-part=UFS+SUJ 0 /usrdisk0-part=UFS+SUJ 0 /usr commitDiskLabelcommitDiskLabel Converted to ZFS becomes:Converted to ZFS becomes: disk0-part=ZFS 0 /,/root,/tmp,/usr,/vardisk0-part=ZFS 0 /,/root,/tmp,/usr,/var commitDiskLabelcommitDiskLabel
  • 24. Slightly more complex ZFS layout:Slightly more complex ZFS layout: disk0-part=ZFS 0 /(atime=off)disk0-part=ZFS 0 /(atime=off), /root(compress=lz4),, /root(compress=lz4), /tmp,/usr(canmount=off),/usr/local(compress=lz4), /var,/tmp,/usr(canmount=off),/usr/local(compress=lz4), /var, /var/log(compress=gzip)/var/log(compress=gzip) commitDiskLabelcommitDiskLabel
  • 25. Example #2Example #2 Changing installation archiveChanging installation archive
  • 26. Example install archive:Example install archive: installMedium=localinstallMedium=local localPath=/installarchivelocalPath=/installarchive packageType=tarpackageType=tar installFile=fbsd-release.txzinstallFile=fbsd-release.txz Changed to custom archive:Changed to custom archive: installMedium=localinstallMedium=local localPath=/installarchivelocalPath=/installarchive packageType=tarpackageType=tar installFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz
  • 27. Example local installExample local install installMedium=localinstallMedium=local localPath=/installarchivelocalPath=/installarchive packageType=tarpackageType=tar installFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz Changed to remote:Changed to remote: installMedium=ftpinstallMedium=ftp ftpPath=ftp://example.org/installfilesftpPath=ftp://example.org/installfiles packageType=tarpackageType=tar installFile=fbsd-8.4-amd64.txzinstallFile=fbsd-8.4-amd64.txz
  • 28. Example #3Example #3 User ManagementUser Management
  • 29. # Root Password# Root Password rootPass=rootrootPass=root # User Setup# User Setup userName=krisuserName=kris userComment=Kris MooreuserComment=Kris Moore userPass=krisuserPass=kris userShell=/bin/cshuserShell=/bin/csh userHome=/home/krisuserHome=/home/kris userGroups=wheel,operatoruserGroups=wheel,operator commitUsercommitUser
  • 30. Example #4Example #4 Advanced CommandsAdvanced Commands
  • 31. # 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
  • 32. Example #5Example #5 Packages, oh my!Packages, oh my!
  • 33. installPackages=apache22 mysql55-serverinstallPackages=apache22 mysql55-server Can use short package names, or fullCan use short package names, or full versions.versions.
  • 34. PKGNG supportPKGNG support ● Checks package format before installChecks package format before install ● Will “boot-strap” PKGNG if necessaryWill “boot-strap” PKGNG if necessary
  • 35. Example #6Example #6 FreeBSD dist filesFreeBSD dist files
  • 36. # Install from vanilla FreeBSD dist files# Install from vanilla FreeBSD dist files installMedium=localinstallMedium=local localPath=/distfiles/9.1-Release/amd64/distlocalPath=/distfiles/9.1-Release/amd64/dist packageType=distpackageType=dist distFiles=base doc games kernel lib32distFiles=base doc games kernel lib32
  • 37. 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 and begin installation after 30 seconds.begin installation after 30 seconds. ● System will shutdown when finishedSystem will shutdown when finished ● USE WITH CAUTION!!USE WITH CAUTION!!
  • 38. Its Demo time!Its Demo time!
  • 39. 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 speed dependentdependent
  • 40. ScalabilityScalability ● Default DHCP server is configured for 99Default 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;
  • 41. 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
  • 42. Tips and TricksTips and Tricks ● To greatly speed up installations, use ZFSTo greatly speed up installations, use ZFS mirrored drives, SSD, or even TMPFSmirrored drives, SSD, or even TMPFS
  • 43. 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 ● Install from ZFS replicationInstall from ZFS replication ● Faster setup of initial thin-clientFaster setup of initial thin-client environmentenvironment
  • 44. What's next?What's next? ● Web interface to config file managementWeb interface to config file management ● Allow editing configsAllow editing configs ● Creating MAC entries → Config FileCreating MAC entries → Config File ● Text-based front-end to PC-BSDText-based front-end to PC-BSD ● Basic at firstBasic at first ● Will allow install / prototyping via CLIWill allow install / prototyping via CLI
  • 45. What's next?What's next? ● Enhanced Desktop Server SupportEnhanced Desktop Server Support ● ThinClient → ThickClientThinClient → ThickClient ● Sound SupportSound Support ● Much more scalableMuch more scalable