ceph pool快照与回滚

基本操作命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
查询所有的pool
ceph osd pool ls

创建快照
ceph osd pool mksnap myfs-data0 myfs-data0-snapshot

删除快照
ceph osd pool rmsnap myfs-data0 myfs-data0-snapshot

查看pool内的文件
rados -p myfs-data0 ls

列出快照
rados lssnap -p myfs-data0

恢复快照(只能指定对象恢复)
rados -p myfs-data0 put testfile /etc/hosts
ceph osd pool mksnap myfs-data0 myfs-data0-snapshot001
rados lssnap -p myfs-data0
rados -p myfs-data0 rm testfile
rados rollback -p myfs-data0 testfile myfs-data0-snapshot001
rados -p myfs-data0 rm testfile

两种快照模式

  • Pool Snapshot, 建立一个 Pool 时的默认模式
  • Self Managed Snapshot, librbd 管理的 snapshot. 如果在 Pool 中创建过 rbd 对象, 该 Pool 会自动转化为这种模式
  • 这两种模式是互斥的. 若对 Pool 创建了快照, 则不能创建 rbd 对象; 若在 Pool 中创建了(过) rbd 对象, 则不能再对 Pool 做快照

参考

Ceph 中的 Pools 和 PGs