Archiv der Kategorie: CentOS

Eucalyptus Cloud auf Centos installieren

Vorbereitungen

1. Zeitsynchronisation

Zum Anfang installieren wir zwei Server mit CentOs 5.5. Nach der CentOs Installation werden wir auf beiden Server mittels ntp die Zeit synchronisieren.

#yum install -y ntp
#ntpdate pool.ntp.org

2. Java, Bridge, Dhcp

Nun werden wir uns um die notwendigen Dependencys kümmern und installieren auf dem zukünftigen Front-End folgende Pakete:

#yum install -y java-1.6.0-openjdk ant ant-nodeps dhcp bridge-utils httpd

3. Xen Hypervisor auf dem Node Controller

Auf dem zukünftigen Node Controller installieren wir den Hypervisior. Hier Xen.

#yum install -y xen
#sed --in-place 's/#(xend-http-server no)/(xend-http-server yes)/' /etc/xen/xend-config.sxp 
#sed --in-place 's/#(xend-address localhost)/(xend-address localhost)/' /etc/xen/xend-config.sxp
#/etc/init.d/xend restart

Hinweis:

Nach der Xen Installation müssen wir das System nun umstellen damit CentOs vom Kernel mit der Xen unterstützung bootet. Dazu modifizieren wir die grub menu.lst

#vi /boot/grub/menu.lst

 

  1. grub.conf generated by anaconda
  2. Note that you do not have to rerun grub after making changes to this file
  3. NOTICE: You do not have a /boot partition. This means that
  4. all kernel and initrd paths are relative to /, eg.
  5. root (hd0,0)
  6. kernel /boot/vmlinuz-version ro root=/dev/sda1
  7. initrd /boot/initrd-version.img
  8. boot=/dev/sda

default=1 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.8.1.el5xen)

       root (hd0,0)
       kernel /boot/xen.gz-2.6.18-194.8.1.el5
       module /boot/vmlinuz-2.6.18-194.8.1.el5xen ro root=LABEL=/
       module /boot/initrd-2.6.18-194.8.1.el5xen.img

title CentOS (2.6.18-194.el5PAE)

       root (hd0,0)
       kernel /boot/vmlinuz-2.6.18-194.el5PAE ro root=LABEL=/
       initrd /boot/initrd-2.6.18-194.el5PAE.img

 

und stellen den default Wert um

#default=0

Danach müssen wir das System rebooten. Nach dem Neustart können wir nun prüfen ob der Xen Kernel geladen wurde:

#xm list

Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 14843 16 r----- 64.2
4. Firewall Regeln

Damit Eucalyptus untereinander problemlos kommunizieren kann (Port 8773) schalten wir auf beiden Servern die Firewall aus.

#system-config-securitylevel

Security Level: Disabled, SELinux: Disabled
5. Software Repository anlegen

Nun binden wir das Software Repository das die notwendigen Pakete beinhaltet in yum ein.

#vi /etc/yum.repos.d/euca
[euca]
name=Eucalyptus
baseurl=http://www.eucalyptussoftware.com/downloads/repo/eucalyptus/i386/yum/centos/
enabled=1

Nun noch das Repository einlesen:

#yum list

Installation

Auf dem Front End:

#yum install eucalyptus-cloud.i386 eucalyptus-cc.i386 eucalyptus-walrus.i386 eucalyptus-sc.i386 --nogpgcheck

Auf dem Node Controller:

#yum install eucalyptus-nc.i386 --nogpgcheck

Post Install

Auf dem Node Controller müssen wir nun prüfen ob der durch das Setup angelegt User eucalyptus auch mit dem installierten Hypervisor interagieren kann:

#su eucalyptus -c "virsh list"

Nun könne wir Eucalyptus starten:

Auf dem Front End:

#/etc/init.d/eucalyptus-cloud start
#/etc/init.d/eucalyptus-cc start

Auf dem Node Controller:

#/etc/init.d/eucalyptus-nc start

Fehlersuche

Das Home Verzeichniss des Eucalyptus Users wir im Setup nicht richtig angelegt:

#vi /etc/passwd

/home/eucalyptus gegen /var/lib/eucalyptus tauschen

Für den User Eucalyptus wird der benötigte ssh key nicht automatisch auf dem CC und dem NC verteilt.

