juju

juju ceph-osd non-pristine fix

This is bash script to fix non pristine 디스크가 이전 데이터나 파티션 정보를 가지고 있어 'clean' 상태가 아닌 것. Ceph OSD가 새 디스크를 기대하지만 기존 데이터가 남아있으면 발생한다. issue with ceph-osd Ceph의 Object Storage Daemon. 클러스터에서 실제 데이터를 디스크에 저장하고 복제, 복구를 담당하는 핵심 데몬이다. charm.

#!/bin/bash

for arg in "$@"
do
  blk=`juju ssh ceph-osd/${arg} -- sudo lsblk /dev/vdb -J | jq '.blockdevices[] | select(.name=="vdb") | .children[0].name'`
  juju ssh ceph-osd/$arg -- sudo dmsetup remove $blk
  juju ssh ceph-osd/$arg -- sudo dd if=/dev/zero of=/dev/vdb bs=1G count=1 status=progress
done

juju run --application ceph-osd ./hooks/config-changed

Monitor if juju status Juju가 관리하는 모든 유닛의 상태를 보여주는 명령. active/idle이면 정상, blocked/error면 문제가 있는 것이다. for ceph-osd is fine.