更改 Clickhouse 中的源目录

Moh*_*yan 5 clickhouse

我正在尝试更改/var/lib/clickhouse为类似的内容/mnt/sdc/clickhouse,以便我可以在另一个硬盘上拥有 clickhouse 。我已经尝试过以下步骤:

\n

\xe2\x80\x8d\xe2\x80\x8d1。停止 Clickhouse
\n2. 将目录移动/var/lib/clickhouse/mnt/sdc/clickhouse
\n3。将所有/var/lib/s 替换为/mnt/sdc/文件/etc/clickhouse-server/config.xml
\n4 中的内容。启动Clickhouse

\n

但问题是/var/lib/clickhouse包含硬链接,因此当我mv进入目录时,该硬链接会损坏。

\n

这可以吗?
\n我应该如何更改 clickhouse 目录?

\n

小智 8

要在保留硬链接的同时复制文件,可以使用rsyncwith --hard-links(或-H) 选项。对于您的设置,您应该能够运行以下命令:

rsync -a -H /var/lib/clickhouse/ /mnt/sdc/clickhouse
Run Code Online (Sandbox Code Playgroud)

请注意第一个目录后面的尾部斜杠以复制目录内容而不是目录本身。

然后,正如您所提到的,将/var/lib/路径更新为/mnt/sdc/in /etc/clickhouse-server/config.xml,并使用 重新启动 ClickHouse systemctl restart clickhouse-server

我能够按照以下步骤使用 将 ClickHouse 数据迁移到新磁盘挂载rsync,并且 ClickHouse 使用新磁盘成功重新启动(Ubuntu 18.04 上的 ClickHouse v22.3)。