LVM: Vergrössern / Verkleinern von volumes

Vergrössern

Das Vergrössern eines Volumes geht relativ einfach mit:

lvextend -L+1G /dev/volumegroup/logicalvolume
resize2fs /dev/volumegroup/logicalvolume

[stextbox id=“tip“ caption=“Tipp: lvextend Parameter -r“]
Mittels dem Paramater -r wird das filesystem nach dem vergrössern des Volumes automatisch angepasst!
So kann man anstelle der zwei obigen Zeilen auch einfach:

lvextend -r -L+1G /dev/volumegroup/logicalvolume

eingeben.
[/stextbox]

Verkleinern

Das Verkleinern ist etwas komplizierter und ein Fehler könnte das ganze LV korrupt (unbrauchbar) machen.

Hier eine Beschreibung wies trotzdem glatt läuft:
Folgendes muss hierbei beachtet werden:

  • Partition muss unmounted sein
  • Das filesystem darf AUF KEINEN FALL grösser sein, als das logical volume nach der Verkleinerung (Tipp: Das FS etwas kleiner machen als das LV nachher wird)

Abfolge:

#Prüfen wie viel Platz das Filesystem braucht:
df -h /home
#Filesystem            Size  Used Avail Use% Mounted on
#/dev/mapper/rootvg-home_lv
#                       25G   18G  5.9G  75% /home
 
 
#Partition unmounten:
umount -f /home/
 
#Filesystem check machen (zwingend)
e2fsck -f /dev/rootvg/home_lv
 
#Filesystem verkleinern; wir wollen das LV auf 20GB verkleinern, deshalb machen wir das filesystem nur 19GB gross:
resize2fs /dev/rootvg/home_lv 19G
 
#Das LV wird dann auf 20GB resized (etwas grösser als filesystem)
lvresize -L 20G  /dev/rootvg/home_lv
 
#Mit "resize2fs" kann man dann das filesystem wieder auf die Grösse des LVs erweitern
resize2fs /dev/rootvg/home_lv
 
#Und wieder mounten:
mount /home

Wenn es sich bei der Partition zufällig um eine system Partition wie z.B.: /, /usr/, /var handelt, die sich nicht im laufenden Betrieb mounten lässt, so muss das System mit einer Linux Boot-CD gestartet werden.

Linux Distribution herausfinden

Oftmals möchte man rausfinden was für eine Linux Distribution (Debian sarge/etch, RedHat 3/4, SuSE, usw.) man am laufen hat.

ede Linux Distribution hat andere release Dateien unter /etc/ gespeichert. Diese Dateien sind oft wie folgt benannt "DISTRIBUTION-release".

Diese Dateien beinhalten Informationen über die Distribution und die Version. Bei manchen Distributionen auch Infos über "Codenames".

Da jede Linux Distribution anders ist, gibt es keinen sicheren Weg diese Distributions Informationen auszulesen. Wer also ein Programm schreibt, egal ob Batch-Skript oder PHP-Skript, kann Informationen wie die Linux-Distribution oft gut gebrauchen (Spezielle Pfade, Konfigurationswerkzeuge wie z.B. Yast [SuSE], Update Check, etc).

Um diese Informationen zuverlässig auszulesen gibt es leider nur einen manuellen Weg. Man muss jede mögliche release-Datei anfragen und wenn eine Datei einen Inhalt hat, diese auslesen.

Liste der Distributionen:

Annvix: /etc/annvix-release
Arch Linux: /etc/arch-release
Arklinux: /etc/arklinux-release
Aurox Linux: /etc/aurox-release
BlackCat: /etc/blackcat-release
Cobalt: /etc/cobalt-release
Conectiva: /etc/conectiva-release
Debian: /etc/debian_version, /etc/debian_release (rare)
Fedora Core: /etc/fedora-release
Gentoo Linux: /etc/gentoo-release
Immunix: /etc/immunix-release
Knoppix: knoppix_version
Linux-From-Scratch: /etc/lfs-release
Linux-PPC: /etc/linuxppc-release
Mandrake: /etc/mandrake-release
Mandriva/Mandrake Linux: /etc/mandriva-release, /etc/mandrake-release, /etc/mandakelinux-release
MkLinux: /etc/mklinux-release
Novell Linux Desktop: /etc/nld-release
PLD Linux: /etc/pld-release
Red Hat: /etc/redhat-release, /etc/redhat_version (rare)
Slackware: /etc/slackware-version, /etc/slackware-release (rare)
SME Server (Formerly E-Smith): /etc/e-smith-release
Solaris SPARC: /etc/release
Sun JDS: /etc/sun-release
SUSE Linux: /etc/SuSE-release, /etc/novell-release
SUSE Linux ES9: /etc/sles-release
Tiny Sofa: /etc/tinysofa-release
TurboLinux: /etc/turbolinux-release
Ubuntu Linux: /etc/lsb-release
UltraPenguin: /etc/ultrapenguin-release
UnitedLinux: /etc/UnitedLinux-release (covers SUSE SLES8)
VA-Linux/RH-VALE: /etc/va-release
Yellow Dog: /etc/yellowdog-release

apache Meldung: „Warning: SuexecUserGroup directive requires SUEXEC wrapper“ nach debian upgrade

Nach einem debian upgrade von etch zu lenny mit aktiviertem suexec kann es passieren, dass der apache bei jedem Neustart viele Warnmeldungen wie diese bringt:

"Warning: SuexecUserGroup directive requires SUEXEC wrapper"

