User Tools

Site Tools


tech:documentation:procedures:vm:vm_disk_expansion_lvm_xfs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tech:documentation:procedures:vm:vm_disk_expansion_lvm_xfs [2012/02/13 11:00] kohofertech:documentation:procedures:vm:vm_disk_expansion_lvm_xfs [2020/10/13 16:46] (current) – [VM disk Expansion LVM with XFS/EXT4] kohofer
Line 1: Line 1:
 ====== VM disk Expansion LVM with XFS/EXT4 ======= ====== VM disk Expansion LVM with XFS/EXT4 =======
- 
-<note important>CREATE SNAPSHOT</note> 
  
 Expand the original disk or add a second vdisk from **Infrastructure Client**.\\ Expand the original disk or add a second vdisk from **Infrastructure Client**.\\
-If you want to perform grow w/o reboot you have to add second disk+ 
 +If you are on kernel newer or equal to 2.6.32 then you can issue the command 
 + 
 +<code>echo "1" > /sys/block/sdX/device/rescan</code> 
 + 
 +to get the new size w/o reboot
 + 
 + 
 +In case you cant see the "disk" do this: 
 + 
 +  echo "- - -" > /sys/class/scsi_host/host0/scan 
 +   
 +Do this for all host0,1,2 etc. 
 + 
 + 
 +or 
 + 
 +  echo "1" > /sys/class/scsi_device/2\:0\:0\:0/device/rescan 
 + 
 +whereby after scsi_device you need to find the correct scsi device 
 + 
 +or 
 + 
 +  apt-get install scsitools 
 +  rescan-scsi-bus 
 + 
 +At the end it should list that new device was found, note down the name/number! 
 + 
 +  echo '1' > /sys/class/scsi_disk/32\:0\:1\:0/device/rescan 
 + 
 +IMPORTANT: Be sure to replace the 32\:0\:1\:0 with the appropriate disk for your purposes.  
  
 **EXPAND ORIGINAL DISK** **EXPAND ORIGINAL DISK**
  
 Create an additional partition on the free space, say you increased the existing disc Create an additional partition on the free space, say you increased the existing disc
 +
 from 8GB to 15GB. The partition type is 8e. from 8GB to 15GB. The partition type is 8e.
  
-  cfdisk /dev/sda+  cfdisk /dev/sda or cfdisk /dev/sdb 
 + 
 + 
 +**RESIZE ORIGINAL DISK** 
 + 
 +Resize the already existing partition, e.g. /dev/sda4 to the newly created free partition. 
 + 
 +  cfdisk /dev/sda or cfdisk /dev/sdb 
 + 
 +Now resize the Physical Volume to the new size 
 + 
 +  pvresize /dev/sda4 
 + 
 +extend the logical volume 
 + 
 +  lvextend -l +100%FREE  /dev/data-www-vg/lvol-datawww 
 + 
 +next resize the file system 
 + 
 +  resize2fs -p /dev/data-www-vg/lvol-datawww 
 + 
 + 
 +If you get a error: 
 + 
 +<color #ed1c24>GPT PMBR size mismatch (2362232011 != 2516582399) will be corrected by w(rite).</color> 
 + 
 +run this command: 
 + 
 +  parted -l 
 + 
 +and when asked to Fix/Cancel? type **F** 
 # for example if the new partition is /dev/sda3 # for example if the new partition is /dev/sda3
  
-# create logical disk /dev/sda3+# create logical disk /dev/sda3 of type 8e (Linux LVM)
  
 # make disk visible to linux # make disk visible to linux
Line 20: Line 81:
   partprobe   partprobe
   pvcreate /dev/sda3   pvcreate /dev/sda3
- 
  
 now you have to extend the volgroup. use ''lvdisplay'' to see which is the name of the group,\\ now you have to extend the volgroup. use ''lvdisplay'' to see which is the name of the group,\\
 in this example it's **base** in this example it's **base**
  
-  lvdisplay +  lvdisplay 
 + 
 +<code>
   --- Logical volume ---   --- Logical volume ---
   LV Name                /dev/base/root   LV Name                /dev/base/root
Line 81: Line 143:
   Read ahead sectors     0   Read ahead sectors     0
   Block device           254:3   Block device           254:3
 +</code>
  
 and we assume the new partition is /dev/sda3 and we assume the new partition is /dev/sda3
Line 107: Line 169:
 ===== FOR EXT3/4 ===== ===== FOR EXT3/4 =====
  
-Check that the filesystem is ok 
- 
-  fsck.ext4 /dev/root/root 
-   
 Extend filesystem  to use all free space Extend filesystem  to use all free space
  
-  lvextend -l +100%FREE /dev/base/data+  vgextend base /dev/sda3 
 + 
 +  lvextend -l +100%FREE /dev/base/root 
 + 
 +Check that the filesystem is ok, **but only if the FS is unmounted** 
 + 
 +  fsck.ext4 -f /dev/base
  
 Now resize the filesystem Now resize the filesystem
  
