Linux: Online Festplatte vergrössern

 

Linux kann online, ohne reboot, erkennen, wenn eine Festplatte vergrössert wurde. Gerade für VMware oder auch CloudStack ist das hilfreich.

Für neue Systeme: Man vermeide es, eine Linux LVM PV als „logisches Laufwerk“ in einer erweiterten Partition (Extended Partition) zu erzeugen. Besser, man legt das PV als letzte „normale“ Partition auf der Festplatte an!

Inhaltsverzeichnis

Festplatte „physisch“ vergrössern

Zuerst wird die Festplatte „physisch“ vergrössert. Wie das geht, ist out-of-scope für diese Beschreibung.

Rescan

Um den Kernel die neue Plattengrösse herausfinden zu lassen, muss eine 1 an die rescan „Datei“ im /sys/class/scsi_disk Ordner gesendet werden. Es mag mehrere Unterordner geben.

local@allelv-vh01-stage:~$ ls /sys/class/scsi_disk/
32:0:0:0

Auf dem System gibt es nur 1 Festplatte und somit nur einen Unterordner.

local@allelv-vh01-stage:~$ echo 1 | sudo dd of=/sys/class/scsi_disk/32\:0\:0\:0/device/rescan
0+1 records in
0+1 records out
2 bytes copied, 0.000580769 s, 3.4 kB/s

Im /var/log/syslog sieht man, das der Kernel den Befehl empfangen hat:

Aug 28 12:00:24 allelv-vh01-stage kernel: [4814229.136379] sd 32:0:0:0: [sda] 356515840 512-byte logical blocks: (183 GB/170 GiB)
Aug 28 12:00:24 allelv-vh01-stage kernel: [4814229.136583] sda: detected capacity change from 128849018880 to 182536110080

Partition vergrössern

Falls das System „legacy“ Partitionen hat, so muss die letzte Partition vergrössert werden. Hierzu muss die Partition „gelöscht“ und mit identischem Start Block neu angelegt werden.

Falls eine „Extended Partition“ „im Weg“ ist, so kann man versuchen, statt dessen eine weitere primäre Partition anzulegen.

local@allelv-vh01-stage:~$ sudo fdisk /dev/sda

Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n
Partition type
   p   primary (2 primary, 1 extended, 1 free)
   l   logical (numbered from 5)
Select (default p): p

Selected partition 4
First sector (3500032-356515839, default 3500032): 251656192
Last sector, +sectors or +size{K,M,G,T,P} (251656192-356515839, default 356515839): 

Created a new partition 4 of type 'Linux' and of size 50 GiB.

Command (m for help): p
Disk /dev/sda: 170 GiB, 182536110080 bytes, 356515840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc1efb381

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048   1499135   1497088   731M  b W95 FAT32
/dev/sda2  *      1499136   3500031   2000896   977M 83 Linux
/dev/sda3         3502078 251656191 248154114 118.3G  5 Extended
/dev/sda4       251656192 356515839 104859648    50G 83 Linux
/dev/sda5         3502080   3504127      2048     1M 83 Linux
/dev/sda6         3506176 251656191 248150016 118.3G 83 Linux

Partition table entries are not in disk order.

Command (m for help): t
Partition number (1-6, default 6): 4
Partition type (type L to list all types): 8e

Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help): p
Disk /dev/sda: 170 GiB, 182536110080 bytes, 356515840 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc1efb381

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048   1499135   1497088   731M  b W95 FAT32
/dev/sda2  *      1499136   3500031   2000896   977M 83 Linux
/dev/sda3         3502078 251656191 248154114 118.3G  5 Extended
/dev/sda4       251656192 356515839 104859648    50G 8e Linux LVM
/dev/sda5         3502080   3504127      2048     1M 83 Linux
/dev/sda6         3506176 251656191 248150016 118.3G 83 Linux

Partition table entries are not in disk order.

Command (m for help): w

