PolarDB PostgreSQL版(简称 PolarDB-PG)是一款阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL,高度兼容Oracle语法;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 的能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB 具有大规模并行计算能力,可以应对OLTP与OLAP混合负载。
Network Block Device (NBD) 是一种网络协议,可以在多个主机间共享块存储设备。NBD 被设计为 Client-Server 的架构,因此至少需要两台物理机来部署。
以两台物理机环境为例,本小节介绍基于 NBD 共享存储的实例构建方法大体如下:
- 首先,两台主机通过 NBD 共享一个块设备;
- 然后,两台主机上均部署 PolarDB File System (PFS) 来初始化并挂载到同一个块设备;
- 最后,在两台主机上分别部署 PolarDB for PostgreSQL 内核,构建主节点、只读节点以形成简单的一写多读实例。
注意
以上步骤在 CentOS 7.5 上通过测试。
安装 NBD
为操作系统下载安装 NBD 驱动
提示
操作系统内核需要支持 NBD 内核模块,如果操作系统当前不支持该内核模块,则需要自己通过对应内核版本进行编译和加载 NBD 内核模块。
从 CentOS 官网 下载对应内核版本的驱动源码包并解压:
rpm -ihv kernel-3.10.0-862.el7.src.rpm
cd ~/rpmbuild/SOURCES
tar Jxvf linux-3.10.0-862.el7.tar.xz -C /usr/src/kernels/
cd /usr/src/kernels/linux-3.10.0-862.el7/
复制
NBD 驱动源码路径位于:drivers/block/nbd.c
。接下来编译操作系统内核依赖和组件:
cp ../$(uname -r)/Module.symvers ./
make menuconfig # Device Driver -> Block devices -> Set 'M' On 'Network block device support'
make prepare && make modules_prepare && make scripts
make CONFIG_BLK_DEV_NBD=m M=drivers/block
复制
检查是否正常生成驱动:
modinfo drivers/block/nbd.ko
复制
拷贝、生成依赖并安装驱动:
cp drivers/block/nbd.ko /lib/modules/$(uname -r)/kernel/drivers/block
depmod -a
modprobe nbd # 或者 modprobe -f nbd 可以忽略模块版本检查
复制
检查是否安装成功:
# 检查已安装内核模块
lsmod | grep nbd
# 如果NBD驱动已经安装,则会生成/dev/nbd*设备(例如:/dev/nbd0、/dev/nbd1等)
ls /dev/nbd*
复制
安装 NBD 软件包
yum install nbd
复制
使用 NBD 来共享块设备
服务端部署
拉起 NBD 服务端,按照同步方式(sync/flush=true
)配置,在指定端口(例如 1921
)上监听对指定块设备(例如 /dev/vdb
)的访问。
nbd-server -C /root/nbd.conf
复制
配置文件 /root/nbd.conf
的内容举例如下:
[generic]
#user = nbd
#group = nbd
listenaddr = 0.0.0.0
port = 1921
[export1]
exportname = /dev/vdb
readonly = false
multifile = false
copyonwrite = false
flush = true
fua = true
sync = true
复制
客户端部署
NBD 驱动安装成功后会看到 /dev/nbd*
设备, 根据服务端的配置把远程块设备映射为本地的某个 NBD 设备即可:
nbd-client x.x.x.x 1921 -N export1 /dev/nbd0
# x.x.x.x是NBD服务端主机的IP地址
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
2025年4月中国数据库流行度排行榜:OB高分复登顶,崖山稳驭撼十强
墨天轮编辑部
1028次阅读
2025-04-09 15:33:27
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
390次阅读
2025-03-19 23:11:26
PostgreSQL初/中/高级认证考试(3.15)通过考生公示
开源软件联盟PostgreSQL分会
377次阅读
2025-03-20 09:50:36
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
294次阅读
2025-04-11 10:43:23
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
235次阅读
2025-04-07 12:14:29
IvorySQL 4.4 发布 - 基于 PostgreSQL 17.4,增强平台支持
通讯员
228次阅读
2025-03-20 15:31:04
PG vs MySQL 执行计划解读的异同点
进击的CJR
153次阅读
2025-03-21 10:50:08
PostgreSQL分区管理扩展——pg_partman
chirpyli
124次阅读
2025-03-19 15:48:31
手把手教你在 openKylin 上部署 IvorySQL 4.4
严少安
119次阅读
2025-03-27 20:41:28
从mysql社区版迁移到信创PolardbX-DN上
金同学
118次阅读
2025-04-01 09:50:14