暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PolarDB PostgreSQL版阿里云 ECS + ESSD 云盘存储

内核开发者 2023-07-21
223

关于 PolarDB PostgreSQL 版

PolarDB PostgreSQL 版是一款阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL,高度兼容Oracle语法;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 、Ganos全空间数据处理能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB PostgreSQL 版具有大规模并行计算能力,可以应对 OLTP 与 OLAP 混合负载。

阿里云 ECS + ESSD 云盘存储

阿里云 ESSD(Enhanced SSD)云盘open in new window 结合 25 GE 网络和 RDMA 技术,能够提供单盘高达 100 万的随机读写能力和单路低时延性能。阿里云 ESSD 云盘支持 NVMe 协议,且可以同时挂载到多台支持 NVMe 协议的 ECS(Elastic Compute Service)实例上,从而实现多个 ECS 实例并发读写访问,具备高可靠、高并发、高性能等特点。更新信息请参考阿里云 ECS 文档:

本文将指导您完成以下过程:

  1. 部署两台阿里云 ECS 作为计算节点
  2. 将一块 ESSD 云盘多重挂载到两台 ECS 上,作为共享存储
  3. 在 ESSD 共享存储上格式化分布式文件系统 PFS
  4. 基于 PFS,在两台 ECS 上共同搭建一个存算分离、读写分离的 PolarDB 集群

aliyun-ecs-procedure

阿里云 ESSD(Enhanced SSD)云盘open in new window 结合 25 GE 网络和 RDMA 技术,能够提供单盘高达 100 万的随机读写能力和单路低时延性能。阿里云 ESSD 云盘支持 NVMe 协议,且可以同时挂载到多台支持 NVMe 协议的 ECS(Elastic Compute Service)实例上,从而实现多个 ECS 实例并发读写访问,具备高可靠、高并发、高性能等特点。更新信息请参考阿里云 ECS 文档:

本文将指导您完成以下过程:

  1. 部署两台阿里云 ECS 作为计算节点
  2. 将一块 ESSD 云盘多重挂载到两台 ECS 上,作为共享存储
  3. 在 ESSD 共享存储上格式化分布式文件系统 PFS
  4. 基于 PFS,在两台 ECS 上共同搭建一个存算分离、读写分离的 PolarDB 集群

aliyun-ecs-procedure

#部署阿里云 ECS

首先需要准备两台或以上的 阿里云 ECSopen in new window。目前,ECS 对支持 ESSD 多重挂载的规格有较多限制,详情请参考 使用限制open in new window。仅 部分可用区部分规格(ecs.g7se、ecs.c7se、ecs.r7se)的 ECS 实例可以支持 ESSD 的多重挂载。如图,请务必选择支持多重挂载的 ECS 规格:

aliyun-ecs-specs

对 ECS 存储配置的选择,系统盘可以选用任意的存储类型,数据盘和共享盘暂不选择。后续再单独创建一个 ESSD 云盘作为共享盘:

aliyun-ecs-system-disk

如图所示,在 同一可用区 中建好两台 ECS:

aliyun-ecs-instance

#准备 ESSD 云盘

在阿里云 ECS 的管理控制台中,选择 存储与快照 下的 云盘,点击 创建云盘。在与已经建好的 ECS 所在的相同可用区内,选择建立一个 ESSD 云盘,并勾选 多实例挂载。如果您的 ECS 不符合多实例挂载的限制条件,则该选框不会出现。

aliyun-essd-specs

ESSD 云盘创建完毕后,控制台显示云盘支持多重挂载,状态为 待挂载

aliyun-essd-ready-to-mount

接下来,把这个云盘分别挂载到两台 ECS 上:

aliyun-essd-mounting

挂载完毕后,查看该云盘,将会显示该云盘已经挂载的两台 ECS 实例:

aliyun-essd-mounted

#检查云盘

通过 ssh 分别连接到两台 ECS 上,运行 lsblk 命令可以看到:

  • nvme0n1 是 40GB 的 ECS 系统盘,为 ECS 私有
  • nvme1n1 是 100GB 的 ESSD 云盘,两台 ECS 同时可见
$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0   40G  0 disk
└─nvme0n1p1 259:1    0   40G  0 part /etc/hosts
nvme1n1     259:2    0  100G  0 disk

#准备分布式文件系统

接下来,将在两台 ECS 上分别部署 PolarDB 的主节点和只读节点。作为前提,需要在 ECS 共享的 ESSD 块设备上 格式化并挂载 PFS部署阿里云 ECS

首先需要准备两台或以上的 阿里云 ECSopen in new window。目前,ECS 对支持 ESSD 多重挂载的规格有较多限制,详情请参考 使用限制open in new window。仅 部分可用区部分规格(ecs.g7se、ecs.c7se、ecs.r7se)的 ECS 实例可以支持 ESSD 的多重挂载。如图,请务必选择支持多重挂载的 ECS 规格:

aliyun-ecs-specs

对 ECS 存储配置的选择,系统盘可以选用任意的存储类型,数据盘和共享盘暂不选择。后续再单独创建一个 ESSD 云盘作为共享盘:

aliyun-ecs-system-disk

如图所示,在 同一可用区 中建好两台 ECS:

aliyun-ecs-instance

准备 ESSD 云盘

在阿里云 ECS 的管理控制台中,选择 存储与快照 下的 云盘,点击 创建云盘。在与已经建好的 ECS 所在的相同可用区内,选择建立一个 ESSD 云盘,并勾选 多实例挂载。如果您的 ECS 不符合多实例挂载的限制条件,则该选框不会出现。

aliyun-essd-specs

ESSD 云盘创建完毕后,控制台显示云盘支持多重挂载,状态为 待挂载

aliyun-essd-ready-to-mount

接下来,把这个云盘分别挂载到两台 ECS 上:

aliyun-essd-mounting

挂载完毕后,查看该云盘,将会显示该云盘已经挂载的两台 ECS 实例:

aliyun-essd-mounted

检查云盘

通过 ssh 分别连接到两台 ECS 上,运行 lsblk 命令可以看到:

  • nvme0n1 是 40GB 的 ECS 系统盘,为 ECS 私有
  • nvme1n1 是 100GB 的 ESSD 云盘,两台 ECS 同时可见
$ lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0   40G  0 disk
└─nvme0n1p1 259:1    0   40G  0 part /etc/hosts
nvme1n1     259:2    0  100G  0 disk







准备分布式文件系统

接下来,将在两台 ECS 上分别部署 PolarDB 的主节点和只读节点。作为前提,需要在 ECS 共享的 ESSD 块设备上 格式化并挂载 PFS

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论