Als Start Sektor wurde 251656192 eingegeben, da die Extended Partitin sda3 einen Sektor vorher, auf 251656191 endet.

Extended → Nur offline!

Falls das System eine „Extended Partition“ und somit ein oder mehrere logische Laufwerke hat, so wird dies u.U. nicht gelingen von Hand. Man boote [Grml][grml] oder ein anderes Rescue System und verwende gparted.

Partitionstabelle neu lesen

Nachdem die Partitionstabelle von fdisk neu geschrieben wurde, weiss der Kernel nicht direkt was davon, was durch folgende Meldung gezeigt wird:

Command (m for help): w

The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).
local@allelv-vh01-stage:~$ ls -la /dev/sda?
brw-rw---- 1 root disk 8, 1 Jul  3 18:43 /dev/sda1
brw-rw---- 1 root disk 8, 2 Jul  3 18:43 /dev/sda2
brw-rw---- 1 root disk 8, 3 Aug 28 12:11 /dev/sda3
brw-rw---- 1 root disk 8, 5 Aug 28 12:29 /dev/sda5
brw-rw---- 1 root disk 8, 6 Aug 28 12:29 /dev/sda6

partprobe hilft hier:

local@allelv-vh01-stage:~$ sudo partprobe /dev/sda
local@allelv-vh01-stage:~$ ls -la /dev/sda?
brw-rw---- 1 root disk 8, 1 Jul  3 18:43 /dev/sda1
brw-rw---- 1 root disk 8, 2 Jul  3 18:43 /dev/sda2
brw-rw---- 1 root disk 8, 3 Aug 28 12:11 /dev/sda3
brw-rw---- 1 root disk 8, 4 Aug 28 12:33 /dev/sda4
brw-rw---- 1 root disk 8, 5 Aug 28 12:33 /dev/sda5
brw-rw---- 1 root disk 8, 6 Aug 28 12:33 /dev/sda6

LVM Volume Group (VG) vergrössern

Falls nur die Partition vergrössert wurde, so muss die bestehende Physical Volume (PV) vergrössert werden:

local@allelv-vh01-stage:~$ sudo lvm pvresize /dev/sda6
  Physical volume "/dev/sda6" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

Falls eine neue Partition angelegt wurde, so ist eine weitere Physical Volume anzulegen und die Volume Group zu erweitern.

local@allelv-vh01-stage:~$ sudo lvm pvcreate /dev/sda4
  Physical volume "/dev/sda4" successfully created
local@allelv-vh01-stage:~$ sudo vgextend system /dev/sda4
  Volume group "system" successfully extended

 

 

 

 

Advertisements

IPA Benutzer können keine Cron Jobs ausführen

Im Betrieb verwenden wir zur zentralen Benutzerverwaltung und -authentifizierung und -zeugs FreeIPA 3.3.4 auf Ubuntu 14.04 LTS. Vorhin fiel mir auf, das im IPA (v4.1.0 auf Redhat EL 7) definierte Benutzer keine Cron Jobs ausführen dürfen/können ☹

Im System Log findet sich dazu solches:

2015-12-03T12:48:01.505053+01:00 customer-mgmt01-test CRON[34326]: pam_sss(cron:account): Access denied for user ask: 6 (Permission denied)

Lösung: Weiterlesen

sudo – Erlaube Benutzer, Befehl als Benutzer einer anderen Gruppe auszuführen und Frage nach ZIEL Benutzer Kennwort

Aus „Gründen“ ist es gewünscht, das alle Mitglieder einer bestimmten Gruppe einen bestimmten Befehl ausführen können sollen. Und zwar soll der Befehl nicht als root oder mit den Rechten des aufrufenden Benutzers ausgeführt werden. Als „welcher Benutzer“ der Befehl ausgeführt werden soll, hänge davon ab, ob der „Ziel Benutzer“ zu einer bestimmten Gruppe gehöre. Und es soll nach dem Kennwort des Ziel Users gefragt werden.

