Skip to content
Snippets Groups Projects
README.md 1.9 KiB
Newer Older
Krish Moodbidri's avatar
Krish Moodbidri committed
# Copying `/var/lib/mysql` to a New Volume and Volume Migration
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
This documentation provides step-by-step instructions for copying the `/var/lib/mysql` directory to a new volume and migrating the volume from one OpenStack node to another using OpenStack commands.
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
## Prerequisites
- Access to an OpenStack environment with the necessary permissions to create volumes and manage instances.
- A running OpenStack node with an instance containing the `/var/lib/mysql` directory.
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
## Copying `/var/lib/mysql` to a New Volume
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
1. Log in to the OpenStack command-line interface (CLI) or a terminal with OpenStack CLI access.
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
2. Create a new volume using the OpenStack CLI:
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed
   openstack volume create --size <new_volume_size> <new_volume_name>
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
3. Attach the new volume to the instance that contains the `/var/lib/mysql` directory:
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed
   openstack server add volume <instance_id> <new_volume_id>
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
4. Log in to the instance and mount the new volume:
Krish Moodbidri's avatar
Krish Moodbidri committed
   ``` 
Krish Moodbidri's avatar
Krish Moodbidri committed
   ssh <instance_ip_address>
   sudo mkdir /mnt/new_volume
   sudo mount /dev/vdb /mnt/new_volume
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```

Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
5. Copy the contents of `/var/lib/mysql` to the new volume:
   sudo cp -a /var/lib/mysql/* /mnt/new_volume
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
## Migrating a Volume from One Node to Another
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
1. Detach the original volume from the instance:
   openstack server remove volume <instance_id> <original_volume_id>
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
2. Create a new instance on the target node:
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed
   openstack server create --flavor <instance_flavor> --image <instance_image> --availability-zone <target_availability_zone> --volume <original_volume_id> <new_instance_name>
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
3. Wait for the new instance to be in the ACTIVE state:
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed
   openstack server show <new_instance_id> -f value -c status
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed

Krish Moodbidri's avatar
Krish Moodbidri committed
4. Log in to the new instance:
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed
   ssh <new_instance_ip_address>
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed

5. Mount the volume on the new instance:
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```
Krish Moodbidri's avatar
Krish Moodbidri committed
   sudo mkdir /mnt/original_volume
   sudo mount /dev/vdb /mnt/original_volume
Krish Moodbidri's avatar
Krish Moodbidri committed
   ```