Everytime I've seen this error "/dev/drbd0: State change failed: (-2) Need access to UpToDate data" it is because DRBD has no disk:
cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by root@sighted, 2012-10-09 12:47:51
0: cs:Connected ro:Secondary/Secondary ds:Diskless/Inconsistent A r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0
Solution
The reason is one of two, there is really no disk, your disk failed, or MOST commonly you've misconfigured DRBD to use a device or partition that does not exist. In many cases this is simply because the device name has changed or the disk has been replaced etc. So double check what disks are there and which is the correct device/partition and update /etc/drbd.conf accordingly.
dev, drbd, uptodate, solutioneverytime, ve, quot, disk, proc, api, proto, git, hash, ca, faacab, bc, bd, sighted, cs, ro, secondary, ds, diskless, inconsistent, ns, nr, dw, bm, pe, ua, ap, ep, wo, oos, commonly, misconfigured, partition, replaced, etc, disks, update, conf, accordingly,