#passwd eucalyptus irgendeinpasswort
#ssh-copy-id /var/lib/eucalyptus/.ssh/id_rsa.pub eucalyptus@NC

Eucatools Setup für Centos Tar Version funktioniert nicht da swig nicht vorhanden ist.

– Swig manuell nachinstallieren.

Grep grundlagen

“Global search for a regular expression and print out matched lines” – kurz ‘g/re/p’ ist das gebräuchlichste Kommando, um in Dateien nach bestimmten Mustern zu suchen. Die Grep-Familie umfasst die drei Kommandos egrep, grep und fgrep. Das erste “Extended Grep” (erweitertes grep) versteht “ein paar mehr” der Regulären Ausdrücke als “grep”. “fgrep” (Fixed Grep) hingegen unterstützt nur eine eingeschränkte Teilmenge, womit sich die Suche vor allem in größen Dateien erheblich beschleunigen lässt.

Grep arbeitet bei der Suche wesentlich effizienter als das in einem Editor geschehen würde. Per Voreinstellung schreibt das Kommando alle Zeilen der Eingabe, die das gesuchte Muster enthalten, auf die Standardausgabe. Dabei kann die Eingabe beliebig viele Dateien, als auch die Standardeingabe betreffen. Zudem liefern die Kommandos der Grep-Familie einen Rückgabewert an das Betriebssystem, was sie für die Verwendung in Shellprogrammen bevorzugt.

Der Rückgabewert von Grep

Häufig interessiert man sich nicht für den exakten Inhalt der Zeile, die das Muster enthält, sondern einzig ob das Muster überhaupt existiert. Vor allem in Shellskripten wird man die Ausgaben der Kommandos unterdrücken und anschließend anhand des Rückgabewertes den weiteren Programmablauf steuern.

Rückgabewert 0

Muster wurde gefunden:

# "root" sollte es eigentlich in jeder "passwd" geben
user@machine> grep root /etc/passwd >& /dev/null
user@machine> echo $?
0

Rückgabewert 1

Muster wurde nicht gefunden:

# "ROOT" gibt es hoffentlich nicht
user@machine> grep ROOT /etc/passwd >& /dev/null
user@machine> echo $?
1

Rückgabewert 2

Datei nicht gefunden:

# die Datei "/bla" gibt es hoffentlich nicht
user@machine> grep text /bla >& /dev/null
user@machine> echo $?
2

Wichtige Optionen von Grep

Optionen beeinflussen die Arbeitsweise aller Kommandos der Grep-Familie. Welche Optionen es gibt, beschreibt die folgende Tabelle:

-c

Anzeige der Anzahl Zeilen, in denen das Muster gefunden wurde:

user@machine> grep -c bash /etc/passwd
38

-i

Groß- und Kleinschreibung werden nicht unterschieden:

user@machine> grep -i ROot /etc/passwd
root:x:0:0:root:/root:/bin/bash

-l

Nur Anzeige der Namen der Dateien, in denen das Muster gefunden wurde:

user@machine> grep -l tcp /etc/host*
/etc/hosts.allow
/etc/hosts.deny

-n

Zeigt die Zeilennummer an, in der das Muster gefunden wurde:

user@machine> grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash

-s

Unterdrückt die Fehlerausgaben (Standardfehler); sinnvoll in Skripten.

-v

Zeigt alle Zeilen an, die das Muster nicht enthalten:

# ohne diese Option
user@machine> ps ax | grep inetd
 133 ?        S      0:00 /usr/sbin/inetd
 762 pts/2    S      0:00 grep inetd
# die Ausgabe "grep" herausfiltern
user@machine> ps ax | grep inetd | grep -v grep
 133 ?        S      0:00 /usr/sbin/inetd

-w

Das Suchmuster muss ein einzelnes Wort sein (also kein Bestandteil eines anderen Wortes).

user@machine> echo -e "Automaten\n essen\n keine Tomaten" | grep -i Tomaten
Automaten
keine Tomaten

 

user@sonne> echo -e "Automaten\n essen\n keine Tomaten" | grep -iw Tomaten
keine Tomaten

-A [Anzahl]

Zeigt “Anzahl” Zeilen an, die der Zeile mit dem Muster folgen.

user@machine> grep -A 2 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash

-B [Anzahl]

