Archive

Archive for December, 2014

QLogic FC-HBA Queue Depth in RedHat

December 10th, 2014 No comments

 

redhat

 

Die Queue Depth gibt an wieviele I/O Requests auf ein Storagesystem oder eine LUN vorgehalten werden dürfen. Im Regelfall sind das bei aktuellen QLogic Controllern 32. Das ist ein guter Mittelwert, mit dem man an sich gut fährt. Allerdings gibt es gewisse Storageboxen, welche ein klein wenig mehr Feintuning erwarten.

 

–> Hitachi ist hier Vorreiter, aber gibt dem Kunden auch eine recht gute Doku mit an die Hand. <klick>

 

Jetzt nehmen wir mal an, wir müssten die Depth von 32 auf 8 ändern.

 

Die aktuelle Depth bekommt man am schnellsten mit cat raus ;)

 

cat /sys/module/qla2xxx/parameters/ql2xmaxqdepth

 

Hier sollte dann also die 32 rauskommen.

 

Jetzt checken wir kurz im System ob wir denn wirklich einen qla2xxx laufen haben:

root@fc-host ~# modinfo qla2xxx | grep ql2xmaxqdepth
parm: ql2xmaxqdepth:Maximum queue depth to report for target devices. (int)

 

Unter /etc/modprobe.d wird dann die default Depth geändert. Ich habe mir hierfür das File hba.conf gebaut.

 

alias scsi_hostadapter1 qla2xxx
options qla2xxx ql2xmaxqdepth=8

 

Jetzt noch fix die initramfs neu bauen und wir sind durch.

 

Backup der alten erzeugen.

NEIN das ist nicht optional ;)

 

root@fc-host ~# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak

 

Jetzt bauen wir die neue.

root@fc-host ~# dracut -f -v

 

VORSICHT: Das o.g. Command bezieht sich nur auf den aktuell laufenden Kernel!

 

Den dracut Output sollte man zur Sicherheit nochmal durchgrepen, dass auch wirklich die hba.conf mitgenommen wird. Output sieht in etwa wie folgt aus:

 

I: Installing /etc/modprobe.d/hba.conf

 

Categories: Linux / Unix / foo Tags:

Eine ganz eigene Klasse von Pech

December 6th, 2014 No comments

klo

 

…oder “the day your weekend with on-call duty got fucked up”

 

Eine echt wiederliche Zeile im zpool status command.

errors: 38818488 data errors, use ‘-v’ for a list

Der Spaß in Voller Länge: pech

Solaris Helplinks

December 2nd, 2014 2 comments

Was ich wirklich an Solaris liebe und es einfach eine grandiose Idee finde, sind die “HelpLinks”.
Überall in Solaris begegenen dir auf der Commandline lustige Links, welche dir als Admin helfen sollen.

Console-Links

 

Im Browser passiert dann die richtige Magie =)

Nach einem Login am MOS (MyOracleSupport) gibts dann eine nette Helpsite zu genau dem Problem, das du gerade hast.

Wie man am Link unschwer erkennen kann ist das noch eine gute alte SUN Innovation, das löst aber trotzdem sauber zum neuen Herren auf ;)

 

Oracle_MOS_Link

 

 

 

Categories: Linux / Unix / foo, Solaris Tags:

Solaris Patchcluster installieren

December 1st, 2014 No comments

solaris10

 

 

Um das endlich mal festgehalten zu haben:

Installation von Solaris “Patchclustern” oder “Patchsets” in ein neues Bootenvironment um es dann zu aktivieren, wenn man eine geplante Downtime bekommt.

 

Im Schnelldurchlauf:

  • Neues Bootenvironment (BE) bauen
  • “prereq” ausführen
  • BE mounten
  • Patch auf BE anwenden
  • BE unmounten
  • BE aktivieren
  • init 6 (nicht reboot!)

 

 

Neues Bootenvironment (BE) bauen

