Trace: rpi sin_ti split_rootvg

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

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

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
split_rootvg.txt · Last modified: 2018/11/08 11:39
Public Domain Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain