使用GNU-Parallel来改变OSD数据目录所有权

本文由Ceph中国社区-LittleWindSXF 翻译、小猴子校稿。

英文出处:Chown Ceph OSD data directory using GNU Parallel欢迎加入CCTG

在Ceph的Jewel(10.2.X)版本之前,守护进程都是运行在根用户root之下,这是一个潜在的安全隐患。因此在Jewel中,所有守护进程(MON和OSD)都使用特权用户ceph来运行。

这意味着使用Jewel版本的代码时,要求运行daemon必须改变数据的所有权。

chown命令

正如Release Notes中所表述的,你必须把/var/lib/ceph/中所有数据的所有权改变为ceph:ceph。

在多OSD系统中这相当费时,使用GNU Parallel可以节省很多时间。

静态UID

在主要的Linux发行版中,ceph用户及用户组都已经被指定了静态UID和GIDs:

  • Fedora/CentOS/RHEL: 167:167
  • Debian/Ubuntu: 64045/64045

在parallel中使用chown命令

可以在parallel中使用以下指令来改变/var/lib/ceph中数据的所有权,这样速度快得多。

警告:开始前请确保系统中所有OSD都停止运行。

现在可以运行以下指令(以Ubuntu为例)

第一条指令花费的时间最长。我在一个有24个OSD,包含800GB数据的系统中测试过,耗时约20分钟。

原作者:Wido den Hollander,PCextreme B.V的CTO,他的个人博客用来发布平时工作中一些有趣的信息。

Leave a Comment

电子邮件地址不会被公开。