Solaris/diverse knep och tricks

Från Basvrak

Hoppa till: navigering, sök

Innehåll

stänga av autosnapshot på specifikt filsystem

http://docs.sun.com/app/docs/doc/817-2271/gbcxl?l=zh&a=view


  1. zfs set com.sun:auto-snapshot=false rpool
  2. zfs set com.sun:auto-snapshot=true rpool/ROOT/opensolaris


  1. zfs set com.sun:auto-snapshot:weekly=true rpool/export


haxxor vid moderkortbyte

rensa kackig bootenv:

http://defect.opensolaris.org/bz/show_bug.cgi?id=5785

få nyare nge att fungera:

http://opensolaris.org/jive/thread.jspa?messageID=357524&#357524

ta bort den irriterande språkmenyn

Det dyker upp en språkväljarmeny som tex ser ut så här [ English/European ]

Detta är det så kallade "language input mode status area window", se http://developers.sun.com/global/products_platforms/jds/reference/faqs/input-mode-window.html. Dock fungerar det fetdåligt att göra som de skriver.

Rätt sätt verkar vara att välja system->preferences->input methods och kryssa av rutan "enable input method"

fixa så root kan logga in på en opensolarismaskin

http://dlc.sun.com/osol/docs/content/IPS/login.html

svc-joxet

lägga till en service:

http://www.blastwave.org/standards/smf.html

SATA-kort

Fulkort från Kjell & Co, med SiI 3132

http://www.kjell.com/?item=38375

Detta kort fungerar inte out of the box med Schillix.

Vad vi vet är att det /åtminstone/ behöver flashas om från SATA-RAID till SATA-LINK:

* Raid Mgmt utility för windows, behövs för att windows flash utility skall hitta kortet: http://www.siliconimage.com/docs/3132-W-R_15180b.msi
* Windows flash tool: http://www.siliconimage.com/docs/SiFlashTool.zip
* BIOS: http://www.siliconimage.com/docs/BIOS7405.zip ("b" är bios utan raid)

Detta räcker inte för att få igång kortet med Schillix.

Sedan behöver man eventuellt göra lite mer magi:

