Solaris is an operating system desinged by Sun Microsystems. In 2004 it has been open-sourced in the
OpenSolaris project.
OpenSolaris is published under CDDL, an open-source licence somewhere between GPL and BSD-licence.
Installation
Solaris 10 is available for free download. Sun offers a weekly build of
OpenSolaris (
Solaris Express Community Edition) and a tested version (
Solaris Express Developer Edition). There are several other distributions for
OpenSolaris (
SchilliX,
Nexenta GNU/Solaris) which are more or less in alpha state. For spring 2008 Sun has announced a (final) binary distribution of
OpenSolaris called project Indiana and will be published as free and commercial version (Solaris 11?).
Software
Software is organized by the package system (.pkg files and programs).
1. list all packages
pkginfo
1. details
pkginfo -l name
1. install package
pkgadd -d URL
The
Blastwave-project offers about 1500 packages for (Open)Solaris (e.g. apache, exim, gimp...), which can be organized by the
pkg-get command:
1. List packages
pkg-get -a
1. Install package and requirements
pkg-get install apache
1. Search for keyword
pkg-get describe mail
(Dont be frightened by the large amount of installation output, pkg-get produces...)
SMF
Solaris 10 tries to replace init.d scripts by the
Service Management Facility (
SMF ). Each service is controlled by an xml-File in /var/svc/manifest/, where start, stop commands, etc. but also dependencies are specified. Thus Solaris can optimize the start order and restart services automatically if terminated by error. Use the following commands for service management:
1. list and status
svcs
1. details
svcs -l ssh
1. or with correct name:
svcs -l svc:/network/ssh:default
1. stop/start (-t till next boot)
svcadm disable -t apache2
svcadm enable -t apache2
SMF quickstart guide
Solaris has full
ZFS support.
Channelbonding
The later versions of Solaris 10 support
Link Aggregation of LACP-type natively, for older systems there may be something called Sun Trunking. A good howto can be found
here.
So basically its done using the commands
dladm and
ifconfig
Sample configuration on our
sunbox:
On the
switch enable active (or passive) LACP trunk groups for the four Gbit-Ports of the
SunFire. Then the steps in Solaris:
# Check which devices we have and if they are bound
dladm show-dev
ifconfig -a
# If needed remove the devices configuration
ifconfig e1000g0 unplumb
# Create an aggregation of four devices named aggr1
dladm create-aggr -d e1000g0 -d e1000g1 -d e1000g2 -d e1000g3 1
# Make sure that aggregation mode is passive (active)
dladm modify-aggr -l passive
# Check configuration
dladm show-aggr 1
# Plumb the aggregation-device and enable dhcp
ifconfig aggr1 plumb
ifconfig aggr1 dhcp start
VLAN-tagging is done by adding the virtual interfaces
drivername+vlantag+1000*nicid, e.g. via
ifconfig e1000g234003 plumb
the e1000g3 is plumed with the tag 234.
Unfortunately the following fails
dladm create-aggr -d e1000g10000 -d e1000g20001 1
IPMP
Another way of providing nic redundancy and increading bandwidth via load balancing??!
http://docs.sun.com/app/docs/doc/819-3000/emqul?l=de&a=view
http://www.enterprisenetworkingplanet.com/netsysm/article.php/3582566
TODO
Containers and Zones
Solaris offers a method for separating applications from each other - containers in which they can run in a protected environment
Troubleshooting
DTrace is a new powerful troubleshooting system for Solaris. It even has its own (C-like?) programming language called D. dtrace offers information about about 60000 probepoints in Solaris.
dtrace -s test.d
Solaris Dynamic Tracing Guide
It is possible to load the kernel debugger
kmdb just in time via
mdb -K . There are several macros for observing the running system e.g.
::vfinfo or
::ps .
Miscellaneous
- Trouble with some network-services? Check "svcs -l /network/physical" and try to restart it.
- Some commands work slightly different to linux. Try: "ps -fA" for processlist. "shutdown -g0 -i0" for stop.
- Disable Desktop autostart: /usr/dt/bin/dtconfig -d
- Update boot_archive: bootadm update-archive
- DNS, etc: HowTo">http://wiki.edv-widhalm.com/index.php/Solaris_10_Grundkonfiguration_(HowTo)
- Hardwareinfo:
- prtconf, prtdiag (hardware info e.g. like lshw)
- iostat -En (good device/disk overview)
- hd (tool for getting harddisk information/temperatures etc.)
svcadm enable svc:/network/inetd:default
svcadm enable svc:/network/login:rlogin
svcadm enable svc:/network/shell:default
--> /root/.rhosts
--> /etc/default/login --> #CONSOLE=/dev/console
Installation on S11
We have got to install
areca-Raid-Driver before Installation of
OpenSolaris. Unfortunately the installer did not find the driver on inserted CD or floppy, so I had to install it by hand entering the "Single user shell" from
OpenSolaris installation menu.
mount -F ufs -o rw,remount /
iostat -En
mount -F hsfs -o ro /dev/dsk/c1t0d0s2 /mnt
touch /etc/pkg.conf
pkgadd -d /mnt/ -a /etc/pkg.conf SUNWarcmsr
exit
and go on with Installation. After all data copied to the new disk, before reboot install the areca driver on the disk and execute areca watchdog:
pkgadd -R /a -d /mnt/ SUNWarcmsr
cd /usr/lib
ln -s /a/usr/ucblib/libucb.so.1 libucb.so.1
watchdog
Unfortunately now we still see an error:
do_relocate:bad strndx 334
do_relocations; /kernel/amd64/genunix do_relocate failed
krtld: error during initial load/link phase
krtld could neither locate nor resolve symbols for:
/platform/186pc/kernel/amd64/unix
in the boot archive. Please verify that this file matches what is found in the boot archive.
So for the moment
OpenSolaris DE 07/09 is installed on a separate harddisk. This way the areca-Controller seems to behave well. A zpool is created with the remaining 15 harddisks, which has to be tested.