Bei einigen Seiten steht zudem dann auch einfach der Text "Access denied".

Dieses Problem kann man jedoch relativ einfach lösen indem man das Paket apache2-suexec (neu-) installiert:

apt-get install apache2-suexec

Nach etch-upgrade: Falscher Standard-Editor

Normalerweise ist der Standardeditor unter Linux "vi". Nach dem Upgrade von Debian sarge zu etch jedoch wird der Standard-Editor entweder nano oder joe. Falls man dies ändern möchte:

update-alternatives --config editor

Dann den Editor auswählen. Nach drücken der Enter-Taste hat man seinen gewohnten Editor wieder.

Nach Debian-etch Upgrade: Kein imap/pop3 Login mehr möglich

Nach einem Upgrade von Debian-sarge nach etch kann es vorkommen, dass man sich dann nicht mehr am Mailserver anmelden kann.

Grund dafür ist, dass seit Debian 4 Etch nicht mehr das courier-authmysql Paket installiert werden muss, sondern das courier-authlib-mysql

Ein:

apt-get install courier-authlib-mysql

behebt das Problem.

Nagios: NRPE Fehlermeldung ‚Return code of 127 is out of bounds – plugin may be missing‘

Problem: Nagios läuft lokal super, versucht man dann aber per NRPE einen remote Host zu Monitoren erhält man die Fehlermeldung: "Return code of 127 is out of bounds – plugin may be missing". Skurillerweise klappt das ganze, wenn man check_nrpe lokal aufruft; die Meldung kommt nur in der Web-Oberfläche.

Ursache: Bei mir lag das Problem daran, dass sich das NRPE-Plugin in einen anderes Verzeichnis installiert hatte als die übrigen (lokalen) Plugins. So Lagen die lokalen Plugins unter: "/usr/local/nagios/libexec/", das NRPE Plugin, aber unter: "/usr/lib/nagios/plugins/check_nrpe". Da ich das NRPE Plugin immer über den korrekten Pfad aufgerufen hatte, funktionierte dort auch alles.

Lösung: Man kann nun entweder:

    1. Den zusätzlichen Pfad in der: "/etc/nagios/resource.cfg" anpassen, sowie auch die $USER$ Variable in der Konfiguration des überwachten Hosts.

2. Einen Symlink auf den Pfad des NRPE Plugins legen

3. Das NRPE Plugin in das normale Plugin Verzeichnis verschieben (und dann evtl. noch symlink auf die "alte" Destination).

Ich entschied mich für die dritte Lösung, da so alle Plugins zusammen in einem Verzeichnis sind:

mv -v /usr/lib/nagios/plugins/check_nrpe /usr/local/nagios/libexec/
ln -s /usr/local/nagios/libexec/check_nrpe /usr/lib/nagios/plugins/check_nrpe

Doppelte IP-Adressen finden

In einem Netzwerk kommt es manchmal vor, dass mehrere Teilnehmer dieselbe IP-Adresse verwenden; dies kann sehr ärgerlich sein.

Unter Linux und mithilfe von MAC-Datenbanken gibt es zum Glück eine Möglichkeit den "Täter" zu finden. 😉

Unter einer Linux Konsole einfach:

arping -b $IP

ausführen und sehen, welche MAC-Adressen auftauchen.

Zu welchem Gerät diese dann gehört kann man im Internet herausfinden, z.B. unter: [http://www.coffer.com/mac_find/]

vi: Automatisches Einrücken verhindern

Fügt man Text mittels Copy/Paste in den vi ein, kann es zu einem sogenannten Treppeneffekt kommen, dass heisst der Text wird in jeder Zeile weiter eingerückt. Um dies zu verhindern, muss vor dem Einfügen das automatische Einrücken deaktiviert werden.

Das automatische Einrücken rückt die nächste Zeile so wie die vorhergehende automatisch ein. Dies ist normalerweise auch sehr nützlich, nur beim Einfügen von Text ist es störend.

Zuerst muss man sich im Kommandomodus befinden (dies erreicht man, indem man die Esc-Taste drückt) und danach mit dem Doppelpunkt in den ex Modus wechselt. Anschliessend lässt sich mit

set noai

das automatische Einrücken deaktivieren. Danach kann man den Text einfügen. Das automatische Einrücken wird nach dem Einfügen mit set ai im ex Modus wieder aktiviert.

Um das automatische Einrücken dauerhaft zu deaktivieren sind einieg Optionen in /etc/vimrc nötig:

" Switch off all auto-indenting
set nocindent
set nosmartindent
set noautoindent
set indentexpr=
filetype indent off
filetype plugin indent off

Quellen:

Der XHOST sendet kein Broadcast Signal aus

Wenn man Exceed aufruft wird ein neu installierter SLES(9) Server nicht in der Broadcast Liste angezeigt.
Um dies zu erreichen, muss die Datei: ‚/etc/opt/kde3/share/config/kdm/kdmrc‘ editiert- und

[Xdmcp]
 Enable=false

in

[Xdmcp]
 Enable=true

geändert werden.

Link: http://groups.google.ch/group/alt.os.linux.suse/browse_thread/thread/3c8fbc7d69c76e6f/c5bfe867c8d6dc26

Zu XDMCP gibt es auch Einträge in der SDB.

Weitere Lösungen, die zu diesem Problem führen könnten:

/etc/X11/xdm/xdm-config: Hier muss die Zeile:

DisplayManager.requestPort: 0

auskommentiert sein.

Weitere Dateien, die damit zusammenhängen:
-XAccess
-XServers
-xdm-config