-  resize2fs -p /dev/root/root+Debian System: 
 + 
 +  resize2fs -p /dev/base/root 
 + 
 +Centos/Fedora System:
  
 +  resize4fs -p /dev/base/root
  
 ===== For swap ===== ===== For swap =====
Line 129: Line 198:
  
 Check if filesystems are ok, and only then release the snapshot Check if filesystems are ok, and only then release the snapshot
 +
 +Fix issue with swap
 +
 +  * swapoff: /dev/dm-1: swapoff failed: Cannot allocate memory
 +
 +[[https://unix.stackexchange.com/questions/321675/unable-to-swapoff-but-enough-physical-memory-is-available/472012|Swapoff Cannot Allocate Memory]]
 +
 +<del>[[https://leizhilong.github.io/blog/2018-11-12-case-study-swapoff-cannot-allocate-memory/|Swapoff Cannot Allocate Memory]]</del>
  
  
Line 153: Line 230:
 Hier legen wir jetzt alle unsere logischen Volumes an. Als Namen verwenden wir, etwas fantasielos, lvol1, lvol2 und lvol3. Dabei bedienen wir uns mit dem Plattenplatz auf Volume Group vg01, der einzigen Volume Group in diesem Beispiel. Es ist offensichtlich, dass wir hier nicht mehr Plattenplatz "verteilen" können, als wir bei vgcreate in die Volume Group "hineingesteckt" haben, und zwar in Form der beiden Partitionen hda3 und hdb2. (lvcreate -L<Grösse> -n <LogicalVolumeName> <Volume Group>). Hier legen wir jetzt alle unsere logischen Volumes an. Als Namen verwenden wir, etwas fantasielos, lvol1, lvol2 und lvol3. Dabei bedienen wir uns mit dem Plattenplatz auf Volume Group vg01, der einzigen Volume Group in diesem Beispiel. Es ist offensichtlich, dass wir hier nicht mehr Plattenplatz "verteilen" können, als wir bei vgcreate in die Volume Group "hineingesteckt" haben, und zwar in Form der beiden Partitionen hda3 und hdb2. (lvcreate -L<Grösse> -n <LogicalVolumeName> <Volume Group>).
  
-   lvcreate -L 1500M -n lvol1 vg01 +   lvcreate -l +100%FREE -n lvol1 vg01 
 + 
 +oder wir könne die Größen angeben! (1500M) 
 + 
 +   lvcreate -L 1500M -n lvol1 vg01
  
 Filesysteme anlegen Filesysteme anlegen
Line 165: Line 246:
 Damit die neuen Filesysteme nun bei jedem Systemstart automatisch gemountet werden, müssen wir sie in die Datei /etc/fstab eintragen (siehe 'man fstab'). In unserem Scenario sehen die zusätzlichen Einträge wie folgt aus: Damit die neuen Filesysteme nun bei jedem Systemstart automatisch gemountet werden, müssen wir sie in die Datei /etc/fstab eintragen (siehe 'man fstab'). In unserem Scenario sehen die zusätzlichen Einträge wie folgt aus:
  
-   /dev/vg01/lvol1 /usr ext2 defaults 1 2+   /dev/vg01/lvol1 /usr ext4 defaults 1 2 
 + 
 +===== Links ===== 
  
-http://www.linuxhaven.de/dlhp/HOWTO-test/DE-LVM-HOWTO-2.html+[[http://www.thegeekstuff.com/2010/08/how-to-create-lvm/|How To Create LVM Using vgcreate, lvcreate, and lvextend lvm2 Commands]]\\ 
 +[[https://unix.stackexchange.com/questions/47380/where-does-lvm-store-data|Where does LVM store data?]]\\ 
 +[[http://www.howtoforge.com/linux_lvm|A Beginner's Guide To LVM]]\\ 
 +[[http://wiki.gentoo.org/wiki/LVM#LV_.28Logical_Volume.29|LVM]] VERY GOOD SOURCE!\\ 
 +[[http://www.funtoo.org/LVM_Fun#Physical_volumes_creation|LVM Fun]] VERY GOOD SOURCE!\\ 
 +[[http://serverfault.com/questions/223361/how-to-recover-logical-volume-deleted-with-lvremove|How to recover logical volume deleted with lvremove]]\\ 
 +[[http://www.novell.com/support/kb/doc.php?id=3803380|LVM Volume Group Shows "unknown device"]]
  
 +[[https://www.tutorialspoint.com/unix_commands/pvresize.htm|pvresize - Unix, Linux Command]]
  
 +http://www.linuxhaven.de/dlhp/HOWTO-test/DE-LVM-HOWTO-2.html\\
 +http://www.howtogeek.com/howto/40702/how-to-manage-and-use-lvm-logical-volume-management-in-ubuntu/
/data/www/wiki.inf.unibz.it/data/attic/tech/documentation/procedures/vm/vm_disk_expansion_lvm_xfs.1329127248.txt.gz · Last modified: 2019/01/16 10:03 (external edit)