Zuerst sollte man sich angucken was denn für BEs schon vorliegen und wie die benamt sind. Dazu reicht der simple Aufruf von lustatus.

root@dbpatchmich:/var/tmp> lustatus
Boot Environment Is Active Active Can Copy
Name Complete Now On Reboot Delete Status
————————– ——– —— ——— —— ———-
s10u8_20130116 yes no no yes –
s10u8_20140115 yes yes yes no –
root@dbpatchmich:/var/tmp>

 

Also bauen wir ein neues BE:

root@dbpatchmich:~/Patchcluster> lucreate -n s10u8_20141201

 

“prereq” ausführen

Wenn der Patchcluster runtergeladen und nach /var/tmp entpackt wurde stehen wir vor einem megagroßen Securityfeature! Alle Patchbefehle benötigen einen supersicheren Passcode!

Also in der ReadMe des Filesets nach dem Passcode grepen.

 

root@dbpatchmich:/var/tmp/Patchcluster/10_Recommended> grep PASSCODE 10_Recommended.README
*************** PASSCODE **************
PASSCODE: s10patchset
root@dbpatchmich:/var/tmp/Patchcluster/10_Recommended>

 

Jetzt kann der “Prereq” ausgeführt werden, um zu checken ob der Patch angewendet werden kann.

 

root@dbpatchmich:/var/tmp/Patchcluster/10_Recommended> ./installpatchset –apply-prereq –s10patchset

Setup ……..

Recommended OS Patchset Solaris 10 SPARC (2014.11.24)

Application of patches started : 2014.12.01 16:01:41

Applying 120900-04 ( 1 of 10) … skipped
Applying 121133-02 ( 2 of 10) … skipped
Applying 119254-90 ( 3 of 10) … success
Applying 119317-01 ( 4 of 10) … skipped
Applying 121296-01 ( 5 of 10) … skipped
Applying 138215-01 ( 6 of 10) … skipped
Applying 148336-02 ( 7 of 10) … success
Applying 146054-07 ( 8 of 10) … skipped
Applying 142251-02 ( 9 of 10) … skipped
Applying 125555-15 (10 of 10) … success

Application of patches finished : 2014.12.01 16:02:13

Following patches were applied :
119254-90 148336-02 125555-15

Following patches were skipped :
Patches already applied
120900-04 119317-01 138215-01 146054-07 142251-02
121133-02 121296-01

Installation of prerequisite patches complete.

Install log files written :
/var/sadm/install_data/s10s_rec_patchset_short_2014.12.01_16.01.41.log
/var/sadm/install_data/s10s_rec_patchset_verbose_2014.12.01_16.01.41.log
root@dbpatchmich:/var/tmp/Patchcluster/10_Recommended>

 

Nicht im System installierte Parts werden mit “skipped” markiert, was nicht da ist muss auch nicht geupdated werden ;)

Das ist nicht tragisch, verwirrt auch nur ein wenig auf den ersten Blick ;)

 

 

BE mounten

lumount -n s10u8_20141201 -m /mnt

 

Patch auf BE anwenden

root@dbpatchmich:/var/tmp/Patchcluster/10_Recommended> ./installpatchset -R /mnt –s10patchset

Setup …

Recommended OS Patchset Solaris 10 SPARC (2014.11.24)

Application of patches started : 2014.12.01 16:06:09

Applying 120900-04 ( 1 of 384) … skipped
Applying 121133-02 ( 2 of 384) … skipped
Applying 119254-90 ( 3 of 384) … success
Applying 119317-01 ( 4 of 384) … skipped
Applying 121296-01 ( 5 of 384) … skipped
Applying 138215-01 ( 6 of 384) … skipped
Applying 148336-02 ( 7 of 384) … success
Applying 146054-07 ( 8 of 384) … skipped
Applying 142251-02 ( 9 of 384) … skipped
Applying 125555-15 ( 10 of 384) … success
Applying 118367-04 ( 11 of 384) … skipped
Applying 118666-75 ( 12 of 384) …