Zeigt “Anzahl” Zeilen an, die vor der Zeile mit dem Muster liegen.

 

Von Grep unterstützte Reguläre Ausdrücke

Nachfolgend sind alle Reguläre Ausdrücke aufgeführt, die die Kommandos der Grep-Familie unterstützen. Hinter jedem Muster ist angegeben, welches grep-Kommando diese Syntax beherrscht. Dabei wird nicht zwischen grep und fgrep unterschieden, da beide Kommandos dieselbe Sprache sprechen (also grep=fgrep).

   ^ (grep, egrep)

Beginn der Zeile

   $ (grep, egrep)

Ende der Zeile

   . (grep, egrep)

Genau ein beliebiges Zeichen

   * (grep, egrep)

Beliebig viele des vorangegangenen Zeichens

   [] (grep, egrep)

Ein Zeichen aus dem Bereich. Anstelle von Zeichen können vordefinierte Klassen von Zeichen verwendet werden: [:alnum:], [:alpha:], [:cntrl:], [:digit:], [:graph:], [:lower:], [:print:], [:punct:], [:space:], [:upper:], und [:xdigit:].

   [^] (grep, egrep)

Kein Zeichen aus dem Bereich

   \< (grep)

Muster am Wortanfang suchen

   \> (grep)

Muster am Wortende suchen

   \(..\) (grep)

Eingeschlossenes Muster vormerken; auf dieses kann später über \1 zugegriffen werden. Bis zu neun Muster können auf diese Weise gespeichert werden ( ein Beispiel steht im Abschnitt Reguläre Ausdrücke).

   x\{m\} (grep)

m-faches Auftreten des Zeichens x

   x\{m,n\} (grep)

mindestens m-, maximal n-maliges Auftreten des Zeichens x

   + (egrep)

Mindestens ein Auftreten des vorangegangenen Zeichens

   ? (egrep)

Höchstens ein Auftreten des vorangegangenen Zeichens

   x|y (egrep)

Zeichen “x” oder Zeichen “y”

   (abc|xyz) (egrep)

Zeichenkette “abc” oder Zeichenkette “xyz”. Die runden Klammern können entfallen.

 

Grep – Beispiele

Einfache Beispiele zur Anwendung von grep begegneten uns schon an mehreren Stellen dieses Buches. Nun möchte ich versuchen, anhand typischer Anforderungen bei der alltäglichen Arbeit mit einem Unix-System, die Verwendung der komplexeren Mechanismen zu erläutern.

Beispiel 1

Bei der Systemadministration fragt man sich häufig, in welcher Datei eigentlich welche Shell-Variable gesetzt wird? Die globalen Vorgaben erfolgen zum Großteil in den Dateien des Verzeichnisses /etc. Also interessieren uns die Namen der Dateien, in denen z.B. die PATH-Variable modifiziert wird:

