2017年4月9日 星期日

OSD data migration

1: prepare new disk (cat SRC_DRIVE/fsid)
    partition UUID need to be exactly the same as source disk setup
    sgdisk --new=1:: --change-name=1:'ceph data'  --mbrtogpt --typecode=1:$PTYPE_UUID --partition-guid=partnum:$osd_uuid -- /dev/sdah
    mkfs.xfs -f -i /dev/sdah1
2: enter Ceph maintenance mode
    ceph osd set noout
3: stop corresponding OSD daemon
    ceph stop ceph-osd@OSD_ID
    ceph-osd -i OSD_ID --flush-journal
ceph-osd -i --mkfs --mkkey --osd-uuid --osd-journal
4: copy everything from source drive to destination drive
5: umount both source and destination drives
6: change xfs filesystem uuid
     xfs_admin -U b2ff97e8-498f-48b6-93a0-9a2a706f0201 /dev/sdah1
7: ceph-disk activate /dev/
8: if journal corrupt, dd if=/dev/zero of=/dev/JOURNAL and then re-activate ceph disk or restart ceph-osd service.
    ceph-osd reset-failed ceph-osd@OSD_ID
    ceph-osd start ceph-osd@OSD_ID
  ceph-osd --mkjournal -i OSD_ID


to review detail partition type code

use option: i in gdisk command.

https://github.com/ceph/ceph/blob/firefly/src/ceph-disk#L78

JOURNAL_UUID = '45b0969e-9b03-4f30-b4c6-b4b80ceff106'
DMCRYPT_JOURNAL_UUID = '45b0969e-9b03-4f30-b4c6-5ec00ceff106'
OSD_UUID = '4fbd7e29-9d25-41b8-afd0-062c0ceff05d'
DMCRYPT_OSD_UUID = '4fbd7e29-9d25-41b8-afd0-5ec00ceff05d'
TOBE_UUID = '89c57f98-2fe5-4dc0-89c1-f3ad0ceff2be'
DMCRYPT_TOBE_UUID = '89c57f98-2fe5-4dc0-89c1-5ec00ceff2be'

沒有留言: