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
Android Pattern Lock Screen

Android „Muster“ Displaysperre vergessen

Ich habe in einer meiner Schubladen ein altes Nexus 5 von mir gefunden, welches ich mit einem „Muster“ (bzw. „Pattern“) „gesichert“ hatte.

Android Pattern Lock Screen

Wie es bei alten Geräten halt so ist, kannte ich das Muster nicht mehr und irgendwie konnte ich es auch nicht durch Eingabe von meiner Google E-Mailadresse + Kennwort entsperren (vielleicht wegen 2FA?). War kurz davor, es zu „wipen“ (Factory Reset), aber das wäre unnötig gewesen ☺ Weiterlesen

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

Amazon FireTV Stick in der Schweiz mit Prime Instant Video nutzen ☺

Wenn man einen Amazon Fire TV Stick in der Schweiz hat, so sind die Einsatzmöglichkeiten davon typischerweise leider doch recht „bescheiden“… Versucht man einen Film zu schauen, so wird man sehr schnell feststellen, das die Schweiz bei Amazon nicht so recht auf dem Radar ist (und, dem vernehmen nach, das vorerst auch so bleiben wird… ☹).

Amazon-FIreTV-Stick-Video-nicht-verfügbar

Fehlercode: LICENSE_ERROR — my ass… 😦

Das Problem kann man aber lösen – mit 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

X11 Forwarding bei SSH ohne IPv6

Hat man IPv6 deaktiviert, so wird man u.U. feststellen, dass das X11 Forwarding von SSH nicht mehr klappt. Versucht man sich auf dem System einzuloggen, erhält man auf der Konsole eine solche Fehlermeldung:

X11 forwarding request failed

Und im auth.log solches:

error: Failed to allocate internet-domain X11 display socket.

Lösung: Weiterlesen

IPv6 deaktivieren

Ich habe mir ein VPS System bei server4you gemietet. Hier habe ich dann deren Ubuntu 12.04 + OwnCloud Image installiert. OwnCloud ziehen die von einem Repo das auf download.opensuse.org liegt. download.opensuse.org liefert auch eine IPv6 IP – server4you macht aber derzeit kein IPv6. Bei einem „apt-get update“ bleibt man dann „hängen“ bei:

100% [Connecting to download.opensuse.org (2001:67c:2178:8::13)]

Lösung: Weiterlesen