user@machine> grep -l PATH /etc/* 2>/dev/null
/etc/csh.cshrc
/etc/login.defs
/etc/manpath.config
/etc/profile
/etc/profile.rpmsave
/etc/rc.config
/etc/squid.conf

Die Umleitung der Fehlerausgabe nach /dev/null ist sinnvoll, da “grep” nicht auf Verzeichnisse anwendbar ist.

Beispiel 2

Wie viele Nutzer sind Mitglied in der default-Gruppe users (GID 100)?

user@machine> grep -c ':[0-9]\{1,\}:100:' /etc/passwd
9

Bei der Angabe des Suchmusters hilft uns die Kenntnis des Aufbaus der Datei “/etc/passwd”. Dabei steht die GruppenID immer zwischen zwei Doppelpunkten. Allerdings könnte es sein, dass auch die NutzerID (UID) 100 vergeben ist – der Ausdruck :[0-9]\{1,\}:100: garantiert, dass :100: das zweite rein numerische Feld betrifft. Das Muster \{1,\} entspricht genau dem Muster \+. Eine andere Schreibweise ist:

user@sonne> grep -c ':digit:\+:100:' /etc/passwd
9

Beispiel 3

Welche Netzwerkdienste über UDP sind auf unserem System verfügbar (Datei /etc/inetd.conf)?

 user@machine> grep '^[^#].*space:udp' /etc/inetd.conf
 time    dgram   udp     wait    root    internal
 talk    dgram   udp     wait    root    /usr/sbin/tcpd  in.talkd
 ntalk   dgram   udp     wait    root    /usr/sbin/tcpd  in.talkd
 netbios-ns      dgram   udp     wait    root    /usr/sbin/nmbd  nmbd

Jede Zeile, die mit einem # beginnt, ist ein Kommentar. Also filtern wir solche Zeilen aus (^[^#]). Das gesuchte Protokoll ist “udp”. Vor diesem Schlüsselwort können beliebig viele Zeichen (.*) gefolgt von einem Leerzeichen oder Tabulator (space:) stehen.

Beispiel 4

Je gezielter man nach Informationen fahndet, desto verwirrender wird die Angabe der Suchmusters. In zahlreichen Fällen wird die Verwendung von Pipes einleuchtender sein. Das Ergebnis aus obigen Beispiel erhält man auch mit folgender Befehlsfolge:

user@machine> grep -w udp /etc/inetd.conf | grep -v ^#
 time    dgram   udp     wait    root    internal
 talk    dgram   udp     wait    root    /usr/sbin/tcpd  in.talkd
 ntalk   dgram   udp     wait    root    /usr/sbin/tcpd  in.talkd
 netbios-ns     dgram   udp     wait    root    /usr/sbin/nmbd  nmbd

Egrep – Beispiele

Egrep ist hilfreich, wenn Sie nach Zeilen in der Eingabe suchen, die mindestens eine von mehreren Zeichenketten enthalten. So findet das folgende Beispiel alle Zeilen der Datei /etc/fstab, in denen “floppy” oder “cdrom” auftauchen:

user@machine> egrep 'floppy|cdrom' /etc/fstab
/dev/hdc    /cdrom         iso9660   ro,noauto,user,exec 0   0
/dev/fd0    /floppy        auto      noauto,user         0   0

Eine weitere interessante Anwendung ist die Suche nach “geteilten” Mustern, d.h. die bekannten Teile stehen auf einer Zeile, aber der Zwischenraum ist unbekannt. Zur Demonstration dient folgende Datei:

user@machine> cat beispiel.txt
1 ein  Zwischenraum
2 ein           Zwischenraum
3 ein    Zwischenraum
4 ein           Zwischenraum

Gesucht werden sollen alle Zeilen, die “einen Zwischenraum” enthalten; jedoch ist die Zusammensetzung des Zwischenraums nicht bekannt (und besteht teils aus Leerzeichen, teils aus Tabulatoren und teils aus beidem). Mit dem normalen grep könnte man sich mit folgendem Konstrukt behelfen:

user@machine> grep "einspace:space:*Zwischenraum" beispiel.txt
1 ein  Zwischenraum
2 ein           Zwischenraum
3 ein    Zwischenraum
4 ein           Zwischenraum

Die doppelte Anwendung des [:space:]-Musters ist für diesen Fall notwendiger Ballast, da wir ja mindestens einen Zwischenraum benötigen. Eleganter ist da die Möglichkeit von “+” in Verbindung mit egrep:

user@machine> egrep "einspace:+Zwischenraum" beispiel.txt
1 ein  Zwischenraum
2 ein           Zwischenraum
3 ein    Zwischenraum
4 ein           Zwischenraum

 

Fgrep – Beispiele

Fgrep kann immer anstelle von grep verwendet werden, falls das zu suchende Muster keine regulären Ausdrücke enthält. Alle Sonderzeichen in der Musterzeichenkette verlieren ihre Sonderbedeutung und werden als Bestandteil des Musters verstanden. Fgrep arbeitet dadurch etwas schneller als grep und ist vor allem beim Durchsuchen großer Datenmengen nützlich.

Logrotate einrichten

Die config Dateien von Logrotate finden sich unter folgenden Pfaden:

#/etc/logrotate.d/

Hier liegen die Config Dateien für die einzelnen Programme.

z.B.
httpd rpm dpkg rsyslog

”’Die Default Config”’
#/etc/logrotate.conf

# see “man logrotate” for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp — we’ll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}

”’Das Cron Script”’
#/etc/cron.daily/logrotate

<code>
#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
</code>

Der aktuelle Status der Log die mittels logrotate bearbeitet wurden
#/var/lib/logrotate/status

logrotate state — version 2
“/var/log/httpd/*log” 2010-3-1
“/var/log/ppp/connect-errors” 2010-3-1
“/var/account/pacct” 2010-3-1
“/var/log/rpmpkgs” 2010-9-12
“/var/log/samba/*.log” 2010-3-1
“/var/log/messages” 2010-9-12
“/var/log/secure” 2010-9-12
“/var/log/maillog” 2010-9-12
“/var/log/spooler” 2010-9-12
“/var/log/boot.log” 2010-9-12
“/var/log/cron” 2010-9-12
“/var/log/yum.log” 2010-3-1
“/var/log/wtmp” 2010-9-1

”’Eigenes Logrotate einrichten:”’

# vi  /etc/logrotate.d/mylogrotate

/etc/bind/bind.log {
daily
rotate 14
missingok
create 0644 named named
postrotate
/sbin/service named reload  2> /dev/null > /dev/null || true
endscript
}

”’Achtung!!!”’

Wenn ihr hier im logrotate script nicht angebt wie es rotiert werden soll werden die Default Werte aus ”’/etc/logrotate.conf”’ ausgeführt.

SMB Share mit credentials file mounten

Wenn du eine SMB Freigabe mounten willst müsstest du deine Benutzerdaten in /etc/fstab schreiben. Um die Sicherheit ein wenig zu errhöhen kann man den Benutzerteil in ein sogenanntes credentials file auslagern. Vorteil dabei ist das du das in dein Homelaufwerk legen kannst wo in der Regel nur du und root herankommen.

Unischer:

#vi /etc/fstab
#//share/dir /mnt/meinshare cifs username=username,password=passwort

Mehr Sicherheit:

#mkdir /path/sicheres_dir
#chmod 0700 /path/sicheres_dir
#vi /etc/fstab
#//share/dir /mt/meinshare cifs credentials=/path/sicheres_dir/fileshare
#vi /path/sicheres_dir/fileshare
#username=username
#password=passwort

Wie man sehen kann erhöht sich hierdurch zumindest ein wenig die Sicherheit.

Nano Editor in Zeile springen gotoline

Um mit dem nano Editor in eine bestimmte Zeile zu springen muss man folgendes tun:

STRG + Shift  +_

Es öffnet sich ein Dialog am unteren Bildschirmrand, hier gibst du die Zeilennummer ein.

Enter line number, column number:                                                                                                                                                                                                        
^G Get Help                                                                    ^Y First Line                                                                  ^T Go To Text
 ^C Cancel                                                                      ^V Last Line

Bandbreite unter Linux messen

Den Datendurchsatz auf einer Ethernet-Verbindung kann man z.B. mit iperf messen.
Für die Bandbreitenmessung mit beiden Tools muß auf dem ersten beteiligen Rechner jeweils eine Serverkomponente gestartet werden:

# iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------

Nun läuft der iperf Server auf dem Zielsystem und lauscht standardmäßig auf Port 5001.

 

Auf dem anderen Rechner wird dann ein Client gestartet, der die Messung durchführt:

# iperf -c 192.168.1.1
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 49.5 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.2 port 52591 connected with 192.168.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  8.79 GBytes  7.55 Gbits/sec

In der Standardeinstellung überträgt iperf 10 Megabyte über TCP und misst dabei die Performance. Da wir wir dem Server die Option “-i 1″ verwendet haben, wurde dort im Interval von 1 Sekunde geloggt und wir sehen dort eine Ausgabe von:

# iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.1 port 5001 connected with 192.168.1.2 port 52591
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  1.0- 2.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  2.0- 3.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  3.0- 4.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  4.0- 5.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  5.0- 6.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  6.0- 7.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  7.0- 8.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  8.0- 9.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  9.0-10.0 sec  0.00 Bytes  0.00 bits/sec
[  4]  0.0-10.0 sec  8.78 GBytes  7.53 Gbits/sec

Iperf bietet noch viele weitere Optionen an. So kann man das Format vom Datendurchsatz anpassen (Kbits, Mbits, KBytes, MBytes) oder den Intervall zwischen den Berichten ändern (Standard 10s). Ebenso ist eine Änderung des benutzten Ports möglich. Die Messung muss auch nicht über TCP erfolgen, sondern kann auch über UDP durchgeführt werden. Darüber hinaus gibt es noch einige weitere spezielle Optionen die man sich leicht über die manpage oder die –help Funktion betrachten kann.

Watchguard VPN mit Linux nutzen

Leider gibt es für Linux nicht wie für Windows den Watchguard SSL VPN Client. Hier muss man sich über Umwege helfen. Ein grosser Vorteil ist das auf der Watchguard Firewall ein OpenVPN Server läuft. Wer sich schon mal mit OpenVPN beschäftigt hat kennt die Logmeldungen die man auf Windows im VPN Client beim Einlogen sehen kann. Das ist im Folgenden sehr hilfreich.

WGsslclient

Watchguard

Client Paket von der Firewall herunterladen

Als erstes besorgen wir uns die Datei client.wgssl von unserer Watchguard Firebox. Diese Datei kann man einfach direkt von der Firewall herunterladen:

https://firebox:4100/?action=sslvpn_download&filename=client.wgssl&username=my_name&password=my_password

weiterlesen …

Iscsi Initator

Auf dem Initiator muss das Paket open-iscsi installiert werden.

#apt-get install open-iscsi

oder

#yum install iscsi-initiator-utils.x86_64

Damit beim nächsten Startvorgang die iSCSI Geräte automatisch gestartet werden, bietet es sich an den Wert node.startup in der Datei /etc/iscsi/iscsid.conf auf automatic zusetzen. Dies sieht dann wie folgt aus.


node.startup = automatic

Anschließend kann der Dienst wie folgt neu gestartet werden:

#service open-iscsi restart

Jetzt kann mit dem Einbinden der eigentlichen iSCSI-Geräte begonnen werden. Dazu muss zunächst ein Discover durchgeführt werden. Hier für wird das Programm iscsiadm wie folgt aufgerufen und führt zu einer der hier dargestellten sehr ähnlichen Ausgabe

#iscsiadm -m discovery -t st -p 192.168.0.1

192.168.0.1:3260,1 iqn.2010-11.org.example.target:storage.example

Anschließend kann die Verbdinung mit dem Target aufgebaut werden. ”’Achtung:”’ Dies funktioniert nur, wenn vorher das Discover das  iSCSI-Gerät erkannt hat.

#iscsiadm -m node –targetname “iqn.2010-11.org.example.target:storage.example” –portal “192.168.0.1:3260″ –login

Logging in to [iface: default, target: iqn.2010-11.org.example.target:storage.example, portal: 10.0.0.1,3260]
Login to [iface: default, target: iqn.2010-11.org.example.target:storage.example, portal: 10.0.0.1,3260]: successful

Die Ausgabe kann mit ”’dmesg”’ überprüft werden.

[2939232.654767] scsi 4:0:0:0: Direct-Access     QNAP     iSCSI Storage    3.1  PQ: 0 ANSI: 5
[2939232.655415] sd 4:0:0:0: Attached scsi generic sg5 type 0
[2939232.658683] sd 6:0:0:0: [sdb] 52428800 512-byte logical blocks: (26.8 GB/25.0 GiB)
[2939232.659942] sd 6:0:0:0: [sdb] Write Protect is off
[2939232.659944] sd 6:0:0:0: [sdb] Mode Sense: 2f 00 00 00
[2939232.660309] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn’t support DPO or FUA
[2939232.663311]  sdb: unknown partition table

Nun kann die Platte mittels der Standard Linux tools partitioniert und formatiert werden. Ein einziger Nachteil kann sein das man mittels df -h nicht sehen kann, dass das Device ein Remote device ist wie z.B ein NFS share.

Crontab: pam access(crond:account): access denied for user `root’ from `cron’

Im neuen RedHAT bzw CentOS 6.2 kann der Aufruf folgenden Fehler anzeigen:

root@rechner#crontab -e

root@rechner#You (root) are not allowed to access to (crontab) because of pam configuration.

root@rechner#tail -f /var/log/secure

root@rechner#Jul 11 16:07:57 rechner crontab: pam_access(crond:account): access denied for user `root’ from `cron’

Hier hilft:

root@rechner#vi /etc/security/access.conf

”’Folgende Zeile muss eingefügt werden!”’

” ”’+ : root : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6”’ ”
–       :       ALL     :       ALL

Danach ist der aufruff des Crontabs möglich:

root@rechner#crontab -e