Archive

Archive for the ‘Solaris’ Category

My tmux conf

December 18th, 2015 No comments

tmux

##########################
##### Global Stuff

##### Making it screen-like
#Don`t use “C-a” – this will f*ck you while trying to use a screen session in a pane
unbind C-b
set-option -g prefix C-x
bind-key c-x send-prefix

##### Making it count from 1
set -g base-index 1
set -g pane-base-index 1

#### utf8 FTW
set -g utf8 on
set -g status-utf8 on

#############################
##### moving & splitting

##### split windows

bind-key v split-window -h
bind-key b split-window

##### switch panes with alt+arrow

bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

#### make it mouseable
set -g mouse-select-window on
set -g mouse-select-pane on
set -g mouse-resize-pane on
set -g mode-mouse on

############################
#### the color stuff

####### active/passive panes
set -g pane-border-fg green
set -g pane-active-border-fg brightgreen

###########################
# make good things work smooth

set-option -ga update-environment ‘DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY’

 

Für Copy & Paste mit der Maus bedarf es übrigens dem Megahack überhaupt: Shift gedrückt halten!

Neues Neues bash Prompt ;)

September 17th, 2015 No comments

Bash-Prompt20150917

Nachdem die Aktion mit dem Zweizeiler mehr Verwirrung stiftete als gedacht…

Hier mein neuer Versuch:

[Uhrzeit] USER @ PFAD $

Warum die Uhrzeit?

Die gibt mir an wann ich ein Command grob abgesetzt habe. Ich tippe reflexartig immer ein, zwei mal Return bevor ich ein neues/längeres Command absetze, das hab ich mir mal angewöhnt, weil es die Sache für mich irgendwie übersichtlicher macht. Dieser Tradition geschuldet habe ich nun einen groben Anhaltspunkt wie lange ein Command schon läuft – siehe cp, mv & co – das sind ja alles superkommunikative Zeitgenossen ;)

