First you need to create a partition on a disk with type LVM
List the partitions
cat /proc/partitons major minor #blocks name 11 0 1048575 sr0 8 0 31457280 sda 8 1 194560 sda1 8 2 31260672 sda2 8 16 209715200 sdbIn this example the right one is “sdb”
fdisk /dev/sdb n p enter enter t 1 8e wn = new partition, p = primary partition, enter to select default or select own range, t = change partition system id, 1 = id 1 but it might be another on your system, 8e = type LVM, w = write changes to disk
pvcreate /dev/sdb1 vgcreate datavg /dev/sdb1 lvcreate -l 100%FREE -n backuplv datavg mkfs.ext3 -Lbackup /dev/datavg/backuplv #mkfs.xfs -Lbackup /dev/datavg/backuplv vi /etc/fstab /dev/mapper/datavg-backuplv /data ext3 defaults 0 0
Get the “PV Name”/ Partition via
pvdisplay --- Physical volume --- PV Name /dev/sdc1 VG Name datavg PV Size <600.00 GiB / not usable 2.00 MiB ...
(Resize VMDK to 1,3TB) Check if your disk resize has already been recognized via
cat /proc/partitions major minor #blocks name ... 8 32 629145600 sdc 8 33 629144576 sdc1 ...
sdc is not 1,3TB, so get the scsi target via
lsscsi -v ... [2:0:0:0] disk VMware Virtual disk 1.0 /dev/sdc dir: /sys/bus/scsi/devices/2:0:0:0 [/sys/devices/pci0000:00/0000:00:17.0/0000:13:00.0/host2/target2:0:0/2:0:0:0] ...
Then rescan the adapter
echo 1 > /sys/class/scsi_disk/2\:0\:0\:0/device/rescan
The OS now knows that the disk has 1,3TB
cat /proc/partitions major minor #blocks name ... 8 32 1395864371 sdc 8 33 629144576 sdc1 ...
Resize the partition (see Create new Physical Volume (PV))
The partitiontable might have an old state, to refresh it try the following commands
partprobe kpartx -a /dev/sdc partx -a /dev/sdcLooking at /proc/partitions should now list sdc and sdc1 with 1,3TB, if not you should restart your VM to refresh the table.
If both sdc and sdc1 are up to date, resize the PV
pvresize -v -d /dev/sdc1 Archiving volume group "datavg" metadata (seqno 7). Resizing volume "/dev/sdc1" to 2791726694 sectors. Resizing physical volume /dev/sdc1 from 153599 to 340786 extents. Updating physical volume "/dev/sdc1" Creating volume group backup "/etc/lvm/backup/datavg" (seqno 8). Physical volume "/dev/sdc1" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
pvdisplay and vgdisplay are now resized
pvdisplay --- Physical volume --- PV Name /dev/sdc1 VG Name datavg PV Size <1.30 TiB / not usable <2.80 MiB vgdisplay --- Volume group --- VG Name datavg ... VG Size <1.30 TiB
Extend the disk (PV/VG, example above)
Then extend the LV (100% is the full VG, check the “Other commands”-section for other parameters)
lvextend -l +100%FREE /dev/data/backup #if ext3/4 use resize2fs /dev/data/backup #if xfs use xfs_growfs /dev/data/backup
lvremove /dev/data/backup vgremove data pvremove /dev/sdb1
Command | Function |
---|---|
pvscan | |
vgscan | |
lvscan | |
pvdisplay | show all PVs |
vgdisplay | show all VGs |
lvdisplay | show all LVs |
vgchange -ay <VGNAME> | activate LV |
vgextend datavg /dev/sdd | add disk sdd (unpartitioned) to VG datavg |
lvextend -L+5G /dev/data/backup | extend by 5GB |
lvextend -L 10G /dev/data/backup | extend to 10GB total |
lvcreate -L20G -n backuplv datavg | create LV with 20GB total |
lvresize -r -L+5G /dev/data/backup | extend by 5GB and do resize2fs/ xfs_growfs |
Description
Mounting the device leads to the following error
mount: special device /dev/mapper/VG01-LVbackup does not exist
Checking the LV via “lvdisplay” shows that its unavailable
LV Status NOT available
Reason
Its deactivated.
Maybe you are missing the services in autostart? check /etc/boot.d/ for the following services and add them if needed:
chkconfig boot.lvm on chkconfig boot.lvm_monitor on
Fix
Run the following command to activate it
vgchange -ay <VGNAME>
and remount
mount <PATH>
Description
After adding a new disk to your VM the disk doesnt appear in /proc/partition
Reason
The VM didnt rescan the scsi devices
Fix
Run the following command rescan the scsi hosts for new devices
for host in /sys/class/scsi_host/*; do echo "- - -" | sudo tee $host/scan; lsblk -S ; done