准备并增加节点
准备并增加节点¶
验证用户的新节点已经准备好整合到现有的SeaboxMPP系统中。
要为扩展准备新的系统节点,需要安装SeaboxMPP数据库软件的二进制文件、交换必要的SSH密钥并且运行性能测试。
先在新节点上运行性能测试然后再在所有结点上测试。在所有节点上运行测试时应该让系统离线,这样用户活动就不会使结果失真。
通常来说,当管理员修改了节点网络或者系统中出现其他特殊情况时,用户应该运行性能测试。例如,如果用户将在两个网络集群上运行扩展后的系统,应在每一个集群上都运行测试。
增加新结点到受信主机环境¶
新主机必须与现有主机交换SSH密钥,以使SeaboxMPP管理实用程序能够在没有密码提示的情况下连接到所有节点。
使用scssh-exkeys
工具执行两次密钥交换过程。
为了管理便利,第一次作为root
执行该过程,然后为管理工具作为用户seabox
再执行一次。 按顺序执行下列任务:
注意: SeaboxMPP数据库的executor主机命名习惯是sdwN
,其中sdw
是一个前缀而N
是一个整数(sdw1
、sdw2
等等)。 对于具有多个接口的主机,命名习惯是对该主机名追加一个破折号(-
)以及数字。例如,sdw1-1
和sdw1-2
是主机sdw1
的两个接口名。
-
用root交换SSH密钥
-
使用用户的阵列中的现有主机名创建一个主机文件以及一个含有新扩展主机名的单独的主机文件。 对于现有的主机,用户可以使用在系统中设置SSH密钥的同一个主机文件。 在这些文件中,列出所有的主机(Coordinator、Executor主机),每一行一个主机名但是不要有额外的行或者空白。 如果用户使用的是一个多NIC配置,请使用为一个给定的主机用配置好的主机名交换SSH密钥。 在这个例子中,
mdw
被配置为有一个NIC,并且sdw1
、sdw2
和sdw3
被配置为有4个NIC:scnode1 sdw1-1 sdw1-2 sdw1-3 sdw1-4 sdw2-1 sdw2-2 sdw2-3 sdw2-4 sdw3-1 sdw3-2 sdw3-3 sdw3-4
-
用
root
登录Coordinator主机,并且从用户的SeaboxMPP安装中sourceseaboxmpp_path.sh
文件。pre bash $ su - # source /usr/local/seaboxmpp/seaboxmpp-db/seaboxmpp_path.sh
-
运行
scssh-exkeys
工具引用主机列表文件。例如:# scssh-exkeys -e /home/seabox/existing_hosts_file -x /home/seabox/new_hosts_file
-
scssh-exkeys
会检查远程主机并且在所有的主机之间执行密钥交换。 在提示时输入root
用户的密码。例如:***Enter password for root@hostname: <root_password>
-
创建
seabox
用户 -
使用
scssh
在所有的新executor主机(如果该用户还不存在)上创建seabox
用户。 使用用户创建的新主机列表来做密钥交换。例如:# scssh -f new_hosts_file '/usr/sbin/useradd seabox -d /home/seabox -s /bin/bash'
-
为新的
seabox
用户设置一个密码。 在Linux上,用户可以使用scssh
同时在所有的executor在主机上做这件事情。例如:# scssh -f new_hosts_file 'echo seabox_password | passwd seabox --stdin'
-
通过查找
seabox
用户的home目录来验证该用户已经被创建:# scssh -f new_hosts_file ls -l /home
-
使用
seabox
用户交换SSH密钥 -
使用
seabox
登入,运行scssh-exkeys
工具并引用主机列表文件。例如:# scssh-exkeys -e /home/seabox/existing_hosts_file -x /home/seabox/new_hosts_file
-
scssh-exkeys
将会检查远程主机并且在所有的主机之间执行密钥交换。 在提示时输入seabox
用户的密码。例如:***Enter password for seabox@hostname: <seabox_password>
确认磁盘I/O和内存带宽¶
使用sccheckperf
工具来测试磁盘I/O和内存带宽。步骤如下:
- 使用新主机的主机文件运行
sccheckperf
工具。
在每一台主机上使用-d
选项指定用户想要测试的文件系统。
用户必须对这些目录具有写访问权限。例如:
bash
$ sccheckperf -f new_hosts_file -d /data1 -d /data2 -v
- 该工具可能会花长时间来执行测试,因为它需要在主机之间拷贝非常大的文件。当它完成时,用户将会看到磁盘写、磁盘读以及流测试的摘要结果。
对于划分成子网的网络,用每个子网单独的主机文件重复这个过程。
整合新硬件到系统中¶
在用新executor初始化系统之前,先用scstop
关闭系统以防止用户活动使性能测试结果倾斜。然后,使用包括所有节点(现有的和新加的)的主机文件重复性能测试.