Ceph Network Configuration及在线resize rbd

利用ceph-deploy安装ceph集群时,默认是不区分public network和cluster network的。如果集群规模较小、数据量不大的话,走1Gb网卡勉强能应付。

理想情况是使用10Gb网卡,可以不区分public network和cluster network。否则应该单独设置public network和cluster network。其架构如图所示:

Ceph Network Configuration及在线resize rbd_第1张图片

这样做带来的好处是:

1. 性能提升

此时osd间复制PGs、心跳检测、osd故障恢复和数据rebalancing等都通过cluster network,大大降低了对public network的依赖;public network可以专注于monitor、mds与osd间的通信、client请求等。

2. 安全提升

利用私有网络管理osd间的数据与通信,屏蔽了来自public network的很多外部恶意攻击。

在实际环境中我使用了以下两个网段:

  • Private network eth1: 10.0.0.0/8
  • Public network eth0: 192.168.5.0/24
编辑ceph.conf文件,配置osd网络:
[osd]
cluster network = 10.0.0.0/8
public network = 192.168.5.0/24

[osd.0]
public addr = 192.168.5.110:6801
cluster addr = 10.0.0.1

[osd.1]
public addr = 192.168.5.111:6802
cluster addr = 10.0.0.2

[osd.2]
public addr = 192.168.5.112:6803
cluster addr = 10.0.0.3

然后将ceph.conf拷贝到每个节点,并重新启动每个osd节点。内部osd拷贝等就会走cluster network了。

实际配置中,在[osd]设置了cluster network和public network后,不必在每个osd中设置ip,ceph会自动为你配置相应ip。如果需要指定端口的话,需要手动配置。


ps:在线改变已经挂载的ceph 块设备容量:

# rbd create --size 10000 test
# rbd map test
# mkfs.ext4 -q /dev/rbd1
# mount /dev/rbd1 /mnt
# df -h /mnt
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd1       9.5G   22M  9.0G   1% /mnt
# blockdev --getsize64 /dev/rbd1
10485760000
# rbd resize --size 20000 test
Resizing image: 100% complete...done.
# blockdev --getsize64 /dev/rbd1
20971520000
# resize2fs /dev/rbd1
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/rbd1 is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/rbd1 is now 5120000 blocks long.
# df -h /mnt
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd1        20G   27M   19G   1% /mnt

此方法只对格式化未EXT4文件系统的块设备有效。对于XFS,要再 resize之后执行


# xfs_growfs /mnt

文章翻译自:http://dachary.org/?p=2179&utm_source=tuicool

你可能感兴趣的:(Ceph Network Configuration及在线resize rbd)