Applying 151148-01 (382 of 384) … success
Applying 151355-01 (383 of 384) … success
Applying 151561-01 (384 of 384) … success

Application of patches finished : 2014.12.01 16:29:48

Following patches were applied :
119254-90 119900-17 143506-07 148322-12 150312-06
148336-02 120094-36 144664-01 148559-08 150383-06


Following patches were skipped :
Patches already applied
120900-04 119764-07 125533-17 138876-01 145929-05



139520-02 125505-01 138854-01 145120-01 150836-01
Patches obsoleted by one or more patches already applied
118731-01 124204-04 122660-10 120460-17 119368-04
Patches not applicable to packages on the system
118705-02 121211-02 138195-04 147023-01 150107-02



120928-32 137004-09 145200-13
Patches canceled due to prepatch termination
150551-02

Installation of patch set to alternate boot environment complete.

Install log files written :
/mnt/var/sadm/install_data/s10s_rec_patchset_short_2014.12.01_16.06.09.log
/mnt/var/sadm/install_data/s10s_rec_patchset_verbose_2014.12.01_16.06.09.log
root@dbpatchmich:/var/tmp/Patchcluster/10_Recommended>

 

 

BE unmounten

luumount s10u8_20141201

 

BE aktivieren

Für das luactivate sollte man sich einen screen öffnen, da das gut und gerne mal die ein oder andere gefühlte Stunde benötigt ;)

root@dbpatchmich:/var/tmp/Patchcluster> screen

root@dbpatchmich:/var/tmp/Patchcluster/10_Recommended> luactivate s10u8_20141201
A Live Upgrade Sync operation will be performed on startup of boot environment <s10u8_20141201>.

INFORMATION: The files listed above are in conflict between the current
boot environment <s10u8_20140115> zone <global> and the boot environment
to be activated <s10u8_20141201>. These files will not be automatically
synchronized from the current boot environment <s10u8_20140115> when boot
environment <s10u8_20141201> is activated.

**********************************************************************

The target boot environment has been activated. It will be used when you
reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You
MUST USE either the init or the shutdown command when you reboot. If you
do not use either init or shutdown, the system will not boot using the
target BE.

**********************************************************************

In case of a failure while booting to the target BE, the following process
needs to be followed to fallback to the currently working boot environment:

1. Enter the PROM monitor (ok prompt).

2. Boot the machine to Single User mode using a different boot device
(like the Solaris Install CD or Network). Examples:

At the PROM monitor (ok prompt):
For boot to Solaris CD:  boot cdrom -s
For boot to network:     boot net -s

3. Mount the Current boot environment root slice to some directory (like
/mnt). You can use the following commands in sequence to mount the BE:

zpool import rpool
zfs inherit -r mountpoint rpool/ROOT/s10u8_20140115
zfs set mountpoint=<mountpointName> rpool/ROOT/s10u8_20140115
zfs mount rpool/ROOT/s10u8_20140115

4. Run <luactivate> utility with out any arguments from the Parent boot
environment root slice, as shown below:

<mountpointName>/sbin/luactivate

5. luactivate, activates the previous working boot environment and
indicates the result.
6. umount /mnt
7. zfs set mountpoint=/ rpool/ROOT/s10u8_20140115
8. Exit Single User mode and reboot the machine.

**********************************************************************

Modifying boot archive service
Activation of boot environment <s10u8_20141201> successful.
root@dbmaps02-back:/var/tmp/Patchcluster/10_Recommended>

 

 

init 6 (nicht reboot!)

Der Reboot ist immer wieder meine größte Falle.

Der Befehl reboot setzt das System “hart” zurück und startet einfach neu.

init 6 fährt das System geordnet runter und startet in dem speziellen Fall auch den vom luactivate schon erwähnten LiveUpgradeSync ;)

 

 

Dein neues BE sollte nun mit aktuellem Patchstand starten =) 

 

 

Categories: Linux / Unix / foo, Solaris Tags: