#************************************************************************************************
# Steps to Extend PV/VG -> LVs -> FS
#
# Dt: Jul 14 2017
#*************************************************************************************************
Step1:
Resize the respective volume using AWS volume modify option (Disk addition to PV)
Step2:
Check Current Volumen Size
[root@mymongohost0102 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/xvdv mongodbvg lvm2 a--u 4.00t 0
/dev/xvdw mongodbvg lvm2 a--u 4.00t 0
/dev/xvdz mongodbvg lvm2 a--u 512.00g 16.00g
Step3:
Add space into PV
[root@mymongohost0102 ~]# pvresize /dev/xvdz
Physical volume "/dev/xvdz" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Step4:
Check the modified PV Physical Volumen Size
[root@mymongohost0102 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/xvdv mongodbvg lvm2 a--u 4.00t 0
/dev/xvdw mongodbvg lvm2 a--u 4.00t 0
/dev/xvdz mongodbvg lvm2 a--u 4.10t 3.61t
Step4:
Check the VG(s) size (it should show new size)
[root@mymongohost0102 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
mongodbvg 3 5 0 wz--n- 12.10t 3.61t
Step 5:
Check the LVs and File System size (No change in the LV and FS size)
[root@mymongohost0102 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
fs_imdb001_config mongodbvg -wi-ao---- 2.00g
fs_imdb001_data mongodbvg -wi-ao---- 8.29t
fs_imdb001_journal mongodbvg -wi-ao---- 128.00g
fs_imdb001_log mongodbvg -wi-ao---- 64.00g
fs_imdb001_sw mongodbvg -wi-ao---- 2.00g
[root@mymongohost0102 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 99G 2.9G 91G 4% /
tmpfs 15G 0 15G 0% /dev/shm
/dev/mapper/mongodbvg-fs_imdb001_sw
2.0G 247M 1.8G 13% /imdb001/sw
/dev/mapper/mongodbvg-fs_imdb001_log
64G 4.7G 60G 8% /imdb001/log
/dev/mapper/mongodbvg-fs_imdb001_journal
128G 233M 128G 1% /imdb001/journal
/dev/mapper/mongodbvg-fs_imdb001_config
2.0G 33M 2.0G 2% /imdb001/config
/dev/mapper/mongodbvg-fs_imdb001_data
8.0T 8.0T 72K 100% /imdb001/data
Step 6:
Extending LV size to consume the increased VG space (in this example vg size was increased from 8.29TB to 10TB)
lvextend -L11T /dev/mapper/mongodbvg-fs_imdb001_data -r
[root@mymongohost0102 ~]# lvextend -L10T /dev/mapper/mongodbvg-fs_imdb001_data -r
Size of logical volume mongodbvg/fs_imdb001_data unchanged from 10.00 TiB (2621440 extents).
Logical volume fs_imdb001_data successfully resized.
meta-data=/dev/mapper/mongodbvg-fs_imdb001_data isize=256 agcount=8, agsize=268435455 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=2147481600, imaxpct=5
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=521728, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 2147481600 to 2684354550
Step 7:
Check lv size increased using lvs and FS size using df -h
Mise: In case XFS is not installed
echo "Now installing the xfs filesystem..."
wget -t 1 -T 10 http://mymongohost:9090/NoSQL/xfsprogs-3.1.1-16.el6.x86_64.rpm
rpm -ivh /root/xfsprogs-3.1.1-16.el6.x86_64.rpm
Checking which file system (Ext4 or xfs)
[root@mymongohost0102 ~]# mount
/dev/xvda1 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/mapper/mongodbvg-fs_imdb001_sw on /imdb001/sw type xfs (rw,noatime)
/dev/mapper/mongodbvg-fs_imdb001_log on /imdb001/log type xfs (rw,noatime)
/dev/mapper/mongodbvg-fs_imdb001_journal on /imdb001/journal type xfs (rw,noatime)
/dev/mapper/mongodbvg-fs_imdb001_config on /imdb001/config type xfs (rw,noatime)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
/dev/mapper/mongodbvg-fs_imdb001_data on /imdb001/data type xfs (rw,noatime)
Installing xfs filesystem RPM
[root@mymongohost0102 ~]# rpm -ivh xfsprogs-3.1.1-16.el6.x86_64.rpm
Preparing... ########################################### [100%]
1:xfsprogs ########################################### [100%]
[root@mymongohost0102 ~]# xfs_
xfs_admin xfs_check xfs_db xfs_freeze xfs_growfs xfs_io xfs_mdrestore xfs_mkfile xfs_quota xfs_rtcp
xfs_bmap xfs_copy xfs_estimate xfs_fsr xfs_info xfs_logprint xfs_metadump xfs_ncheck xfs_repair
LV Creation:
===========
xfs ---check xfs is installed or not if not then
wget -t 1 -T 10 http://mymongohost:9090/NoSQL/xfsprogs-3.1.1-16.el6.x86_64.rpm
rpm -ivh xfsprogs-3.1.1-16.el6.x86_64.rpm
lvcreate --name fs_opt_mongo_scripts --size 8GB mongodbvg
mkfs.xfs /dev/mongodbvg/fs_opt_mongo_scripts
mount /opt/mongo/scripts
lvcreate --name fs_opt_mongo_sw --size 8GB mongodbvg
mkfs.xfs /dev/mongodbvg/fs_opt_mongo_scripts
mount /opt/mongo/sw
Extent the existing LV
================
Eg:
lvextend -L +800G is to add 800GB to existing LV
[root@manimongodb ~]# lvextend -L +800G /dev/mongodbvg/fs_imdb001_data
Size of logical volume mongodbvg/fs_imdb001_data changed from 1.66 TiB (435200 extents) to 2.44 TiB (640000 extents).
Logical volume fs_imdb001_data successfully resized.
[root@manimongodb ~]# xfs_growfs -d /imdb001/data