南大通用GBase 8a MPP Cluster分析型数据库在某行业典型实施部署方案(二)

原文链接:https://www.gbase.cn/community/post/4157
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

   文接上回。上一篇文章,已完成整体方案设计,本文将重点介绍该方案的环境规划准备以及安装部署前的检查工作。

南大通用GBase 8a MPP Cluster分析型数据库在某行业典型实施部署方案(一)

4.环境配置

4.1.服务器IP地址规划

        6台主机建议coordinator节点规划3个,data节点5个、其中2台机器coordinator节点和data节点复用。由于集群JDBC自带自动路由功能,因此在web应用中间件中的JDBC配置URL中可将集群所有coordinator节点万兆网IP地址均配置到hostlist参数中,以便当有节点离线时,应用连接自动下发到可以使用的集群节点上,不影响应用正常使用集群。集群各节点IP地址规划目前分配如下,万兆网络IP地址用于数据内部通信使用。
                                                图表4-1:IP地址分配

4.2.Raid配置规划

        考虑操作系统和数据文件存储分离,保障数据安全,将现有磁盘配置2个raid5 (均为物理分区,不做逻辑卷)。
Raid1:2块SSD盘,用于用户操作系统的安装以及swap分区的分配
raid5:22块SAS盘,用于数据的数据存储
data盘(raid5)的raid卡条带选择最大的。最小也要1MB以上。不要用默认。
Access Policy:设置为RW
Read Policy:设置为Ahead
Write Policy:设置为Write Back with BBU,允许RAID控制器自动切换为Write Through模式;
IO Policy:操作系统磁盘(RAID1)设置为Direct IO模式,集群安装磁盘(RAID50)设置为Cached IO模式;其他可采用默认设置。

参照方案,raid配置参考如下图表4-2:

                                        图表4-1:RAID划分方式以及说明

4.3.操作系统配置规划

        集群各节点操作系统均采用RedHat7.5系列 64位版本,版本信息如下:Description:Red Hat Enterprise Linux 7.5;Release:7.5。操作系统参考配置如下:
1.采取”桌面”或者”软件工作站点”的方式安装;
2.root用户口令:建议各省安装前统一root密码;
3.gbase用户口令:建议各省安装前统一gbase密码;
4.语言采用默认 english (后续需手工安装中文支持);
5.keyboard  选择 U.S.ENGLISH;
6.主机名定义:gbase0*
7.时区 选择 世界时间   GMT时间;
8.磁盘分区:
sda  480G    [swap:128GB boot:960MB 根:剩余的分给根目录]
sdb  12TB     [12TB全部分给data]
全部采用ext4 格式化;
9.安装方式:桌面或软件工作站, customize now  选择 语言 选择 chinese support。
10.操作系统重启后,无需新建用户;
11. 需要修改当前日期和时间;
12. 设置 enable kdump。

4.4.网络配置规划

安全集群的网络规划如下:

1.集群千兆网、万兆网(或者双万兆环境)地址,参考国家局建议统一规划。
2.集群节点需配置千兆和万兆网络IP地址(千兆连接办公网,万兆用于集群内部数据交换)万兆、千兆网络均需采用双网卡绑定,绑定模式为主备模式(mode=1),千兆2网口绑定分别连接千兆主备交换机,万兆2网口绑定分别连接万兆兆主备交换机。
3.网卡绑定必须设置成开机自动生效的。
4.千兆、万兆网络不建议配置在同一网段内。如万兆网络使用私网地址,千兆网络使用办公环境地址。
5.集群服务器、交换机部署在同一个机房及同一个IP局域网段内(或配置在同一vlan中),并避免集群节点的跨交换机级联部署方式。
6.6台主机建议分置2个不同机柜(同一机房内)。如左机柜3台,右机柜3台。
4.5.端口规划
以下端口号为gbase数据常用端口号,在集群操作系统配置防火墙的前提下,需要开启以下端口保证集群能后正常运行。

                                                        图表4-3:端口规划表

4.6.GBASE数据库版本规划

安装版本:GBase8a_MPP_Cluster-9.5.2.23-redhat7-x86;
集群架构规划:GBASE集群架构规划为6个节点,文件服务器(加载机)复用其中某一节点;
6台主机建议规划3个coordinator节点,5个data节点,其中2个data节点和coordinator节点复用;
8台主机建议规划3个coordinator节点,7个data节点,其中2个data节点和coordinator节点复用;
10台主机建议规划3个coordinator节点,9个data节点,其中2个data节点和coordinator节点复用。

4.7.应用连接资源规划

        建议业务可以通过接入不同的管理节点以降低单节点压力。由于集群JDBC自带自动路由功能,因此在web应用中间件中的JDBC配置URL中可将集群所有coordinator节点均配置到hostlist参数中,以便当有节点离线时,应用连接自动下发到可以使用的集群节点上,不影响应用正常使用集群。

5.集群安装前检查

5.1.硬件配置检查

1.验证服务器硬件配置是否均与硬件配置清单项相符;
2.验证服务器硬件是否能正常工作、正常启动;
3.验证raid卡配置是否按照推荐配置进行了设置。

5.2.操作系统配置检查

1.验证操作系统版本是否采用了推荐版本。
2.验证是否进行了双卡绑定。
3.验证千兆、万兆网卡是否工作在正常的速率模式。
4.验证磁盘分区是否正确,分区大小、采用文件系统是否为推荐配置。
5.验证防火墙是否开放GBase8a集群相关服务端口。
6.验证各主机root口令是否设置一致。
7.验证各主机上集群相关端口是否被占用。

