本帖最后由 银票小当家 于 2020-7-15 09:36 编辑
一、环境准备系统:Ubuntu 16.04 数据盘:4T磁盘,可使用多个磁盘叠加,系统盘和数据盘分开!!! 按外发泄密:424m/人,业务审计5930m/人估算 系统盘:500G 装系统的时候一定要注意装的时候不要把系统装在数据盘内 二、ITM基础知识ITM分为master和worker,是一种分布式架构。 master相当于是主机,worker相当于是从机。 按客户需要,可以使用单机部署(只有master)或多机部署(一台master,多台worker)。 多机部署可以提升性能,加快处理数据的速度。 目前我们区域测试基本都是按照单机部署的。 三、多硬盘部署master(推荐)1.查看磁盘lsblk 2.格式化数据盘mkfs.ext3 /dev/vdb 3.创建挂载目录mkdir -p /data/disk 4.开机挂载硬盘 5.自动挂载mount -a 6.检查挂载情况df -hT 7.上传下载的安装包至服务器 8.执行安装脚本sh -x install_master_itm.sh(注意安装脚本里面的目录,安装脚本中目录是固定的,如果系统盘和数据盘挂载目录挂反了,那会导致系统安装到数据盘中) 四、单硬盘部署master(不推荐)单硬盘部署容易把磁盘占满,导致前面的日志被删除 1.上传下载的安装包至服务器 2.执行安装脚本sh -x install_master_itm.sh 五、master硬盘扩容(1)多硬盘部署扩容适用于本身使用系统盘和数据盘分开部署的场景 1.新增硬盘 2.格式化硬盘mkfs.ext3 /dev/vdc 3.创建挂载目录mkdir -p /data/disk2 4.开机挂载硬盘 5.自动挂载mount -a 6.检查挂载情况df -hT 7.docker ps -a查看容器名,然后docker exec -it [容器名] bash进入docker 8.创建升级标记touch /ndlp/update_flag 9.停止服务cd /ndlp/ldb/php ./ldbs.sh stop cd /ndlp/slog/server ./slog_server stop 10.移动目录mv /data/disk/log_data/_cluster/base/ /data/disk/data(如果无同步数据,跳过) 11.增加磁盘配置文件vi /data/disk/log_data/_mdb/disk.js并添加下面内容 { "data": { "base": "/data/disk/data", "d1": "/data/disk2/data" }, "temp": [ "/data/disk/temp", "/data/disk2/temp" } 也可以直接将该文件上传至/data/disk/log_data/_mdb/ 如果需要增加多块硬盘的话,按前面步骤操作,将硬盘挂载到/data/disk3,并在配置文件按格式在data中新增行"d2": "/data/disk3/data",在temp中新增行"/data/disk3/temp",以此类推。 12.删除升级标记rm /ndlp/update_flag 13.开启服务cd /ndlp/ldb/php/ ./ldbs.sh start cd /ndlp/slog/server/ ./slog_server start 14.前端页面查看是否扩容成功 (2)单硬盘部署扩容适用于只有系统盘,新增数据盘的场景 1.格式化新增的硬盘mkfs.ext3 /dev/vdb 2.docker ps -a查看容器名,docker stop [容器名]停止容器 3.备份现有数据mv /data/disk/ /data/disk_bac 4.创建挂载目录mkdir /data/disk 5.挂载数据盘至/data/disk 6.重新挂载mount -a 7.迁移数据至mv /data/disk_bac/* /data/disk 8.重启docker容器docker start itm_master 9.前端页面查看是否扩容成功 10.后续需要继续增加硬盘的话,按照[url=]多硬盘部署扩容[/url]操作 六、worker部署1.已经部署好master 2.将下载好的安装包上传至服务器 3.执行 dos2unix install_worker_itm.sh(可能会报错,可忽略) 4.执行 bash -x install_worker_itm.sh [master的ip地址] 七、worker扩容1.新增硬盘---格式化---挂载到/data/disk目录下,与master扩容方法一致 2.进入worker容器docker exec -it [容器名] bash,如果不清楚worker名字可以用docker ps命令查看 3.进入ndlp目录cd /ndlp 4.停止wmsd服务mv wmsd wmsd2 ./wmsd2 stop (如果目前已经扩容过,有两块以上的硬盘,跳到第8步) 5.移动base目录的数据mv /ndlp/log_data/_cluster/base/* /data/disk/data/(无数据可跳过) 6.删除旧base目录rm /ndlp/log_data/_cluster/base -r(无数据可跳过) 7.新建base目录软连接ln -s /data/disk/data /ndlp/log_data/_cluster/base 8.新增加disk.js磁盘配置文件vi /ndlp/log_data/_mdb/disk.js { "data": { "base": "/data/disk/data" }, "temp": [ "/data/disk/temp"
] } 也可以直接将该文件上传至/ndlp/log_data/_mdb/ 如果需要增加多块硬盘的话,按前面步骤操作,将硬盘挂载到/data/disk2,并在配置文件按格式在data中新增行"d1": "/data/disk2/data",在temp中新增行"/data/disk2/temp",以此类推。 9.开启wmsd服务mv wmsd2 wmsd ./wmsd start 10.master中查看worker的容量是否增加 八、注意事项(必看)1.在HCI上给ITM增加磁盘容量,不要直接在原来的磁盘上增加,要新添加一块磁盘。
2.磁盘扩容推荐4T硬盘叠加,性能会比较好
3.部署完之后,需要检查这个地方 docker exec -it [容器名] bash 进入docker vi /ndlp/store/ngac/bin/dsl/index/action.js 搜索replica(有两处) vi /ndlp/store/ngac/bin/dsl/dc/dc.js 搜索replica(有一处) 将后面的数字,改成master+worker的数量。 比如现在是只有一台master,对应的数字就是1 如果现在是一台master和一台worker部署,对应的数字就是2 以此类推
4.扩容完后,前端页面硬盘大小没有增加 (1)检查disk.js这个文件中内容是否正确,特别注意符号 (2)进入docker后,df -hT检查硬盘挂载情况,如果没见到新挂载的硬盘,重启docker。 docker restart [ |