From 85d1c8da84a753700ebdd5fc5ab89461162d339d Mon Sep 17 00:00:00 2001 From: mrdrivingduck Date: Wed, 15 Jan 2025 15:39:20 +0800 Subject: [PATCH] docs: add default config template for pfs deploy mode --- polar-doc/docs/deploying/db-pfs.md | 31 +++++++------------ polar-doc/docs/deploying/fs-pfs.md | 3 +- .../docs/deploying/storage-aliyun-essd.md | 6 ++-- polar-doc/docs/zh/deploying/db-pfs.md | 31 +++++++------------ polar-doc/docs/zh/deploying/fs-pfs.md | 3 +- .../docs/zh/deploying/storage-aliyun-essd.md | 6 ++-- 6 files changed, 34 insertions(+), 46 deletions(-) diff --git a/polar-doc/docs/deploying/db-pfs.md b/polar-doc/docs/deploying/db-pfs.md index 6f93b987817..ecbded24639 100644 --- a/polar-doc/docs/deploying/db-pfs.md +++ b/polar-doc/docs/deploying/db-pfs.md @@ -1,6 +1,6 @@ --- author: 棠羽 -date: 2024/08/30 +date: 2025/01/15 minute: 15 --- @@ -25,26 +25,21 @@ initdb -D $HOME/primary ```bash:no-line-numbers # 使用 pfs 创建共享数据目录 sudo pfs -C disk mkdir /nvme1n1/shared_data -# 初始化 db 的本地和共享数据目录 +# 初始化 Primary 节点的本地目录和共享目录 sudo polar-initdb.sh $HOME/primary/ /nvme1n1/shared_data/ primary +# 注入配置模板 +cat /u01/polardb_pg/share/polardb.conf.sample >> $HOME/primary/postgresql.conf ``` -编辑 Primary 节点的配置。打开 `~/primary/postgresql.conf`,增加配置项: +编辑 Primary 节点的配置文件 `~/primary/postgresql.conf`,增加配置项: ```ini:no-line-numbers port=5432 polar_hostid=1 -polar_enable_shared_storage_mode=on polar_disk_name='nvme1n1' polar_datadir='/nvme1n1/shared_data/' polar_vfs.localfs_mode=off -shared_preload_libraries='$libdir/polar_vfs,$libdir/polar_worker' polar_storage_cluster_name='disk' -logging_collector=on -log_line_prefix='%p\t%r\t%u\t%m\t' -log_directory='pg_log' -listen_addresses='*' -max_connections=1000 ``` 编辑 Primary 节点的客户端认证文件 `~/primary/pg_hba.conf`,增加以下配置项,允许 Replica 节点进行物理复制: @@ -85,29 +80,27 @@ psql -p 5432 -d postgres \ 在 Replica 节点本地磁盘的 `~/replica1` 路径下创建一个空目录,然后通过 `polar-initdb.sh` 脚本使用共享存储上的数据目录来初始化 Replica 节点的本地目录。初始化后的本地目录中没有默认配置文件,所以还需要使用 `initdb` 创建一个临时的本地目录模板,然后将所有的默认配置文件拷贝到 Replica 节点的本地目录下: ```shell:no-line-numbers +# 从共享存储初始化 Replica 节点的本地目录 mkdir -m 0700 $HOME/replica1 -sudo polar-initdb.sh $HOME/replica1/ /nvme1n1/shared_data/ replica +polar-initdb.sh $HOME/replica1/ /nvme1n1/shared_data/ replica +# 产生配置文件 initdb -D /tmp/replica1 cp /tmp/replica1/*.conf $HOME/replica1/ + +# 注入配置模板 +cat /u01/polardb_pg/share/polardb.conf.sample >> $HOME/replica1/postgresql.conf ``` -编辑 Replica 的配置。打开 `~/replica1/postgresql.conf`,增加配置项: +编辑 Replica 节点的配置文件 `~/replica1/postgresql.conf`,增加配置项: ```ini:no-line-numbers port=5433 polar_hostid=2 -polar_enable_shared_storage_mode=on polar_disk_name='nvme1n1' polar_datadir='/nvme1n1/shared_data/' polar_vfs.localfs_mode=off -shared_preload_libraries='$libdir/polar_vfs,$libdir/polar_worker' polar_storage_cluster_name='disk' -logging_collector=on -log_line_prefix='%p\t%r\t%u\t%m\t' -log_directory='pg_log' -listen_addresses='*' -max_connections=1000 # replication primary_slot_name='replica1' diff --git a/polar-doc/docs/deploying/fs-pfs.md b/polar-doc/docs/deploying/fs-pfs.md index fc1eec8e764..ea74e4973e6 100644 --- a/polar-doc/docs/deploying/fs-pfs.md +++ b/polar-doc/docs/deploying/fs-pfs.md @@ -1,6 +1,6 @@ --- author: 棠羽 -date: 2024/08/30 +date: 2025/01/15 minute: 15 --- @@ -22,6 +22,7 @@ PolarDB File System,简称 PFS 或 PolarFS,是由阿里云自主研发的高 ```shell:no-line-numbers docker pull polardb/polardb_pg_binary:15 docker run -it \ + --network=host \ --cap-add=SYS_PTRACE \ --privileged=true \ --name polardb_pg \ diff --git a/polar-doc/docs/deploying/storage-aliyun-essd.md b/polar-doc/docs/deploying/storage-aliyun-essd.md index dcbc04149a3..eb9dd7a3e6e 100644 --- a/polar-doc/docs/deploying/storage-aliyun-essd.md +++ b/polar-doc/docs/deploying/storage-aliyun-essd.md @@ -1,6 +1,6 @@ --- author: 棠羽 -date: 2022/05/09 +date: 2025/01/15 minute: 20 --- @@ -24,7 +24,7 @@ minute: 20 ## 部署阿里云 ECS -首先需要准备两台或以上的 [阿里云 ECS](https://www.aliyun.com/product/ecs)。目前,ECS 对支持 ESSD 多重挂载的规格有较多限制,详情请参考 [使用限制](https://help.aliyun.com/document_detail/256487.htm?spm=a2c4g.11186623.0.0.61397e72QGaXV0#section-4w6-dyy-otg)。仅 **部分可用区**、**部分规格**(ecs.g7se、ecs.c7se、ecs.r7se)的 ECS 实例可以支持 ESSD 的多重挂载。如图,请务必选择支持多重挂载的 ECS 规格: +首先需要准备两台或以上的 [阿里云 ECS](https://www.aliyun.com/product/ecs)。目前,ECS 中支持 ESSD 多重挂载的规格存在部分限制,详情请参考 [使用限制](https://help.aliyun.com/zh/ecs/user-guide/support-for-the-nvme-protocol-and-multi-attach-feature/)。 ![aliyun-ecs-specs](../imgs/aliyun-ecs-specs.png) @@ -38,7 +38,7 @@ minute: 20 ## 准备 ESSD 云盘 -在阿里云 ECS 的管理控制台中,选择 _存储与快照_ 下的 _云盘_,点击 _创建云盘_。在与已经建好的 ECS 所在的相同可用区内,选择建立一个 ESSD 云盘,并勾选 **多实例挂载**。如果您的 ECS 不符合多实例挂载的限制条件,则该选框不会出现。 +在阿里云 ECS 的管理控制台中,选择 _存储与快照_ 下的 _块存储_,点击 _创建云盘_。在与已经建好的 ECS 所在的相同可用区内,选择建立一个 ESSD 云盘,并勾选 **多实例挂载**。如果您的 ECS 不符合多实例挂载的限制条件,则该选框不会出现。 ![aliyun-essd-specs](../imgs/aliyun-essd-specs.png) diff --git a/polar-doc/docs/zh/deploying/db-pfs.md b/polar-doc/docs/zh/deploying/db-pfs.md index 6f93b987817..ecbded24639 100644 --- a/polar-doc/docs/zh/deploying/db-pfs.md +++ b/polar-doc/docs/zh/deploying/db-pfs.md @@ -1,6 +1,6 @@ --- author: 棠羽 -date: 2024/08/30 +date: 2025/01/15 minute: 15 --- @@ -25,26 +25,21 @@ initdb -D $HOME/primary ```bash:no-line-numbers # 使用 pfs 创建共享数据目录 sudo pfs -C disk mkdir /nvme1n1/shared_data -# 初始化 db 的本地和共享数据目录 +# 初始化 Primary 节点的本地目录和共享目录 sudo polar-initdb.sh $HOME/primary/ /nvme1n1/shared_data/ primary +# 注入配置模板 +cat /u01/polardb_pg/share/polardb.conf.sample >> $HOME/primary/postgresql.conf ``` -编辑 Primary 节点的配置。打开 `~/primary/postgresql.conf`,增加配置项: +编辑 Primary 节点的配置文件 `~/primary/postgresql.conf`,增加配置项: ```ini:no-line-numbers port=5432 polar_hostid=1 -polar_enable_shared_storage_mode=on polar_disk_name='nvme1n1' polar_datadir='/nvme1n1/shared_data/' polar_vfs.localfs_mode=off -shared_preload_libraries='$libdir/polar_vfs,$libdir/polar_worker' polar_storage_cluster_name='disk' -logging_collector=on -log_line_prefix='%p\t%r\t%u\t%m\t' -log_directory='pg_log' -listen_addresses='*' -max_connections=1000 ``` 编辑 Primary 节点的客户端认证文件 `~/primary/pg_hba.conf`,增加以下配置项,允许 Replica 节点进行物理复制: @@ -85,29 +80,27 @@ psql -p 5432 -d postgres \ 在 Replica 节点本地磁盘的 `~/replica1` 路径下创建一个空目录,然后通过 `polar-initdb.sh` 脚本使用共享存储上的数据目录来初始化 Replica 节点的本地目录。初始化后的本地目录中没有默认配置文件,所以还需要使用 `initdb` 创建一个临时的本地目录模板,然后将所有的默认配置文件拷贝到 Replica 节点的本地目录下: ```shell:no-line-numbers +# 从共享存储初始化 Replica 节点的本地目录 mkdir -m 0700 $HOME/replica1 -sudo polar-initdb.sh $HOME/replica1/ /nvme1n1/shared_data/ replica +polar-initdb.sh $HOME/replica1/ /nvme1n1/shared_data/ replica +# 产生配置文件 initdb -D /tmp/replica1 cp /tmp/replica1/*.conf $HOME/replica1/ + +# 注入配置模板 +cat /u01/polardb_pg/share/polardb.conf.sample >> $HOME/replica1/postgresql.conf ``` -编辑 Replica 的配置。打开 `~/replica1/postgresql.conf`,增加配置项: +编辑 Replica 节点的配置文件 `~/replica1/postgresql.conf`,增加配置项: ```ini:no-line-numbers port=5433 polar_hostid=2 -polar_enable_shared_storage_mode=on polar_disk_name='nvme1n1' polar_datadir='/nvme1n1/shared_data/' polar_vfs.localfs_mode=off -shared_preload_libraries='$libdir/polar_vfs,$libdir/polar_worker' polar_storage_cluster_name='disk' -logging_collector=on -log_line_prefix='%p\t%r\t%u\t%m\t' -log_directory='pg_log' -listen_addresses='*' -max_connections=1000 # replication primary_slot_name='replica1' diff --git a/polar-doc/docs/zh/deploying/fs-pfs.md b/polar-doc/docs/zh/deploying/fs-pfs.md index fc1eec8e764..ea74e4973e6 100644 --- a/polar-doc/docs/zh/deploying/fs-pfs.md +++ b/polar-doc/docs/zh/deploying/fs-pfs.md @@ -1,6 +1,6 @@ --- author: 棠羽 -date: 2024/08/30 +date: 2025/01/15 minute: 15 --- @@ -22,6 +22,7 @@ PolarDB File System,简称 PFS 或 PolarFS,是由阿里云自主研发的高 ```shell:no-line-numbers docker pull polardb/polardb_pg_binary:15 docker run -it \ + --network=host \ --cap-add=SYS_PTRACE \ --privileged=true \ --name polardb_pg \ diff --git a/polar-doc/docs/zh/deploying/storage-aliyun-essd.md b/polar-doc/docs/zh/deploying/storage-aliyun-essd.md index dcbc04149a3..eb9dd7a3e6e 100644 --- a/polar-doc/docs/zh/deploying/storage-aliyun-essd.md +++ b/polar-doc/docs/zh/deploying/storage-aliyun-essd.md @@ -1,6 +1,6 @@ --- author: 棠羽 -date: 2022/05/09 +date: 2025/01/15 minute: 20 --- @@ -24,7 +24,7 @@ minute: 20 ## 部署阿里云 ECS -首先需要准备两台或以上的 [阿里云 ECS](https://www.aliyun.com/product/ecs)。目前,ECS 对支持 ESSD 多重挂载的规格有较多限制,详情请参考 [使用限制](https://help.aliyun.com/document_detail/256487.htm?spm=a2c4g.11186623.0.0.61397e72QGaXV0#section-4w6-dyy-otg)。仅 **部分可用区**、**部分规格**(ecs.g7se、ecs.c7se、ecs.r7se)的 ECS 实例可以支持 ESSD 的多重挂载。如图,请务必选择支持多重挂载的 ECS 规格: +首先需要准备两台或以上的 [阿里云 ECS](https://www.aliyun.com/product/ecs)。目前,ECS 中支持 ESSD 多重挂载的规格存在部分限制,详情请参考 [使用限制](https://help.aliyun.com/zh/ecs/user-guide/support-for-the-nvme-protocol-and-multi-attach-feature/)。 ![aliyun-ecs-specs](../imgs/aliyun-ecs-specs.png) @@ -38,7 +38,7 @@ minute: 20 ## 准备 ESSD 云盘 -在阿里云 ECS 的管理控制台中,选择 _存储与快照_ 下的 _云盘_,点击 _创建云盘_。在与已经建好的 ECS 所在的相同可用区内,选择建立一个 ESSD 云盘,并勾选 **多实例挂载**。如果您的 ECS 不符合多实例挂载的限制条件,则该选框不会出现。 +在阿里云 ECS 的管理控制台中,选择 _存储与快照_ 下的 _块存储_,点击 _创建云盘_。在与已经建好的 ECS 所在的相同可用区内,选择建立一个 ESSD 云盘,并勾选 **多实例挂载**。如果您的 ECS 不符合多实例挂载的限制条件,则该选框不会出现。 ![aliyun-essd-specs](../imgs/aliyun-essd-specs.png)