Skip to content

Instantly share code, notes, and snippets.

@muhamad-ridwant-tech
Created March 30, 2025 07:21
Show Gist options
  • Save muhamad-ridwant-tech/c08906ee227b5f171e3784938aaf63af to your computer and use it in GitHub Desktop.
Save muhamad-ridwant-tech/c08906ee227b5f171e3784938aaf63af to your computer and use it in GitHub Desktop.
Hystax Accura - Clean up resources in the target cloud after a successful migration.
#!/bin/bash
### Hystax Accura - Clean up resources in the target cloud after a successful migration.
### https://support.hystax.com/portal/en/kb/articles/how-to-clean-up-resources-in-the-target-cloud-after-a-successful-migration
## Pastikan file "volume_ids.txt" sudah terisi list volume id.
VOLUME_FILE="volume_ids.txt"
if [[ ! -f "$VOLUME_FILE" ]]; then
echo "File $VOLUME_FILE tidak ditemukan!"
exit 1
fi
# Loop setiap volume-ID dalam file
while read -r VOLUME_ID; do
if [[ -z "$VOLUME_ID" ]]; then
continue # Lewati baris kosong
fi
echo "=========================================="
echo "Processing volume: $VOLUME_ID"
# List snapshot
SNAP_NAME=$(rbd -p volumes_ssd snap ls volume-"$VOLUME_ID" | awk 'NR==2 {print $2}')
if [[ -z "$SNAP_NAME" ]]; then
echo "❌ Snapshot tidak ditemukan untuk volume-$VOLUME_ID, melewati..."
continue
fi
echo "βœ… Snapshot ditemukan: $SNAP_NAME"
# Cari children
CHILDREN=$(rbd children volumes_ssd/volume-"$VOLUME_ID"@"$SNAP_NAME")
if [[ -z "$CHILDREN" ]]; then
echo "❌ Tidak ada children untuk snapshot $SNAP_NAME pada volume-$VOLUME_ID"
continue
fi
echo "πŸ” Children ditemukan: $CHILDREN"
# Loop melalui setiap child yang ditemukan
for CHILD in $CHILDREN; do
echo "βš™ Mengecek dan flatten $CHILD..."
# Pastikan child ada sebelum melakukan flatten
CHECK_CHILD=$(rbd info "$CHILD" 2>/dev/null)
if [[ -z "$CHECK_CHILD" ]]; then
echo "⚠ Child $CHILD tidak valid atau tidak ditemukan, melewati..."
continue
fi
# Jalankan flatten
rbd flatten "$CHILD"
if [[ $? -eq 0 ]]; then
echo "βœ… Flatten $CHILD selesai."
else
echo "❌ Gagal melakukan flatten pada $CHILD."
fi
done
echo "βœ… Processing volume-$VOLUME_ID selesai."
echo "=========================================="
done < "$VOLUME_FILE"
echo "πŸŽ‰ Semua volume telah diproses."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment