Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Sv translation
languageen


Warning
titleAdvanced Topic

Warning - this is an advanced topic. Always backup your data first.

Erweitern des Stores mit LVM

Die meisten Linux / CentOS Installationen von uns arbeiten mit LVM. Dies kann man - vorausgesetzt das System erkennt eine Plattenvergrößerung oder neue Platte, wie folgt erweitern. Hier die Prozedur für eine Plattenerweiterung.

Schritt 1 - Feststellen der aktuellen config


Translations Ignore


Code Block
languagebash
titleDisplay of discs
# If the machine has not yet been rebooted, the SCSI bus can be scanned to detect new disks with the following command
# Ggf - falls mehrere SCSI Adapter vorhanden sind host0 mit host1 oder host2 ... nochmals probieren bis die Platte gefunden wird
echo "- - -" > /sys/class/scsi_host/host0/scan
# Show free space
df -h
# Show partitions
fdisk -l
# Show hard drives
ls /dev/sd*
# View physical volumes managed by LVM
lvm pvs
# Display logical volumes managed by LVM
lvm lvs
# Display logical volume groups managed by LVM
lvm vgs
# Where is what mounted
mount



Die Informationen oben werden nun unten gebraucht. 

Troubleshooting (already):

Sometimes, you might see output from frisk -l which looks strange. 

For example, you have several disks reported in /dev like this:

/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3

However, fdisk -l reports something strange like this:


Device Boot Start End Blocks Id System
/dev/sda1 1 134217727 67108863+ ee GPT
Partition 1 does not start on physical sector boundary.

Therefore, not all of the /dev/sda* disks are visible. This means the disk has been resized in the background, but the OS cannot read the partitions correctly.

The best way to fix this is using parted.

Run parted on the disk, and then input print.

You will be then asked for a couple of fixes. Input Fix at each point, then then quit.

Now running fdisk -l should give the correct output.

Here is an example run:

Code Block
[root@con-jtel-dbm-2 ~]# parted /dev/sda
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print                                                            
Error: The backup GPT table is not at the end of the disk, as it should be.  This might mean that another operating system believes the disk is smaller.  Fix, by moving the backup to the end (and removing the old backup)?
Fix/Ignore/Cancel? Fix                                                    
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 134217728 blocks) or continue with the current setting? 
Fix/Ignore? Fix                                                           
Model: Msft Virtual Disk (scsi)
Disk /dev/sda: 137GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  211MB   210MB   fat16        EFI System Partition  boot
 2      211MB   1285MB  1074MB  xfs
 3      1285MB  68.7GB  67.4GB                                     lvm
(parted) quit                                                             


Schritt 2 - Anlegen einer neuen Partition

Hier ist es erforderlich, dass man weiß, wo der zusätzlicher Platz zu finden ist. Es gibt 2 Varianten - entweder eine neue Platte, oder eine erweiterte Platte. 

In beiden Fällen, wird eine neue Partition angelegt. Hier in diesen Beispiel, wurde die bestehende Platte erweitert. Falls eine neue Platte hinzugefügt wurde, dann ist es auf /dev/sdb oder /dev/sdc etc. zu finden.

Die Befehle unten sowie die Partitionsnummer (bei einer neuen Platte ist die Partition dann 1), entsprechend anpassen.

Translations Ignore


Code Block
languagebash
titlePartitioning with fdisk
fdisk /dev/sda
 
# --> Edit the partitions on /dev/sda
 
n
# --> Create new partition
p
# --> New primary partition
3
# --> Create new partition 3 (view output at fdisk -1 above)
Enter
# --> Confirmation that the first available cylinder should be used
Enter
# --> Confirmation that the last available cylinder is to be used (gives the maximum size in total)
t
# --> Change partition type
3
# --> Edit partition 3
8e
# --> Linux LVM
w
# --> Write
 
reboot now




Schritt 3 - Hereinnahme in LVM - Device Erzeugen

Translations Ignore


Code Block
languagebash
titleCreate device for LVM
# Here is the previous output of /dev/sd* --> this is the new disk (the 3rd partition on /dev/sda, the first disk)
lvm pvcreate /dev/sda3



Schritt 4 - Volume Group erweitern

Translations Ignore


Code Block
languagebash
titleExtend LVM
# Here we need the output of lvm vgs - the name of the volume group
lvm vgextend "vg_testdb5" /dev/sda3



Schritt 5 - Logical Volume erweitern

Translations Ignore


Code Block
languagebash
titleExtend LVM
# Here the output of lvm lvs is needed - the name of the logical volume - this is combined with the vgs to create the path to the device
lvm lvresize -l +100%FREE /dev/vg_testdb5/lv_root



Schritt 6 - File System erweitern

Translations Ignore


Code Block
languagebash
titleExtend LVM - ext filesystems
# Same path as previous command
resize2fs /dev/vg_testdb5/lv_root



Translations Ignore


Code Block
languagebash
titleExtend LVM - xfs filesystems
# Mount Point from fstab
xfs_growfs /srv/jtel/shared



Schritt 7 - Endergebnis prüfen!

Translations Ignore


Code Block
languagebash
titleCheck final result
df -h




...