Installation Informix 12.10 Linux

Werbung
Installation Informix 12.10 Linux
Diese Anleitung bezieht sich auf Debian Linux 8.5 (jessie). Die Informix-Server-Version ist 12.10FC5W1WE (64bit). Der Server-Name in diesem Beispiel
ist sltifx1210, der Datenbank-Name ist ol_ifx1210. Der Name der LVM Volume Group ist ifmxdata.
Inhaltsverzeichnis
• 1 Voraussetzungen
• 2 Installation
♦ 2.1 Benutzer/Gruppe informix anlegen
♦ 2.2 IDS-Paket übertragen und auspacken
♦ 2.3 IDS-Installer starten
• 3 Konfiguration
♦ 3.1 Anpassung onconfig
♦ 3.2 Anpassung sqlhosts
♦ 3.3 Anpassung services
♦ 3.4 Erstellung ifxini
♦ 3.5 Anpassung profile
♦ 3.6 Root DB-Space anlegen
♦ 3.7 Erst-Start Informix
♦ 3.8 DB-Spaces (Daten,Log,Temp) anlegen
♦ 3.9 Temp DB-Spaces eintragen
♦ 3.10 Physical Log verschieben
♦ 3.11 Logical Logs anlegen
• 4 Start/Stop Script
• 5 Weitere Parameter
♦ 5.1 Kernel-Parameter
♦ 5.2 systemd & IPC
♦ 5.3 Buffer-Pools
• 6 Update Statistics
• 7 Datensicherung
♦ 7.1 Backup-Scripts
♦ 7.2 Backup-Verzeichnis
♦ 7.3 Konfiguration (Gesamt-Sicherung)
♦ 7.4 Konfiguration (Logical Log-Sicherung)
◊ 7.4.1 Minimal-Lösung/Einmal-Sicherung
◊ 7.4.2 Fortlaufende Sicherung
• 8 Integration in die Windows-Domäne
♦ 8.1 Pakete installieren
♦ 8.2 Konfiguration
♦ 8.3 Domäne beitreten
♦ 8.4 PAM konfigurieren
Voraussetzungen
• Diese Beschreibung bezieht sich auf ein frisch installiertes 'jessie'-System (bei der Installation im tasksel-Dialog "Standard System" + "SSH
server" auswählen).
• Alle Operationen (soweit nicht anders beschrieben) als root durchführen.
• Damit der IDS Kernel Asynchronous IO (KAIO) nutzen kann, muß das entsprechende Client-Library installiert sein (libaio 0.3.106 oder neuer):
apt-get install libaio1
• Zum Entpacken des Informix-Installers benötigt man u.U. unzip:
apt-get install unzip
• Funktionsfähiger LVM und eine Volume Group mit genügend verfügbaren Platz für die DB-Spaces - und Backups (optional).
Installation
Benutzer/Gruppe informix anlegen
Ist das Anlegen des Benutzers informix nicht bereits bei der Linux-Installation erfolgt, sollte dieser nun angelegt werden. Dies kann auch vom
IDS-Installer erledigt werden - selber machen ist aber besser.
adduser informix
Ebenso muss auch der Benutzet syslog angelegt werden, sofern dies nicht bereits erfolgt ist:
adduser syslog
IDS-Paket übertragen und auspacken
Das entsprechende Informix-Paket auf den Zielrechner übertragen (z.B. mit WinSCP). Anschließend in ein Verzeichnis entpacken (z.B. /tmp). Die
Pfade im Beispiel müssen gegebenenfalls angepasst werden:
cd /tmp
unzip /home/informix/linux_ids1210fc5w1_we.zip
tar -xvf linux_ids1150fc7r1_ge.tar
IDS-Installer starten
Der Installer wird über den folgenden Befehl gestartet:
./ids_install
Beim Installieren können fast alle vorgeschlagenen Einstellungen übernommen werden. Folgende Punkte sind allerdings zu beachten:
1. Als Installations-Verzeichnis muss /usr/informix wählen
2. Will man das IBM Informix OpenAdmin Tool installiert haben, dann kann man einfach 'Typical' als Installationsart wählen - ansonsten 'Custom'
und danach das OpenAdmin Tool (Punkt 47) abwählen.
Konfiguration
Nach erfolgreicher Installation muss nun die Konfiguration vorgenommen werden. Die in den folgenden Abschnitten beschriebenen Schritte sind dazu
auszuführen:
Anpassung onconfig
• Kopie der Datei onconfig.std erstellen und diese editieren:
cd /usr/informix/etc
cp onconfig.std onconfig
• Folgende Parameter anpassen:
Parameter
Wert
ROOTNAME
dbs_root
ROOTPATH
/DBS/dbs_root
ROOTSIZE
1000000
PHYSBUFF
256
LOGBUFF
256
DBSERVERNAME
ol_ifx1210
DBSERVERALIASES
ol_ifx1210_shm
NETTYPE
soctcp,2,100,NET
MULTIPROCESSOR
1
VPCLASS
cpu,num=3,noage
CLEANERS
128
DIRECT_IO
1
LOCKS
2000000
DEF_TABLE_LOCKMODE row
SHM_VIRTSIZE
130624
SHMADD
32768
EXTSHMADD
32768
TAPEDEV
/dev/null
LTAPEDEV
/dev/null
Der Attribut num des Parameters VPCLASS sollte auf die Anzahl Prozessorkerne minus eins gesetzt werden. Im Beispiel hat der Prozessor vier Kerne,
also wird 3 eingetragen.
• Besitzer/Rechte an der Datei setzen:
chown informix.informix /usr/informix/etc/onconfig
chmod 440 /usr/informix/etc/onconfig
Anpassung sqlhosts
• Kopie der Datei sqlhosts.std erstellen und diese editieren:
cd /usr/informix/etc
cp sqlhosts.std sqlhosts
• Bestehende Einträge auskommentieren und folgende neue Zeilen anhängen:
ol_ifx1210
olsoctcp
ol_ifx1210_shm olipcshm
sltifx1210
sltifx1210
sqlexec
srv_agent
• Besitzer/Rechte an der Datei setzen:
chown informix.informix /usr/informix/etc/sqlhosts
chmod 444 /usr/informix/etc/sqlhosts
• Damit man sich auch von außen mit der Datenbank verbinden kann, muss in der /etc/hosts die IP-Adresse eingetragen werden, unter der
der Host von außen zu erreichen ist. Die entsprechende Zeile sollte dann ungefähr so aussehen:
192.168.168.164
sltifx1210.syslog.de
sltifx1210
Anpassung services
• Einträge an die Datei /etc/services anhängen:
sqlexec
sqlexec-ssl
9088/tcp
9089/tcp
# IDS
# IDS (SSL)
Die Ports 9088/9089 sind von der IANA für Informix zugewiesen. Traditionell wurde bei uns aber Port 1526 (mit Namen 'turbo') benutzt. Wenn diese
Installation einen Server in einer bestehenden Umgebung ersetzen soll, wo bereits 1526/turbo auf vielen Clients konfiguriert ist, dann empfiehlt es sich
auch weiterhin den Port 1526 zu benutzen.
Erstellung ifxini
Es muss eine neue Datei /home/syslog/ifxini mit folgendem Inhalt erstellt werden:
export INFORMIXDIR=/usr/informix
export PATH=$PATH:$INFORMIXDIR/bin
export INFORMIXSERVER=ol_ifx1210
export
export
export
export
export
ONCONFIG=onconfig
DB_LOCALE=de_DE.8859-15
CLIENT_LOCALE=de_DE.8859-15
INFORMIXTERM=terminfo
DBMONEY=,
Anpassung profile
In der Datei /etc/profile (global) bzw. in einzelnen Benutzer-Dateien ~/.bashrc folgenden Teil einfügen:
source /home/syslog/ifxini
Root DB-Space anlegen
• Logical Volume (LV) anlegen, verlinken und Berechtigungen setzen:
lvcreate -n dbs_root -L 1000000K ifmxdata
mkdir /DBS
ln -s /dev/ifmxdata/dbs_root /DBS/dbs_root
chown -R informix.informix /DBS
chmod 770 /DBS
chown informix.informix /dev/ifmxdata /dev/mapper /dev/mapper/ifmxdata-dbs_root
chmod 770 /dev/ifmxdata /dev/mapper
chmod 660 /dev/mapper/ifmxdata-dbs_root
Erst-Start Informix
. /home/syslog/ifxini
oninit -iv
DB-Spaces (Daten,Log,Temp) anlegen
• Datenbank in Quiescent Mode + Level 0-Archive:
# Level 0 archive durchfuehren
ontape -s
# Quiescent mode
onmode -s -y
• LVs anlegen, verlinken und Berechtigungen setzen:
# LVs: 2G physical log, 2x2G temp, 5G logical logs, 5x 20G data
lvcreate -n dbs_phys -L 2000000K ifmxdata
lvcreate -n dbs_tmp1 -L 2000000K ifmxdata
lvcreate -n dbs_tmp2 -L 2000000K ifmxdata
lvcreate -n dbs_log -L 5000000K ifmxdata
for((i=0;i<5;i++)); do lvcreate -n dbs_data$i -L 20000000K ifmxdata ; done
ln -s
chown
chown
chmod
/dev/ifmxdata/dbs_* /DBS/.
-R informix.informix /DBS
informix.informix /dev/mapper/ifmxdata-dbs_*
660 /dev/mapper/ifmxdata-dbs_*
• DB-Spaces anlegen:
onspaces -c -d dbs_data -k 4 -p /DBS/dbs_data0 -o 0 -s 20000000
for((i=1;i<5;i++)); do onspaces -a dbs_data -p /DBS/dbs_data$i -o 0 -s 20000000 ; done
onspaces -c -d dbs_log -p /DBS/dbs_log -o 0 -s 5000000
onspaces -c -d dbs_tmp1 -k 4 -t -p /DBS/dbs_tmp1 -o 0 -s 2000000
onspaces -c -d dbs_tmp2 -k 4 -t -p /DBS/dbs_tmp2 -o 0 -s 2000000
onspaces -c -d dbs_phys -p /DBS/dbs_phys -o 0 -s 2000000
Temp DB-Spaces eintragen
Folgenden Eintrag in der onconfig anpassen:
Parameter
Wert
DBSPACETEMP dbs_tmp1,dbs_tmp2
Physical Log verschieben
onparams -p -s 1999788 -d dbs_phys -y
Logical Logs anlegen
In diesem Beispiel werden 49 Logical Logs a 100M erzeugt. Wenn eine fortlaufende Logical Log Sicherung geplant ist, dann machen u.U. aber kleinere
Logical Logs mehr Sinn (z.B. 10M).
# neue Logical Log Files anlegen
for((i=1;i<=49;i++)); do onparams -a -d dbs_log -s 100000 ; done
# Level 0 archive durchfuehren
ontape -s
# die ersten (Standard) 6 Logical Log Files freigeben
# (6x force to next logical log)
for((i=1;i<=6;i++)); do onmode -l ; done
# Level 0 archive durchfuehren
ontape -s
# die ersten (Standard) 6 Logical Log Files entfernen
for((i=1;i<=6;i++)); do onparams -d -y -l $i ; done
# Level 0 archive durchfuehren
ontape -s
• Datenbank wieder in Multi-User Mode schalten
# Datenbank zurueck in Multi-User Mode
onmode -m
Start/Stop Script
• Neue Datei /etc/init.d/informix anlegen:
#!/bin/sh
#
# Startup script for Informix Database Server
#
# description: Informix RDBMS is a SQL database server.
# processname: oninit
### BEGIN INIT INFO
# Provides:
informix
# Required-Start:
$remote_fs $syslog $named
# Required-Stop:
$remote_fs
# Default-Start:
2 3 4 5
# Default-Stop:
0 1 6
# Short-Description: Start Informix RDBMS
# Description:
Start Informix RDBMS
### END INIT INFO
# Informix environment
. /home/syslog/ifxini
# fix lvm device owner/group
# lvm2 (device mapper)
chown informix.informix /dev/mapper/ifmxdata-dbs_*
chmod 660 /dev/mapper/ifmxdata-dbs_*
# Find the name of the script
NAME=`basename $0`
# For SELinux we need to use 'runuser' not 'su'
if [ -x /sbin/runuser ]
then
SU=runuser
else
SU=su
fi
start() {
INFORMIX_START="Starting ${NAME} service: "
$SU informix -c $INFORMIXDIR/bin/oninit
ret=$?
if [ $ret -eq 0 ]
then
echo "$INFORMIX_START Success."
else
echo "$INFORMIX_START Failed!"
exit 1
fi
echo
}
stop() {
echo -n "Stopping ${NAME} service: "
$SU informix -c "$INFORMIXDIR/bin/onmode -ky"
ret=$?
if [ $ret -eq 0 ]
then
echo "Success."
else
echo "Failed!"
exit 1
fi
echo
}
restart() {
stop
start
}
case "$1" in
) start
start
;;
)
stop
stop
;;
)restart
restart
;;
)
*
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
• Datei ausführbar machen:
chmod +x /etc/init.d/informix
• Runlevel-Links legen:
/usr/sbin/update-rc.d informix defaults 90
Weitere Parameter
Kernel-Parameter
Auf Systemen mit genügend RAM ist eine Anpassung der Kernel-Parameter für Shared Memory sinnvoll/nötig. Folgende Zeilen sollten an die
/etc/sysctl.conf angehängt werden:
# IDS (aus Informix 11 Machine Notes)
# shared memory segments
kernel.shmmax=4398046511104
kernel.shmmni=4096
kernel.shmall=4194304
# semaphores
# SEMMSL, SEMMNS, SEMOPM and SEMMNI
kernel.sem=250 32000 32 4096
Danach sollten die Werte neu aus der Datei geladen/übernommen werden:
sysctl -p
systemd & IPC
Debian 8 kommt mit systemd und eines der "Features" von systemd kann Probleme mit diversen Datenbank-Servern (Informix ist da nicht das einzige
Opfer) führen. Dies äussert sich in Abstürzen des Datenbank-Servers, da systemd die IPC-Umgebung "bereinigt". Um dieses Verhalten zu deaktivieren
muss die Datei /etc/systemd/logind.conf angepasst werden. Der Parameter RemoveIPC muss auf no gesetzt werden. Die Zeile ist
warscheinlich auskommentiert, also muss auch die Raute am Beginn der Zeile entfernt werden. Das Ergebnis sollte dann so aussehen:
RemoveIPC=no
Damit diese Änderung wirksam wird, ist zumindest ein Neustart der Informix nötig. Alternativ kann man nach Abschluss der Installation einfach das
komplette System rebooten.
Buffer-Pools
Die Buffer-Pools sollten entsprechend dem vorhandenen RAM angepaßt werden. Die Empfehlung von Informix ist es Buffers mit einer Größe von ~25%
des physikalischen RAMs zu definieren.
Wenn auf dem Server allerdings nichts anderes als die Informix-DB läuft, können bis zu 75% des physikalischen Speichers als Buffer-Pools verwendet
werden, wobei die restlichen 25% 2,5 GB nicht unterschreiten sollten.
Das folgende Beispiel definiert 1500000 Buffers à 4K (~5.72G).
BUFFERPOOL
size=4K,buffers=1500000,lrus=128,lru_min_dirty=10.000000,lru_max_dirty=20.000000
Für DB-Imports sollten lru_min_dirty/lru_max_dirty allerdings auf 70/80 erhöht werden, um dauerndes flushen zu verhinden.
Update Statistics
Hinweis: Seit den 11er Versionen hat Informix seine eigenen Tasks zum Update der Statistics und der offizielle Stand ist, das eigene Update Statistics
night mehr nötig bzw. sogar counter-produktiv sind. Wenn man aber trotzdem seine eigenen Update Statistics Scripte einrichten will, dann sollte man
die Informix Tasks deaktivieren (siehe ph_task Tabelle in Datenbank sysadmin).
Zunächst ist im Home-Verzeichnis des Users syslog ein Unterverzeichnis namens scripts zu erstellen und syslog als Besitzer zu setzen:
mkdir /home/syslog/scripts
chown syslog.syslog /home/syslog/scripts
Im Anschluss müssen die Dateien upd_high.sh, mk_upd_high.sql und upd_distri.sql (zum Download verfügbar [hier] oder intern aus dem
Verzeichnis \\sltdc01\servdate\SysLog_Freigabe\Konfiguration\Update Statistics High\Linux) in das eben erzeugte Verzeichnis
übertragen werden (z.B. mit WinSCP).
Dann muss das Shell-Script ausführbar gemacht werden:
chmod +x /home/syslog/scripts/upd_high.sh
Nun kann der crontab-Eintrag erfolgen. Hierzu muss an die Datei /etc/crontab folgendes angehängt werden:
# Syslog Update Statistics High
0 4 * * * syslog /home/syslog/scripts/upd_high.sh >>/home/syslog/scripts/upd_high.log 2>&1
Die Zeiten, an denen das Script laufen soll, müssen mit der noch einzurichtenden Datensicherung und mit sonstigen Anforderungen abgestimmt
werden. Im Beispiel wird das Script täglich um 04:00 Uhr ausgeführt.
Datensicherung
Hinweis: Wenn die VG ifxmdata lokale bzw. nicht-redundante Storage ist, dann sollten die durch die Informix-Script erzeugten Dateien (mittels eines
weiteren Scripts) auf eine NAS oder einen anderen Server im lokalen Netz übertragen werden, um einen Totalverlust bei Hardware-Ausfall zu
verhindern.
Backup-Scripts
Zunächst muss für die Kompression der Backups das Paket pbzip2 installiert werden:
apt-get install pbzip2
Die Backup-Scripts sind [hier] als Download oder intern unter \\sltdc01\servdate\SysLog_Freigabe\Konfiguration\Informix
Sicherung\Linux\Rotierender_Backup_mit_Kompressionverfügbar. Die Dateien müssen in das Verzeichnis /usr/informix/backup
übertragen bzw. entpackt werden. Das Verzeichnis backup muss natürlich vorher angelegt werden - entweder via WinSCP oder durch:
mkdir /usr/informix/backup
Anschließend müssen Besitzer und Berechtigungen gesetzt werden:
chown -R informix.informix /usr/informix/backup
chmod +x /usr/informix/backup/*.sh
Backup-Verzeichnis
Nun muss der Platz, an den hingesichert werden soll, geschaffen werden. Hierzu muss zunächst ein neues Volume und auf diesem ein Dateisystem
erzeugt werden:
lvcreate -n backup -L 400G ifmxdata
mkfs.ext4 -m 0 /dev/ifmxdata/backup
Die Größe (im Beispiel 400GB) kann gegebenenfalls angepasst werden.
Jetzt muss das Verzeichnis, in welches das neue Volume eingehängt werden soll, angelegt und an informix übereignet werden:
mkdir /BKUP
chown informix.informix /BKUP
Nun kann der fstab-Eintrag erfolgen. Hierzu ist an die Datei /etc/fstab folgender Inhalt anzuhängen:
/dev/mapper/ifmxdata-backup
/BKUP
ext4
errors=remount-ro,noatime,nodiratime,nodelalloc
0
0
Anschließend kann das neue Volume eingehängt werden:
mount /BKUP
Es müssen nun einige Unterverzeichnisse angelegt werden:
mkdir
mkdir
mkdir
mkdir
mkdir
/BKUP/ifx_sicherung
/BKUP/ifx_sicherung/vorgestern
/BKUP/ifx_sicherung/gestern
/BKUP/ifx_sicherung/heute
/BKUP/ifx_sicherung/aktuell
Der Besitzer dieser Verzeichnisse muss informix sein:
chown -R informix.informix /BKUP
Konfiguration (Gesamt-Sicherung)
Nun kann der crontab-Eintrag erfolgen. Hierzu muss an die Datei /etc/crontab folgendes angehängt werden:
# Sicherung Informix Daten
0 3 * * * informix /usr/informix/backup/ifx_backup.sh data
In /usr/informix/etc/onconfig muss nun noch der TAPEDEVParameter angepasst werden:
Parameter
Wert
TAPEDEV /BKUP/ifx_sicherung/aktuell/backup_data
Konfiguration (Logical Log-Sicherung)
Minimal-Lösung/Einmal-Sicherung
Als Minimal-Lösung sollte zumindest eine Sicherung der Logical Log nach der Hälfte des Arbeitstages stattfinden, um den Daten-Verlust bei einem
Crash zu minimieren (ansonsten ist halt alles seit der letzten Voll-Sicherung verloren).
Fuer eine simple einmal-pro-Tag Logical Log-Sicherung kann ebenfalls das bereits installierte Backup-Script benutzt werden. Einfach einen weiteren
Cronjob einrichten:
# Sicherung Informix Logical Logs
0 12 * * * informix /usr/informix/backup/ifx_backup.sh logs
Und Parameter LTAPEDEV in der Datei /usr/informix/etc/onconfig anpassen:
Parameter
Wert
LTAPEDEV /BKUP/ifx_sicherung/aktuell/backup_logs
Fortlaufende Sicherung
Hinweis: Für die fortlaufende Sicherung der Logical Logs sollten diese entsprechend (klein) dimensioniert sein, so dass ein Log im gewünschten
Sicherungs-Intervall auch gefüllt/abgeschlossen wird - andernfalls muss der Abschluss eines Logical Logs erzwungen werden. Alte Logical
Log-Sicherungen muessen nach einer bestimmten Zeit entweder von Hand oder durch einen Cronjob wieder aus dem Verzeichnis gelöscht werden.
Für eine fortlaufende Logical Log-Sicherung muss der onconfig-Parameter LTAPEDEV auf ein Verzeichnis (oder auf ein Tape-Device) gesetzt werden.
Es gibt mehrere prinzipielle Möglichkeiten eine fortlaufende Logical Log-Sicherung (mit ontape) durchzuführen:
• Eine Session mit ontape -c starten. Der Befehl kehrt nicht zurück und sichert Logical Logs (sobald sie voll sind) in das konfigurierte
Verzeichnis.
• Einen Cronjob einrichten, der in regelmässigen Abständen ontape -a -d ausführt und so die abgeschlossenen Logs wegsichert.
• Sicherung via das ALARMPROGRAM Script. Dieses Script wird von der Datenbank getriggered, wenn ein Log abgeschlossen ist und kann dann
ontape -a -d ausführen.
Die hier beschriebene Lösung verwendet die dritte Variante, da hierfür keine weiteren Scripte oder Cronjobs nötig sind. Wenn die Logical Logs so groß
sind, das im gewünschten Interval kein Log abgeschlossen wird, dann muss der Abschluss eines Logs mittels onmode -l (z.B. über einen Cronjob)
erzwungen werden. Diese Lösung kann zusätzlich zur Variante 1 oder 3 eingesetzt bzw. in Variante 2 integriert werden.
mkdir /BKUP/ifx_sicherung/logical_logs
chown informix.informix /BKUP/ifx_sicherung/logical_logs
chmod 775 /BKUP/ifx_sicherung/logical_logs
Der onconfig-Parameter LTAPEDEV muss angepasst werden:
Parameter
Wert
LTAPEDEV /BKUP/ifx_sicherung/logical_logs
Das Script /usr/informix/etc/alarmprogram.sh muss angepasst werden:
• In Zeile 1, #!/bin/ksh durch #!/bin/bash ersetzen.
• In Zeile 29, die Variable BACKUPLOGS auf Y setzen.
• In Zeile 57, die Variable BACKUP_CMD auf ontape -a -d setzen.
Falls nötig, kann der Abschluss/Sicherung des aktuellen Logical Logs mit einer einfach Zeilen in Datei /etc/crontab ausgelöst werden. Allerdings
muss sichergestellt werden, das die verwendete Shell Bash ist (Variable SHELL muss auf /bin/bash stehen, wenn die Standard-Shell nicht Bash ist sonst funktioniert die beschriebene Zeile nicht):
*/15 5-20
* * 1-5 informix
(source /home/syslog/ifxini ; $INFORMIXDIR/bin/onmode -l)
Damit wird zu normalen Arbeitszeiten (Montag bis Freitag, von 5 bis 20 Uhr) alle 15 Minuten der Abschluss eines Logical Logs erzwungen.
Integration in die Windows-Domäne
Um nicht jeden zukünftigen Datenbank-Benutzer einzeln anlegen zu müssen, ist es sinnvoll, den Server in die (warscheinlich vorhandene)
Windows-Domäne zu integrieren. Im Beispiel wird davon ausgegangen, dass der Name der Domäne SYSLOG.DEi ist, die Workgroup SYSLOG01 heisst
und dass der Domain-Controller sich auf der IP 192.168.168.1 befindet.
Pakete installieren
Es müssen zunächst einige weitere Pakete installiert werden (welche wiederrum Abhängigkeiten auf eine Ladung anderer Pakete haben):
apt-get install realmd libpam-sss libnss-sss sssd sssd-ad sssd-tools adcli samba-common-bin krb5-config krb5-user
Konfiguration
Domäne beitreten
Domäne (Realm) finden - wenn hier ein Problem auftritt, dann stimmt vermutlich die DNS-Konfiguration nicht:
realm discover SYSLOG.DE
Wenn erfolgreich, dann sollte das Ergebnis etwa folgendermassen aussehen:
syslog.de
type: kerberos
realm-name: SYSLOG.DE
domain-name: syslog.de
configured: no
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
Nun kann der Domäne beigetreten werden (wenn ein anderer Benutzer als 'Administrator' verwendet werden soll, dann muss dieser mit '-U
benutzername' spezifiert werden):
realm join SYSLOG.DE
Das System fragt nach dem Passwort des Benutzers und wenn der Beitritt zur Domäne erfolreich war, dann erscheint keine weitere Meldung. Wenn
Benutzer/Password nicht korrekt waren, dann könnte die Ausgabe in etwa so aussehen:
Password for Administrator:
See: journalctl REALMD_OPERATION=r243783.20865
realm: Couldn't join realm: The Administrator account, password, or credentials are invalid
Um bei der Authentifizierung auch nur die Benutzer-Namen ohne angehaengte Domäne benutzen zu können, muss jetzt noch die Konfiguration von
sssd /etc/sssd/sssd.conf angepasst werden. Einfach die Zeile mit dem Parameter use_fully_qualified_names auskommentieren:
# Comment out if you prefer to user shortnames.
#use_fully_qualified_names = True
Danach den Dienst neu starten (und dabei auch alle gecachten Daten wegwerfen):
service sssd stop
rm -f /var/lib/sss/db/*
rm -f /var/lib/sss/mc/*
service sssd start
Zum Testen die Benutzer-Daten eines Domänen-Benutzer abfragen:
getent passwd manager
Ergebnis:
manager:*:1308001010:1308000512:Manager:/home/syslog.de/manager:/bin/bash
Wenn kein Ergebnis erscheint, dann existiert der Benutzer nicht oder die Anbindung an die Domäne war nicht erfolgreich. In diesem Fall sollten die
System (/var/log/syslog und SSSD-Logs (/var/log/sssd/sssd.log) geprüft werden.
PAM konfigurieren
Damit die Homedirs für die Domänen-Benutzer auch automatisch erzeugt werden (nötig für evtl. Explain-Dateien, etc.) muss die Datei
/etc/pam.d/common-sessions angepasst werden. Folgende Zeile muss als erste Zeile eingefügt werden (bestehende Zeilen nicht ersetzen!):
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
Die Datei /usr/informix/etc/sqlhosts muss angepasst werden, indem an die bereits bestehende Zeile was angehängt wird:
ol_ifx1210
olsoctcp
sltifx1210
sqlexec
s=4,pam_serv=(informix),pamauth=(password)
Abschließend muss noch eine Datei /etc/pam.d/informix mit folgendem Inhalt angelegt werden:
@include common-auth
@include common-account
@include common-session
Nun muss zumindest der Datenbank-Server neu gestartet werden:
/etc/init.d/informix stop
/etc/init.d/informix start
Alternativ kann auch das ganze System rebooted werden.
Herunterladen