A method for managing placement of object replicas in a distributed storage system, comprising: at a first instance (102, 102-1) of the distributed storage system, having one or more processors (302, 402) and memory (314, 414), wherein the memory stores one or more programs for execution by the one or more processors: receiving a first object that is associated with a first placement policy, wherein the first placement policy specifies criteria for where replicas of the first object are stored in the distributed storage system; splitting the object into a plurality of object chunks and splitting a first object chunk of the plurality of object chunks into a plurality of blocks; storing the plurality of blocks in a first journal whose associated placement policy matches the first placement policy, wherein the first journal is a storage location in the distributed storage system, and wherein the associated placement policy specifies criteria for target locations of replicas of objects stored in the journal; storing each of the remainder of the plurality of object chunks in a journal whose associated placement policy matches the first placement policy; storing global metadata for the first object, wherein the global metadata includes a list of the plurality of object chunks, the list includes a respective identifier for each of the object chunks, and wherein the global metadata specifies in which journal each of the object chunks is stored; storing local metadata for the first object chunk, wherein the local metadata includes a block list identifying each block of the plurality of blocks, the block list specifies where in the first journal each of the plurality of blocks is stored, and the local metadata is associated with the first journal; and replicating the first journal to a second instance of the distributed storage system in accordance with the first placement policy, wherein the global metadata is updated to reflect the replication, whereas the local metadata is unchanged by the replication. receiving a first object that is associated with a first placement policy, wherein the first placement policy specifies criteria for where replicas of the first object are stored in the distributed storage system; splitting the object into a plurality of object chunks and splitting a first object chunk of the plurality of object chunks into a plurality of blocks; storing the plurality of blocks in a first journal whose associated placement policy matches the first placement policy, wherein the first journal is a storage location in the distributed storage system, and wherein the associated placement policy specifies criteria for target locations of replicas of objects stored in the journal; storing each of the remainder of the plurality of object chunks in a journal whose associated placement policy matches the first placement policy; storing global metadata for the first object, wherein the global metadata includes a list of the plurality of object chunks, the list includes a respective identifier for each of the object chunks, and wherein the global metadata specifies in which journal each of the object chunks is stored; storing local metadata for the first object chunk, wherein the local metadata includes a block list identifying each block of the plurality of blocks, the block list specifies where in the first journal each of the plurality of blocks is stored, and the local metadata is associated with the first journal; and replicating the first journal to a second instance of the distributed storage system in accordance with the first placement policy, wherein the global metadata is updated to reflect the replication, whereas the local metadata is unchanged by the replication.