Posts tagged Linux/Unix
Zugriff auf VMware Server via SSH Tunnel
Dec 9th
Ausgangslage
VMware Server auf HostA. Wir arbeiten am Client auf HostB. Zugriff von HostB auf HostA nur via SSH moeglich.
Wir moechten nun von HostB aus aufs Webinterface UND auf die Remotekonsole auf HostA zugreifen.
Lösung
Zum Glueck klappt das ganze vie SSH-Tunnels. Man muss nur wissen welche Ports das sind
- 8222 - Webinterface HTTP (0der gem. Config)
- 8333 - Webinterface HTTPS (0der gem. Config)
- 902 - Remote Console (0der gem. Config)
- 8307 - ?Soap?; Wird auch fuer die Remote Console gebraucht.
Das wars, nun kann via http://localhost:8222/ auf die VMware Konsole zugegriffen werden!
Linux: Ext3-Partition verkleinern
Dec 4th
Problem
Die Partition /dev/mapper/vgdata-lvmusic, gemountet unter /data/music ist zu gross und soll darum verkleinert werden.
Lösung
Zuerst muss das Dateisystem ausgehaengt werden. Online kann nur vergroessert werden.
Aushaengen geht mit
1 | umount /data/music |
Falls eine Fehlermeldung (“umount: /data/music: device is busy”) erscheint, sind offenbar noch Dateien auf der entsprechenden Partition geoeffnet. Offene Dateien kann man sich mit
1 | lsof | grep /data/music |
anzeigen lassen.
Ist das Dateisystem erst mal ausgehaengt, muss man noch einen Filesystemcheck laufen lassen. Anschliessend kann das Filesystem verkleinert werden:
1 2 3 4 5 | # Den File System Check: e2fsck -f /dev/mapper/vgdata-lvmusic # Und verkleinern: resize2fs -p /dev/mapper/vgdata-music 10G |
Anschliessend sollte das Dateisystem nochmals ueberprueft werden (nochmals e2fsck….)
FERTIG!
(Die Partiton muss natuerlich wieder gemountet werden: mount /dev/mapper/vgdata-lvmusic /data/music)
Linux: Filesysteme mit LVM online vergrössern
Dec 1st
Problem
Unsere Ausgangslage ist ein Linux Server (hier: SLES10) mit LVM eingerichtet. Die Partitionstabelle schaut so aus:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-root
14G 4.1G 8.9G 32% /
udev 377M 136K 376M 1% /dev
/dev/sda1 69M 9.6M 56M 15% /boot
Nun haben wir aber ein Platzproblem, die Platte laeuft langsam voll. Zum Glueck haben wir vorausgedacht: auf
1 | /dev/sda |
haben wir noch 5GB ungenutzten Speicherplatz. Diesen wollen wir nun ebenfalls
1 | / |
zuweisen.
Lösung
Hinweis: Auch wenn diese Anleitung mit einem SLES10-System erstellt wurde (sorry, da kann ich auch nix dafuer, die Distributionswahl ist nicht in meiner Entscheidungsgewalt
) sollte sie fuer die meisten Linux-Distributionen gueltig sein.
Dann mal los:
Freien Speicherplatz partitionieren
Zuerst muss der freie Speicherplatz als “Linux LVM” partitioniert werden. Die ID fuer diesen Partition Type ist 8e.
Wichtig: Anschliessend muss die Partitionstabelle neu eingelesen werden, sonst ist die neue Partition nicht sichtbar. Der Befehl dazu:
1 | partprobe |
Physical Volume erstellen und in VG einbinden
Weiter gehts mit ein paar LVM-Befehlen: Zuerst muss in der neuen Partition (hier:
1 | /dev/sda5 |
) ein sog. Physical Volume eingerichtet werden:
tteam01:~ # pvcreate /dev/sda5 Physical volume "/dev/sda5" successfully created
Sodele, fast am Ziel.
Das bestehende Volume vergroessern
Dazu muss die neue Partition zuerst der VG zugewiesen werden.
tteam01:~ # vgs
VG #PV #LV #SN Attr VSize VFree
system 1 2 0 wz--n- 14.93G 28.00M
tteam01:~ #
tteam01:~ # vgextend -v system /dev/sda5
Checking for volume group "system"
Archiving volume group "system" metadata (seqno 3).
Adding physical volume '/dev/sda5' to volume group 'system'
Wiping cache of LVM-capable devices
Volume group "system" will be extended by 1 new physical volumes
Creating volume group backup "/etc/lvm/backup/system" (seqno 4).
Volume group "system" successfully extended
tteam01:~ #
tteam01:~ # vgs
VG #PV #LV #SN Attr VSize VFree
system 2 2 0 wz--n- 19.92G 5.02G
Und nun muss noch das LV vergroessert werden. Wir vergroessern das LV hier einfach auf die maximale Groesse:
tteam01:~ # lvextend -v -l +100%FREE /dev/system/root
Finding volume group system
Archiving volume group "system" metadata (seqno 10).
Extending logical volume root to 18.82 GB
Creating volume group backup "/etc/lvm/backup/system" (seqno 11).
Found volume group "system"
Found volume group "system"
Loading system-root table
Suspending system-root (253:0)
Found volume group "system"
Resuming system-root (253:0)
Logical volume root successfully resized
tteam01:~ # vgs
VG #PV #LV #SN Attr VSize VFree
system 2 2 0 wz--n- 19.92G 0
Aha, aus unsern ~15GB sind ~20GB geworden. War einfach, nicht? Aber wir sind noch nicht ganz fertig!
Die bestehende Partition vergroessern
Die Root-Partition ist nun aber immer noch auf der alten Groesse, wir haben ja nur das LV vergroessert. Auch das ist kein Problem:
tteam01:~ # ext2online -d /dev/mapper/system-root
[... viel viel Text ...]
tteam01:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system-root
19G 4.1G 14G 23% /
udev 377M 136K 376M 1% /dev
/dev/sda1 69M 9.6M 56M 15% /boot
Das wars! Cool, nicht?
Howto: Disk-Images erstellen unter Linux
Oct 30th
Aus aktuellem Anlass: Wie erstelle ich von meiner Disk ein (komrpimiertes) Image?
Update: Anstatt mit dd lässt sich das auch mit Umleitungen machen! Siehe Variante 2.
Ausgangslage:
Angenommen ich will meine /boot-Partition sichern, bzw ein Image davon erstellen.
1 2 3 4 5 | (14:14)mhutter@ganymede:~$ df -h Filesystem Size Used Avail Use% Mounted on *schnipp* /dev/md0 221M 31M 179M 15% /boot |
Hinweis: Die meisten dd-Befehle müssen mit Root-Rechten ausgeführt werden.
Variante 1: Ohne Komprimierung
(NICHT empfohlen)
1 2 3 4 5 6 7 8 9 | (14:21)root@ganymede:~# dd if=/dev/md0 of=/backup/boot.img bs=4M 58+1 records in 58+1 records out 246611968 bytes (247 MB) copied, 0.366272 s, 673 MB/s (14:22)root@ganymede:~# ls -lah /backup total 236M -rw-r--r-- 1 root root 236M 2009-10-30 14:22 boot.img |
Das ging zwar sehr schnell (0,3sek), aber das Image ist so gross wie die ganze Partition! Klar kann man nachträglich noch gzippen oder so, aber ich bevorzuge
Variante 2: Direkt komprimieren
(empfohlen!)
1 2 3 4 5 6 7 8 9 10 11 12 13 | (14:24)root@ganymede:~# dd if=/dev/md0 | gzip -c > /backup/boot.img.gz 481664+0 records in 481664+0 records out 246611968 bytes (247 MB) copied, 3.52991 s, 69.9 MB/s # NACHTRAG! Das geht auch einfacher! # Das Ergebnis ist genau dasselbe: gzip -c < /dev/md0 > /backup/boot.img.gz # Ende Nachtrag (14:25)root@ganymede:~# ls -lah /backup total 29M -rw-r--r-- 1 root root 29M 2009-10-30 14:25 boot.img.gz |
Das hat jetzt zwar rund 10mal länger gedauert, aber siehe da: Das Image ist nur noch 29MB gross! Win!
Zusatzinfo
Images entpacken und mounten
Das Entpacken klappt einfach mit gunzip boot.img.gz Und so wird nachher gemountet:
1 2 3 | mount -o loop /backup/boot.img /mnt/boot/ # Manchmal muss man auch den Dateisystemtyp angeben: mount -o loop -t ext2 /backup/boot.img /mnt/boot/ |
Linux/Unix: Ordner rekursiv durchsuchen und Files löschen
Aug 5th
1 | find . -name .svn -type d -exec rm -r "{}" \; |
Auszug aus
1 | man find |
:
1 2 | -exec utility [argument ...] ; True if the program named utility returns a zero value as its exit status. Optional arguments may be passed to the utility. The expression must be terminated by a semicolon (``;''). If you invoke find from a shell you may need to quote the semicolon if the shell would otherwise treat it as a control operator. If the string ``{}'' appears anywhere in the utility name or the arguments it is replaced by the pathname of the current file. Utility will be executed from the directory from which find was executed. Utility and arguments are not subject to the further expansion of shell patterns and constructs. |
Neuestes Gequatsche hier