Getting Started
Installation through the first production checks.
- Solaris 10 → 11 mindset
- First 30 minutes
- First-day checklist
A practical reference for administrators and engineers: commands, concepts, working examples, recovery paths and the mental models that make Solaris easier to operate.
# uname -a
SunOS solaris 5.11 11.4 sun4v sparc
# ldm list
NAME STATE FLAGS CONS VCPU MEMORY
primary active -n-cv- UART 16 32G
web01 active -n---- 5000 8 16G
# zoneadm list -cv
ID NAME STATUS BRAND
0 global running solaris
1 app-zone running solarisDetailed walkthroughs, real-world scenarios, commands, interpretation and precautions. Explore LDoms, DTrace, ZFS, Zones and more.
Use this as a runbook, refresher, or jumping-off point into Oracle's primary documentation.
Installation through the first production checks.
Users, processes, filesystems, services and scheduled work.
Pools, datasets, integrity, snapshots and replication.
OS-level isolation with native and Kernel Zones.
SPARC hypervisor virtualization with Oracle VM Server for SPARC.
Modern Solaris network configuration and diagnosis.
Measure the system before changing it.
IPS, publishers, updates and reversible change.
Least privilege and auditable administration.
Pick the boundary you actually need. LDoms partition SPARC hardware resources; Zones virtualize at the OS level; Kernel Zones add a separate kernel boundary.
ldmzoneadmInventory first. Change second.
uname -a
cat /etc/release
virtinfo -a
svcs -xv
fmadm faulty
zpool status
zfs list
ipadm show-if
ipadm show-addr
dladm show-link
beadm list
pkg publisherSolaris administration is built around explicit service, privilege and resource models.
Prefer roles, rights profiles and explicit authorizations over routine all-powerful access.
profilesrolesauthsStart with process identity and resource use before tracing deeper.
ps -efprstatpfilesCorrelate application logs with SMF state, faults and system messages.
svcs -xvfmadm faultydmesgHealth, integrity, properties, snapshots and replication belong in the same operational model.
A pool aggregates storage. Datasets consume pool space and carry properties. Snapshots capture dataset state; send/receive turns those snapshots into a replication primitive.
zpool list
zpool status -v
zpool iostat -v 2
zfs list -o name,used,avail,refer,mountpoint
zfs get compression,recordsize,atime tank/data
zfs snapshot tank/data@pre-change
zfs send -R tank/data@pre-change | \
zfs receive backup/dataTake a recursive snapshot immediately before a risky application change. If the application stores data across several child datasets, snapshot at the common parent so the recovery point is easy to identify.
zfs snapshot -r tank/app@before-upgrade
# perform change
zfs list -t snapshot -r tank/appNative Zones share the global zone kernel; Kernel Zones provide a separate kernel environment.
zonecfg -z web01
create
set zonepath=/zones/web01
set autoboot=true
verify
commit
exit
zoneadm -z web01 install
zoneadm -z web01 boot
zlogin web01Use native Zones when you want lightweight Solaris workload isolation and shared-kernel efficiency. Use Kernel Zones when a separate kernel environment is important. On SPARC, either can also live inside a suitable LDom.
Oracle VM Server for SPARC Logical Domains are independent virtual machines managed by the Logical Domains Manager in the control domain.
Runs Logical Domains Manager and controls domain configuration.
Provides virtual services such as disk and network I/O to guests.
Owns direct access to physical I/O resources and can provide them to other domains.
Consumes assigned CPU, memory and virtual/physical I/O and runs its own OS.
Start by identifying the domain topology, constraints and services. Remember that changes can involve both live state and the configuration selected for the next chassis power cycle.
ldm -V
ldm list
ldm list -l
ldm list-services
ldm list-bindings primary
ldm list-constraints
ldm list-spconfig# Example skeleton — size to your system
ldm add-domain app01
ldm add-vcpu 8 app01
ldm add-memory 16G app01
# Add virtual I/O after defining services
ldm bind-domain app01
ldm start-domain app01
ldm list app01
# Graceful lifecycle
ldm stop-domain app01
ldm unbind-domain app01LDom commands are hardware/configuration-sensitive. Treat examples as workflow patterns and verify supported resources, firmware and device names on the target system.
A common pattern is to create storage in the service domain, export it through a virtual disk service, then attach it to a guest. This keeps guest storage lifecycle separate from physical device naming.
# Illustrative names — inspect your existing VDS first
zfs create -V 40G rpool/ldoms/app01-root
ldm add-vdsdev /dev/zvol/dsk/rpool/ldoms/app01-root \
app01-root@primary-vds0
ldm add-vdisk vdisk0 app01-root@primary-vds0 app01
ldm list-bindings app01Guests normally connect through virtual network devices backed by a virtual switch/service domain. Inspect existing service names and the physical link before adding devices.
ldm list-services
ldm list-bindings primary
# Example only; service names vary
ldm add-vnet vnet0 primary-vsw0 app01
ldm list-bindings app01Allocate virtual CPUs and memory according to workload needs; understand whether a requested change is dynamic or requires rebinding.
A production design can use multiple service domains and redundant virtual I/O paths to reduce single points of failure.
Domain migration has source/destination compatibility, storage and networking prerequisites. Validate the Oracle matrix before treating it as a generic live-migration feature.
Give a workload family an independent Solaris instance in an LDom, then run several native Zones inside it. This separates host-level resources and OS lifecycle from lightweight application isolation. A Kernel Zone can be used where a separate kernel/SRU boundary is desirable.
dladm answers link-layer questions; ipadm answers IP configuration questions.
dladm show-phys
dladm show-link
dladm show-vlan
dladm show-aggr
ipadm show-if
ipadm show-addr
netstat -rn
route -p show
getent hosts example.comDon't just restart a broken service: ask SMF why it is broken.
svcs -xv
svcs -l svc:/network/ssh
svcs -d svc:/network/ssh
svcs -D svc:/network/ssh
svccfg -s svc:/network/ssh listprop
svcadm restart svc:/network/ssh
svcadm clear svc:/example/serviceUse cheap broad tools first, then narrow the question with DTrace or MDB.
prstat -mL 2ps -efmpstat 2vmstat 2echo ::memstat | mdb -kkstatiostat -xn 2zpool iostat -v 2fsstatdtrace -n 'syscall:::entry { @[execname] = count(); }'Start with aggregation rather than printing every event. It reduces noise and makes the first question—“who is doing this?”—easier to answer.
Combine RBAC, privileges, auditing, service minimisation and encryption according to the workload.
profiles
roles
auths
ppriv $$
auditconfig -getpolicy
svcs -a
pkg verifyIPS and ZFS Boot Environments turn system updates into a lifecycle rather than a one-way event.
pkg publisher
pkg list -u
pkg update -nv
beadm list
beadm create pre-maintenancepkg history
pkg verify
beadm list
svcs -xv
fmadm faultyStart with evidence that separates layers instead of jumping directly to configuration changes.
Filter by command, task or subsystem.
| Command | Area | Use |
|---|
Fast reminders for the concepts that tend to matter during incidents.
online, offline, disabled, maintenance, degraded, legacy_run.
Check inheritance before changing a property. A value may be local, inherited, received or default.
Distinguish current domain configuration from the SP configuration selected for the next power cycle.
solaris.pro is the practical field guide; Oracle documentation remains the authority for platform support, prerequisites and exact release behaviour.