5.3.磁盘性能测试

        采用dd和fio磁盘测试工具对/data目录进行磁盘IO性能测试,根据测试结果评估磁盘顺序、随机读写的性能是否正常;

写测试 执行命令“dd oflag=direct if=/dev/zero of=1.dat bs=2M count=200” 
读测试 执行命令“dd iflag=direct if=1.dat of=/dev/null bs=2M count=200” 
读写测试 执行命令“dd iflag=direct oflag=direct if=1.dat of=2.dat bs=2M count=200” 
语法:dd [选项]
if =输入文件(或设备名称)。
of =输出文件(或设备名称)。
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
    count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

 测试脚本如下:

rm -rf /opt/1.dat
rm -rf /opt/2.dat
echo -e "-----begin 4k test-----\n" >> /root/dd.log
echo -e "-----begin 4k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=4k count=262144 >> /root/dd.log 2>&1
echo -e "-----begin 4k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=4k count=262144 >> /root/dd.log 2>&1
echo -e "-----begin 4k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=4k count=262144 >> /root/dd.log 2>&1
echo -e "-----end 4k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 8k test-----\n" >> /root/dd.log
echo -e "-----begin 8k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=8k count=131072 >> /root/dd.log 2>&1
echo -e "-----begin 8k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=8k count=131072 >> /root/dd.log 2>&1
echo -e "-----begin 8k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=8k count=131072 >> /root/dd.log 2>&1
echo -e "-----end 8k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 16k test-----\n" >> /root/dd.log
echo -e "-----begin 16k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=16k count=65536 >> /root/dd.log 2>&1
echo -e "-----begin 16k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=16k count=65536 >> /root/dd.log 2>&1
echo -e "-----begin 16k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=16k count=65536 >> /root/dd.log 2>&1
echo -e "-----end 16k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 32k test-----\n" >> /root/dd.log
echo -e "-----begin 32k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=32k count=32768 >> /root/dd.log 2>&1
echo -e "-----begin 32k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=32k count=32768 >> /root/dd.log 2>&1
echo -e "-----begin 32k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=32k count=32768 >> /root/dd.log 2>&1
echo -e "-----end 32k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 64k test-----\n" >> /root/dd.log
echo -e "-----begin 64k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=64k count=16384 >> /root/dd.log 2>&1
echo -e "-----begin 64k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=64k count=16384 >> /root/dd.log 2>&1
echo -e "-----begin 64k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=64k count=16384 >> /root/dd.log 2>&1
echo -e "-----end 64k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 128k test-----\n" >> /root/dd.log
echo -e "-----begin 128k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=128k count=8192 >> /root/dd.log 2>&1
echo -e "-----begin 128k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=128k count=8192 >> /root/dd.log 2>&1
echo -e "-----begin 128k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=128k count=8192 >> /root/dd.log 2>&1
echo -e "-----end 128k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 256k test-----\n" >> /root/dd.log
echo -e "-----begin 256k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=256k count=4096 >> /root/dd.log 2>&1
echo -e "-----begin 256k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=256k count=4096 >> /root/dd.log 2>&1
echo -e "-----begin 256k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=256k count=4096 >> /root/dd.log 2>&1
echo -e "-----end 256k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 512k test-----\n" >> /root/dd.log
echo -e "-----begin 512k write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=512k count=2048 >> /root/dd.log 2>&1
echo -e "-----begin 512k read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=512k count=2048 >> /root/dd.log 2>&1
echo -e "-----begin 512k read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=512k count=2048 >> /root/dd.log 2>&1
echo -e "-----end 512k test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 1M test-----\n" >> /root/dd.log
echo -e "-----begin 1M write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=1M count=1024 >> /root/dd.log 2>&1
echo -e "-----begin 1M read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=1M count=1024 >> /root/dd.log 2>&1
echo -e "-----begin 1M read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=1M count=1024 >> /root/dd.log 2>&1
echo -e "-----end 1M test-----\n" >> /root/dd.log

rm -rf /opt/1.dat
rm -rf /opt/2.dat

echo -e "-----begin 2M test-----\n" >> /root/dd.log
echo -e "-----begin 2M write-----\n" >> /root/dd.log
dd oflag=direct if=/dev/zero of=/opt/1.dat bs=2M count=512 >> /root/dd.log 2>&1
echo -e "-----begin 2M read-----\n" >> /root/dd.log
dd iflag=direct if=/opt/1.dat of=/dev/null bs=2M count=512 >> /root/dd.log 2>&1
echo -e "-----begin 2M read and write-----\n" >> /root/dd.log
dd iflag=direct oflag=direct if=/opt/1.dat of=/opt/2.dat bs=2M count=512 >> /root/dd.log 2>&1
echo -e "-----end 2M test-----\n" >> /root/dd.log

 5.4.网络IO性能测试

采用netperf工具对千兆网络、万兆网络分别进行网络IO性能测试,根据测试结果评估千兆网络、万兆网络的性能是否正常。
Netperf 是一种网络性能测量工具,主要基于 TCP 或 UDP 的传输。工作原理:
Netperf 工具以 client/server 方式工作。server 端是 netserver,用来侦听来自 client 端的连接,client 端是 netperf ,用来向 server 发起网络测试。
    

原文链接:https://www.gbase.cn/community/post/4157
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值