The Silicon Images 3132 chipset (PCIe) is supported (at least in 11/06) by the si3124 driver. I did have to add the following line to /etc/driver_aliases: si3124 “pci1095,3132″ (http://www.dansketcher.com/2006/12/09/solaris-sata-chipsets-i-can-run-zsf-with/)

/etc/driver_aliases-grejen är redan fixad i opensolaris.

2009-09-15: kortet fungerade klockrent.

Allmänt, installation

http://www.sun.com/bigadmin/collections/installation.html

Patchning

Du behöver ett konto hos sun först. Sedan registrerar man varje maskin. När det är klart kan man använda "smpatch" för att installera patcharna.

Det här b0rkade min 6/06-maskin seriöst (kernel panic)


Ha inga icke-globala zoner aktiva om du patchar. Det gör att "upgrade" från solarisinstallationsskivorna inte fungerar (åtminstone inte om de bor på zfs). Radera alla zoner först.

När det Kukar Ur

Backa ur patcher

Att backa ur (samtliga) patchar från failsafe-mode, ange patchnummer för att enbart ta en:

  1. Montera rootpartitionen som /a i failsafe
  2. cd /a/var/sadm/patches
  3. patchrm -f -R /a -G *

Hantera zoner som hindrar uppgradering

Missar man att radera zonerna, kan man prova att boota sin nya solaris-cd i single user mode, och använda "zonecfg -z <zone> -R /a mark incomplete

Det kräver en nyare solaris-skiva än 6/06.

Flytta x86-solaris-rootdisk till annan maskin

Boota i failsafe. Gör detta -> http://www.riddleware.com/solx86/SCSI_change.html

 DETAILED DESCRIPTION:

 It is possible to move a bootable installation of Solaris 2.x x86 to
 another machine or hard drive controller.  However, the procedure is not
 straight-forward.  The procedure listed below might not work in all
 situations.  Always backup important data before attempting to try this.
 Remember, this has not been WIDELY tested but has worked in several cases.

 Note: This procedure is not necessary to move a data drive which is not used
      for booting.  This is for a drive which contains Solaris 2.x x86's
      /, /usr, /opt, etc and is the boot drive.

 Overall summary:

 1) Install the drive in the new system or new hard drive controller.
 2) Boota failsafe.
 3) Rootpartitionen mountad som /a av "failsafe"
 4) Copy or Rebuild /devices and /dev.
 5) Modify /etc/vfstab and /etc/bootrc if necessary.
 6) Unmount the hard disk.
 7) Attempt to reboot off the hard disk.


 1) Install the drive in new system or new hard drive controller.

   '''Install any driver updates that are needed by the new hardware
   BEFORE moving the hard disk.'''  Check the latest HCL to determine if
   any driver updates are required by the destination hardware.
   Be sure to check all the hardware basics such as target numbers,
   termination, power, HBA IRQs, HBAs I/O addresses, etc.  Consult the
   X86 Device Configuration Guide for proper settings of any hard
   drive controllers (HBA)

 2) Boota i failsafe
 3) Säg till failsafe att mounta / som /a

 4a) Copy /devices and /dev 
  # devfsadm -v
  # cd /a/dev; rm -rf *
  # (cd /dev; tar cfp - .) | tar xvfp - 
  # cd /a/devices; rm -rf *
  # (cd /devices; tar cfp - .) | tar xvfp - 
  # cp /root/etc/path_to_inst /a/etc/path_to_inst
  # mv /a/etc/path_to_inst.old /a/etc/path_to_inst.001

  
 5) Modify /etc/vfstab and /etc/bootrc if necessary.

  a) Determine the new boot path:

  # ls -l /dev/dsk/c?t?d?s0   (This is the hard drive's root slice as before)
  lrwxrwxrwx  1 root   root    38 Mar 14 08:12 /dev/dsk/c1t1d0s0 -> ../..
  /devices/eisa/ncrs@1,0/cmdk@1,0:a
           ^^^^^^^^^^^^^^^^^^^^^^^^
           ||||||||||||||||||||||||
           This is the new boot path

  # vi /a/etc/bootrc          (Replace old boot path with new boot path)
  
  Modify the file /a/boot/solaris/bootenv.rc (for 2.7 and higher releases)

  b) Update vfstab:

  Look in /a/dev/dsk/*.  It is very likely that the controller numbers have
  changed.  It is even possible that the entries in here are different than
  the entries in /dev/dsk/*.  Be sure to update the /a/etc/vfstab according
  to these new devices. 

  # vi /a/etc/vfstab          (Make any changes and save)

 6) sync
 7) reboot

Boota upp.

devfsadm -v för att generera om devices


dhcp-klient

http://www.rite-group.com/rich/solaris_dhcp.html

   touch /etc/hostname.rtls1
   touch /etc/dhcp.rtls1

dhcp-server

http://www.sun.com/bigadmin/content/submitted/config_dhcp_server.jsp

listig one-liner för att få ur dhcp-konfiguration ur messages på en linuxmaskin:

grep DHCPACK /var/log/messages | awk '{print $8,$10,$11}' | grep : | tr -d ":" | tr 'a-z' 'A-Z' | sed 's/via/unknown/' | tr -d "()" | sort -u | awk '{print "pntadm -A",$1,"-i",$2,"-c",$3,"-m 10.168.0.0 -y 10.168.0.0"}'

ntp-klient

Börja med att synca upp tiden mot din ntpserver med "ntpdate"

Sedan kopierar du filen /etc/inet/ntp.client till /etc/inet/ntp.conf

Editera denna. Ändra så att den innehåller

server <din ntp-server>

ifall default inte verkar funka.

Sen kickar du igång ntp med

svcadm enable svc:/network/ntp:default

och kollar att den kör medelst

svcs | grep ntp


få nis att funka

se http://www.unixmexico.org/files/html/kore.hack.se/oreilly-networking/nfs/ch03_02.htm

dessutom måste man se till att den kan hitta namnet på nisservern, jag var tvungen att skicka in ett "dns" i nsswitch.conf.

Man måste köra ypinit -c för att det skall fungera, och där måste man ange en maskin som finns i /etc/hosts

Emellertid kan man slå tillbaks till broadcast-mode genom att ta bort filen /var/yp/binding/<ypdomain>/ypservers efter ypinit -c är blidkat.


slå på ypbind:

> svcadm enable svc:/network/nis/client:default

har du shadow passwords påslagna i nisservern, tex gör debian det per default, så är man kokt om man inte merge:ar shadow med passwd. Debian hade en inställning i /var/yp/Makefile som fixade detta automagiskt. icke-legacy-crypt-passord (hashar, med $ i) klarar solaris av.


automounter

http://www.sunhelp.org/faq/autofs.html

viktigt att veta är att pappakatalogen inte får innehålla någonting, dvs om man skall använda auto.home för att montera hembibliotek, så måste (tex) /home vara en tom mountpoint. Använd istället en loopbackmonterad (via automountern) lokal nfs-share för att få in extra lokala kataloger.


stänga av dtlogin

solaris: /usr/dt/bin/dtconfig -d opensolaris: svcadm disable svc:/application/graphical-login/gdm:default



Default paths

Kommandoradspath

editera /etc/default/login samt /etc/default/su för att sätta defaultpatherna för vanliga användare (PATH) samt root (SUPATH)

lib-pather

Det som görs i linux genom att meckla med /lib/ld.so.conf görs i solaris med kommandot "crle"


live upgrade

Det viktigaste när man kör live upgrade är att ha en extra partition för "boot environment".

Opensolaris har löst detta mha zfs, och gör en ny boot environment automagiskt när man använder "pkg" för att uppgradera alla paket.

	http://steve-parker.org/articles/liveupgrade/

http://www.samag.com/documents/s=7789/sam0302j/0302j.htm


jumpstart

http://www.sun.com/bigadmin/content/submitted/jumpstart_config.html


zfs

http://www.solarisinternals.com/wiki/index.php/ZFS_Best_Practices_Guide


Om man använder raidz så rapporterar df storleken på hela raidsetet, och räknar inte bort paritetsutrymmet.

Saker man inte skall göra med zfs

  1. Lägga till en hel disk i en pool och en av partitionerna på disken i en annan. Åtminstone 10 6/06 GA krashar av detta när man försöker radera pool två. Ta loss disken, då kan du zappa poolen.

nforce4

http://solaris.reys.net/english/2006/04/a8n-sli_networking_in_solaris

Behövde faktiskt inte gyckla med drivisar, funkade klockrent från andra ombootningen med sol10 6/06, nätet gick upp med 1Gb/s som det skulle.


nfs-exportering

Redigera in "share"-kommandon i /etc/dfs/dfstab


blastwave

Steg 1: Trixa in en statiskt länkad wget

Det finns det en här: http://www.blastwave.org/wget-i386.bin (uppenbarligen x86-solaris) Kopiera ner till bra ställe, skicka in på datorn. Om du kör en "core"-installation så finns inte ssh installerat. "ftp" kan du dock köra till maskinen.



Steg 2: Trixa in pkg_get

> wget http://www.blastwave.org/pkg_get.pkg > pkgadd -d pkg_get.pkg

Notera att detta hamnar i /opt/csw. Duktig nerd bygger denna katalog först.

Loopbackmontera iso-filer

Följande script monterar samtliga ".iso"-filer i katalogen det finns i

#!/bin/sh

for i in `ls *.iso`; do
        echo $i
        g=`pwd`/$i
        mkdir -p /iso/$i
        mount -F hsfs -o ro `lofiadm -a $g` /iso/$i
done

rate limiting av zoner etc

http://www.darkaslight.com/blog/entry/27-Limiting-Bandwidth-for-Solaris-Zones

det är lite lurigt det där med bandwidth limits i solaris. Framför allt måste man göra det från den globala zonen, annars skiter det sig, och man måste hålla koll på daddr, saddr, etc


stöd för bland annat linuxfilsystem (ext2)

http://www.belenix.org/download

Packa upp paketen i /var/spool/pkg, kör sedan pkgadd för att lägga till.

brandz, branded zones: http://opensolaris.org/os/community/brandz/install/

usb

http://docs.sun.com/app/docs/doc/806-7502/6jgce01v3?a=view

Uppgradera från 6/06 till 5/08

zfs mount -a fallerade, och klagade på att katalogerna med mountpunkter inte var tomma. Raderade dem, sedan mountade det. Detta höll uppe en hel del andra services, man kan kontrollera med svcs -d <servicenamn> varför någon service inte startar.

svcadm clear svc:/system/filesystem/local:default efter detta drog igång resten av uppgraderingen, dags för disk 2...

Personliga verktyg
test