概述
本章,您将学习如何在数据节点对文件系统进行加密。
集群的相关信息如下表所示:
| 操作系统 | 操作系统环境 | IP 地址 | 硬件信息 | NDB Cluster 版本 | 节点类型 |
|---|---|---|---|---|---|
| RL 8.10 | 纯命令行 | 192.168.100.10/24 | 1 core;4GB 内存;50GB 存储 | 8.4.8 LTS | 管理节点 |
| RL 8.10 | 纯命令行 | 192.168.100.12/24 | 1 core;4GB 内存;50GB 存储 | 8.4.8 LTS | 数据节点 A |
| RL 8.10 | 纯命令行 | 192.168.100.14/24 | 1 core;4GB 内存;50GB 存储 | 8.4.8 LTS | 数据节点 B |
| RL 8.10 | 纯命令行 | 192.168.100.16/24 | 1 core;4GB 内存;50GB 存储 | 8.4.8 LTS | SQL 节点 |
| RL 8.10 | 纯命令行 | 192.168.100.18/24 | 1 core;4GB 内存;50GB 存储 | 8.4.8 LTS | 数据节点 C |
| RL 8.10 | 纯命令行 | 192.168.100.20/24 | 1 core;4GB 内存;50GB 存储 | 8.4.8 LTS | 数据节点 D |
每个管理服务器(管理节点)中 config.ini 文件的内容如下:
Shell > cat /etc/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=98M
CompressedBackup=1
BackupDataDir=/mysql-cluster-backup
[ndb_mgmd]
HostName=192.168.100.10
DataDir=/var/log/mysql-cluster
NodeId=1
[ndbd]
HostName=192.168.100.12
NodeId=2
DataDir=/usr/local/mysql/data
[ndbd]
HostName=192.168.100.14
NodeId=3
DataDir=/usr/local/mysql/data
[ndbd]
HostName=192.168.100.18
NodeId=4
DataDir=/usr/local/mysql/data
[ndbd]
HostName=192.168.100.20
NodeId=5
DataDir=/usr/local/mysql/data
[mysqld]
HostName=192.168.100.16
NodeId=6
[mysqld]
[mysqld]
每个数据服务器(数据节点)中 /etc/my.cnf 文件的内容如下:
Shell > cat /etc/my.cnf
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.100.10
每个 SQL 服务器(SQL 节点)中 /etc/my.cnf 文件的内容如下:
Shell > cat /etc/my.cnf
[mysqld]
ndbcluster
default-storage-engine=NDBCLUSTER
[mysql_cluster]
ndb-connectstring=192.168.100.10
启用文件系统加密
要在一个已经运行的 MySQL NDB Cluster 中启用文件系统加密,需按照以下步骤执行。
步骤 1:在管理节点 config.ini 中配置相关参数。若有多个管理服务器(管理节点),则需要修改所有的 config.ini 文件。
Shell (192.168.100.10)> vim /etc/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=98M
CompressedBackup=1
BackupDataDir=/mysql-cluster-backup
EncryptedFileSystem=1 ← 添加这一行
...
步骤 2:滚动重启所有的管理服务器(管理节点),单个管理服务器(管理节点)的操作如下所示。
Shell (192.168.100.10)> ndb_mgm
ndb_mgm> 1 stop
ndb_mgm> exit
Shell (192.168.100.10)> ndb_mgmd --configdir=/etc/mysql-cluster/ -f /etc/mysql-cluster/config.ini --initial
注意!实际生产环境下,若您有多个管理节点,则不应该一次性将所有管理节点关闭,而应该是滚动重启一个管理节点后,再配置下一个管理节点。
步骤 3:配置每个数据服务器(数据节点)的 /etc/my.cnf 文件,单个数据服务器(数据节点)的操作如下所示。
# 以节点 ID 为 2 的数据节点为例
Shell (192.168.100.12)> killall ndbd
Shell (192.168.100.12)> vim /etc/my.cnf
[mysqld]
ndbcluster
[mysql_cluster]
ndb-connectstring=192.168.100.10
[ndbd]
filesystem-password=FsPas.2468
Shell (192.168.100.12)> ndbd --initial
注意!实际生产环境下,您不应该将所有的数据节点一次性全关闭,而应该操作单个数据节点之后,再操作下一个管理节点。
步骤 4:滚动重启每个 SQL 节点。单个 SQL 节点的操作如下所示。
Shell (192.168.100.16)> /usr/local/mysql/support-files/mysql.server stop
Shell (192.168.100.16)> /usr/local/mysql/support-files/mysql.server start
注意!实际生产环境下,若您有多个 SQL 节点,则不应该一次性将所有 SQL 节点关闭,而应该是滚动重启一个 SQL 节点后,再配置下一个管理节点。
步骤 5:查询是否正确启用了文件系统加密。可使用以下的 SQL 语句进行查询。
# SQL 99 标准中,内连接里的等值连接
MySQL > select a.node_id as nodeid, a.config_value as value, b.param_name as name from
ndbinfo.config_values a
inner join
ndbinfo.config_params b
on a.config_param=b.param_number
where b.param_name='EncryptedFileSystem' ;
+--------+-------+---------------------+
| nodeid | value | name |
+--------+-------+---------------------+
| 2 | 1 | EncryptedFileSystem |
| 3 | 1 | EncryptedFileSystem |
| 4 | 1 | EncryptedFileSystem |
| 5 | 1 | EncryptedFileSystem |
+--------+-------+---------------------+
4 rows in set (0.18 sec)
若 value 这一列的值为 1 ,表示对应节点 ID 启用了文件系统加密。
取消文件系统加密
取消的步骤与上述步骤一样,只不过将新添加的内容删除即可。
版权声明:「自由转载-保持署名-非商业性使用-禁止演绎 3.0 国际」(CC BY-NC-ND 3.0)
用一杯咖啡支持我们,我们的每一篇[文档]都经过实际操作和精心打磨,而不是简单地从网上复制粘贴。期间投入了大量心血,只为能够真正帮助到您。
暂无评论