export PS1=\[\e[31m\][\[\e[m\]\A\[\e[31m\]]\[\e[m\] \[\e[36m\]\u\[\e[m\] \[\e[35m\]@\[\e[m\] \[\e[33m\]\w\[\e[m\] \[\e[31m\]\\$\[\e[m\] 

Solaris vs. AIX

August 4th, 2015 No comments

Einen Solarisadmin auf ein AIX loszulassen ist schon grausam genug.
Die Typos, die man reflexartig verursacht, sind dann auch von epischem Ausmaß =)

cfgadm” vs. “cfgmgr

JEDES MAL!
JEDES MAL!

Categories: IBM, Linux / Unix / foo, Solaris Tags:

Centos 7 mit ZFS

January 10th, 2015 2 comments

zfs-centos

Ich habe bis jetzt ein md-RAID aus drei 2TB Disks gehabt, aber mit der Performance auf dem Atom Homeserver hatte ich so meine Probleme.

Also, da wir gerade ein aktuelles Backup und draußen Sturmwarnung haben… =)

Fix das md-RAID killen und alle Platten “normalisieren”.
Den md-Raid-Tag rausnehmen:

mdadm –zero-superblock /dev/sdb1
mdadm –zero-superblock /dev/sdc1
mdadm –zero-superblock /dev/sdd1

Die Partitionen fix mit fdisk löschen:

fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd

Das System aktualisieren:

yum update
<REBOOT>

 

ZFS Repos installieren:

yum localinstall –nogpgcheck http://ftp.wrz.de/pub/fedora-epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum localinstall –nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm

 

Zur Sicherheit habe ich hier noch einen Reboot eingeschoben, nur um auch wirklich alles in aktuell geladen zu haben…
Die benötigten Pakete installieren:

yum install kernel-devel zfs

 

 

Jetzt kanns losgehn!

Ich habe drei freie Disks:

  • /dev/sdb
  • /dev/sdc
  • /dev/sdd

 

Dank Saschas Kommentar nutzen wir doch lieber mal die Disk-IDs ;)

  • /dev/disk/by-id/ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1241221
  • /dev/disk/by-id/ata-WDC_WD20EFRX-68AX9N0_WD-WMC301013498
  • /dev/disk/by-is/ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1205875

 

 

ZPOOL bauen

zpool create -f -o ashift=12 zpool raidz /dev/disk/by-id/ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1241221 /dev/disk/by-id/ata-WDC_WD20EFRX-68AX9N0_WD-WMC301013498 /dev/disk/by-id/ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M1205875

zpool-linux-status

 

ZFS bauen

[root@mfp:~] $ zfs create zpool/Backup
[root@mfp:~] $ zfs create zpool/Media

 

Staus checken

[root@mfp:~] $ zfs list
NAME USED AVAIL REFER MOUNTPOINT
zpool 1.17M 3.56T 192K /zpool
zpool/Backup 181K 3.56T 181K /zpool/Backup
zpool/Media 181K 3.56T 181K /zpool/Media

 

Einfacheren Mountpoint festlegen

[root@mfp:~] $ zfs set mountpoint=/BACKUP zpool/Backup
[root@mfp:~] $ zfs set mountpoint=/MEDIA zpool/Media

 

Quellen:

Categories: Geekeria, Linux / Unix / foo, Solaris 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:

Mal eben Hosts blocken – iptables in RHEL6

June 29th, 2014 No comments


stop

 (Bild: Peter Kaminski – CC Licence)

 

Um mal eben ein paar IPs zu blocken ist der Freund iptables sicherlich die beste Lösung.

Vorsicht: Das ist keine komplette Anleitung zu iptables, sondern ein sehr simples “HowTo block an IP”

Der besseren Übersicht halber nutze ich das Configfile in /etc/sysconfig/iptables

 

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

############ HOSTS ################

#gateway
#-I INPUT -s 192.168.10.20 -j DROP

#store
-I INPUT -s 192.168.10.27 -j DROP

########## HOSTS ################

COMMIT

 

Ich sperre im obigen Step zuerst mein Gatesystem und den Store.

Es ist ebenfalls möglich ein komplettes Netz zu sperren, dann wird aus dem 192.168.10.XX eben das 192.168.10.0/24 (oder wo auch immer man sich eben bewegt)

 

Der Output sieht wie folgt aus:

[root@backup ~]# iptables –list-rules
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -s 192.168.10.27/32 -j DROP
-A INPUT -s 192.168.10.20/32 -j DROP
[root@backup ~]#

 

Der ganze Spaß geht natürlich auch direkt in der Bash:

iptables -A INPUT -s IP-ADDRESS -j
iptables -A INPUT -s192.168.10.27 -j DROP
Categories: Linux / Unix / foo, Solaris, Weltnetz Tags:

Install Spacewalk 2.1 auf Centos 6.5

June 10th, 2014 No comments

spacewalk-header

 

Für meine Spacewalk Installation habe ich mit eine kleine VM gebaut, welche locker ausreichen sollte.

Das System ist eine ESXi VM mit Centos 6.5,  4gb RAM, 250gb Disk und den Kollegen selinux, iptables und ip6tables disabled. Wer ein gesteigertes Sicherheitsbedürfnis hat, der kann sich gerne mit selinux & lokalem firewalling rumärgern, ich für meinen Teil vertraue meinem Netzwerk ;)

Nach dem obligatorischen yum update und dem Snapshot danach gehts auch schon los.

 

Repos einrichten

Spacewalk liegt in einem eigenen Repo, benötigt aber noch ein wenig Abhängigkeiten, welche durch das passende EPEL Repo und jpackage.org abgedeckt werden. Hier liegen die aktuellen Repofiles:

https://ftp.fau.de/epel/6/i386/epel-release-6-8.noarch.rpm
http://yum.spacewalkproject.org/2.0/RHEL/6/x86_64/spacewalk-repo-2.0-3.el6.noarch.rpm
wget http://www.jpackage.org/jpackage50.repo
cp jpackage50.repo /etc/yum.repos.d/

 

Nach einem kurzen yum clean all und anschließendem yum update kommen wir zum eigentlichen Higlight…

 

Install

Ich habe mich dafür entschieden die stressfreie Variante mit dem vorgebauten Postgres Unterbau zu wählen.

Hierfür kommt der Install in drei Schritten.

Einmal dem Install des Unterbaus, samt vorgebautem Postgres, dann der eigentliche Install und danach das Setup mit initialer Befüllung der DB & Co.

Zuerst bringen wir mit den zwei Zeilen die Pakete aufs System:

yum install spacewalk-setup-postgresql
yum install spacewalk-postgresql

 

Da nun die Pakete alle auf dem System gelandet sind, können wir Spacewalk initial konfigurieren.

Hierfür gibt es ein nettes Setuptool, welches auch gleich ein SSL Zertifikat baut und die Weboberfläche anwirft.

 

[root@spacewalk ~]# spacewalk-setup –disconnected

….
….
….
….
Visit https://spacewalk to create the Spacewalk administrator account.

 

Ich kann es mir nicht verkneifen in solchen Momenten nochmal einen Snapshot von der VM zu ziehen, da ich dann einen recht coolen Ausgangspunkt habe, falls ich mir in den kommenden Tagen doch mal was beim spielen und testen zerschieße.

 

spacewalk-empty

 

Zur weiteren Config und der Arbeit mit Spacewalk kommt in der nächsten Zeit sicherlich noch was nach =)

Categories: Linux / Unix / foo, Solaris Tags:

Solaris 10 Bootenvironments

October 28th, 2013 No comments

Beim Starten in ein neues Bootenvironment gibt es einen fiesen tückischen Fehler, in den ich immer wieder reinlaufe…

reboot anstatt einem sauberen shutdown

 

lu-upgrd-boot

 

Nach meinem luactivate wird viel gerödelt und getan, danach meldet sich mein Solaris mit folgendem Output:

 

root@dbsupertoll:~> luactivate s10u8_24

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

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_20
zfs set mountpoint=<mountpointName> rpool/ROOT/s10u8_20
zfs mount rpool/ROOT/s10u8_20

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_20120829
8. Exit Single User mode and reboot the machine.

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

Modifying boot archive service
Activation of boot environment <s10u8_24> successful.
root@dbsupertoll:~>

Jetzt ist auch im lustatus mein neues BE als Active on Reboot eingetragen:

root@dbsupertoll:~> lustatus
Boot Environment           Is       Active Active    Can    Copy
Name                       Complete Now    On Reboot Delete Status
————————– ——– —— ——— —— ———-
s10u8                      yes      no     no        yes    –
s10u8_20             yes      yes    no        no     –
s10u8_24             yes      no     yes       no     –
root@dbsupertoll:~>

 

Und jetzt kommt der Trick =)

Ein reboot übernimmt keine Änderungen im Bootenvironment.

Hier helfen nur die Freunde shutdown oder init 6.

Das kann allerdings einige Zeit dauern und während dieser gibt es auch keine Ausgabe, weder im xscf, noch in der immer noch aktiven SSH Session wie denn der aktuelle Status ist. Es bleibt im Endeffekt abzuwarten und nach laufenden stop Prozessen zu suchen…

Irgendwann bricht dann deine SSH Session weg und du siehst im XSCF den gewünschten Reboot =)

Categories: Linux / Unix / foo, Solaris Tags: