===== Split rootvg =====
==== Scenarios ====
* One physical volume: rootvg must have 9G and appvg must contain only app data. The original disk must be removed and two physical volumes must be added
* Several physical volume on rootvg: rootvg must have 9G and appvg must contain only app data, additional physical volumes on rootvg must be removed.
==== Several physical volume ====
{{::text47-5.png?600}}
Create a partition en /dev/vdb:
$ sudo pvcreate /dev/vdc1
$ sudo vgcreate appvg /dev/vdc1
$ sudo lvcreate -L9.5G -n applv appvg
$ sudo mkfs.ext4 /dev/mapper/appvg-applv
$ sudo mkdir /app.NEW
$ sudo mount /dev/mapper/appvg-applv /app.NEW
$ sudo rsync -ahv /app/ /app.NEW/
$ sudo umount /app.NEW
$ sudo rm -rf /app/
$ sudo mkdir /app/
$ sudo echo "/dev/mapper/appvg-applv /app ext4 defaults 0 0" >> /etc/fstab
$ sudo mount -a
$ sudo vgreduce centos /dev/vdb1
$ sudo pvremove /dev/vdb1
Si es necesario cambiar los permisos del directorio /app.
Probar sin reiniciar.
==== One physical volume ====
{{::text60.png?600}}
=== Migrate App data ===
We will use a simple rsync to copy all the information. Create a partition in the new disk /dev/vdc with fdisk, next create physical volume and volume group with logical volume.
$ sudo pvcreate /dev/vdc1
$ sudo vgcreate appvg /dev/vdc1
$ sudo lvcreate -L8.5G -n applv appvg
$ sudo mkfs.ext4 /dev/mapper/appvg-applv
$ sudo mkdir /app.NEW
$ sudo mount /dev/mapper/appvg-applv /app.NEW
$ sudo rsync -ahv /app/ /app.NEW/
$ sudo umount /app.NEW/
$ sudo rm -rf /app/
$ sudo mkdir /app/
$ sudo echo "/dev/mapper/appvg-applv /app ext4 defaults 0 0" >> /etc/fstab
$ sudo mount -a
=== Migrate rootvg ===
You will need reboot the system with boot CD and enter to rescue mode. Skip to shell.
Optional, assign IP address:
# ip addr add 192.168.122.110/24 dev eth0
# ip route add default via 192.168.122.1
# cd /etc/sshd
# cp sshd_config.anaconda sshd_config
# /sbin/sshd
# vgchange -ay centos
# e2fsck -f /dev/mapper/centos-root
# lvreduce --resizefs --size 7G /dev/mapper/centos-root
Use fdisk to create a /boot partition of 512M on /dev/vdb1 and the physical volume of the rest space on /dev/vdb2.
# pvcreate /dev/vdb2
# vgextend centos /dev/vdb2
# pvmove /dev/vda2
# vgreduce centos /dev/vda2
# pvremove /dev/vda2
Reboot
$ sudo dd if=/dev/vda1 of=/dev/vdb1 bs=512 conv=noerror,sync
$ sudo dd if=/dev/vda of=/dev/vdb bs=1 count=512
$ sudo grub2-install /dev/vdb
$ sudo sync