Noch jemand da…? 🙂

  • Ich habe also den Benutzer „local„. Dieser gehöre (unter anderem…) zu der Gruppe „ro„.
  • Und ich habe den Benutzer „local-rw„. Dieser gehöre (unter anderem…) zu der Gruppe „rw„.
  • Und zu guter letzt gibt es den Befehl „/usr/local/bin/testid„. Der Befehl darf nur von Mitgliedern der „rw“ Gruppe aufgerufen werden.

Das geht so mit sudo und Dateisystem-Berechtigungen Weiterlesen

Whois für !ç!!ç$$! gTLD Domains

Vorhin wollte ich für eine Domain mit einer dieser „tollen“ neuen gTLD (.whoswho in diesem Falle) eine Whois Abfrage von meinem Linux PC aus machen. Schlug fehl…

$ whois domains.whoswho
Für diese Art von Objekten ist kein Whois-Server bekannt.

Das hat weder mit dem „normalen“ whois Client von Ubuntu geklappt, noch mit gwhois und auch nicht mit jwhois. Mit Weiterlesen

Restore von Dateien & Verzeichnissen aus FreeBSD Multi-Level Dump

Mit dem dump(8) Tool kann man auf FreeBSD und im Grunde auch Linux ein Backup eines gesamten Dateisystemes machen. Einerseits kann man ein „Full Backup“ machen (eine „Level 0 Sicherung“), oder auch inkrementelle Backups („Level 1“, „Level 2“ bis „Level 9“).

Um die Dateien aus der Sicherung wieder herzustellen, gibt es das restore(8) Programm. Für Restores aus einer „Multi Level Sicherung“  Weiterlesen

https Daten mit Wireshark dekodieren

Oft stellt sich mir @work die Aufgabe, Netzwerktraffic auch in tcpdumps anzuschauen. Wenn die Daten mit SSL/TLS verschlüsselt sind, ist das genauso oft auch gerne ein Problem…

Encrypted-file

Aber heute habe ich es endlich mal geschafft, das zu *entschlüsseln* 🙂
SSL Session, entschlüsselt in Wireshark

Weiterlesen

Apache Access Liste für Pingdom Probes

Wir überwachen die Verfügbarkeit einiger Sites mit Hilfe von pingdom. Da wir nicht immer „der Welt“ Zugriff auf die betreffende Site geben wollen, beschränken wir den Zugriff zum Teil mit Apache Access Listen („Deny from All, Allow From …“). Bei diesem Ansatz ist’s notwendig, die jeweils aktuellen IPs in der Apache Konfiguration zu haben. Ab und an ändern sich die IPs allerdings – aber das Problem haben wir so gelöst.

Weiterlesen

Cisco VPN mit „NCP Secure Client“ auf Android ICS 4.0.4 nutzen! :)

“Uffe Arbeit” nutzen wir ein Cisco VPN, wie ich ja schon mal schrieb… 🙂  Bisher habe ich es nicht geschafft, mit meinem Android Handy (zuerst 2.3.x und jetzt ICS 4.0.4) erfolgreich eine Verbindung aufzubauen. Heute habe ich auf Heise vom NCP Secure Client im Google Play Store gelesen.

Damit gelang es mir, mich zu unserem VPN zu verbinden! #ftw +1 „I Like“ 🙂

Ging allerdings nicht ganz so „straight forward“, ab Weiterlesen

Cisco VPN mit Linux nutzen

„Uffe Arbeit“ nutzen wir ein Cisco VPN. Um sich da „einwählen“ zu können, verwenden die Windows’ler und OS X’ler entweder den „original Cisco“ AnyConnect v2.3.0254 / v2.5.2019 oder den VPN Client v4.9.01.0280 / v5.0.07.0290. Klappt auch leidlich gut… Es gibt für Linux zwar auch einen vpnclient-linux-x86_64-4.8.01.0640-k9.tar.gz, aber……… 😦

Trotzdem habe ich’s nun hinbekommen,  Weiterlesen