本文介绍了单主机master节点的扩容步骤,其他场景比如work节点扩容,请参考深信服内部威胁管理ITM快速安装手册_V5.0.8(本文附件下载或直接咨询社区人工客服获取ITM扩容指导)
本文参考了深信服内部威胁管理ITM快速安装手册_V5.0.8文中的部分内容,并结合实际操作修改或添加了部分内容
正文:
ITM的master节点磁盘扩容分为两种场景:
一是单硬盘部署扩容:指设备只有一个磁盘,操作系统和日志数据都存在这一个磁盘上,现在需要添加新硬盘扩大日志存储空间
二是多硬盘部署扩容:设备有多个磁盘,在这基础上还需要再添加硬盘扩大日志存储空间
磁盘扩容风险点:扩容操作前备份数据,如果是虚拟机部署ITM,一定要备份整个虚拟机!
如果出现了日志数据丢失,可以使用同步策略重新同步AC的日志进行恢复(前提是AC没有删除这个时间段的日志)
重新同步日志操作步骤:
举个例子:如果发现5月4号之后的日志丢失,并且AC上也保留了,没有删除5月4号之后的日志,就可以重新同步到ITM上
1、编辑同步策略
2、同步时间选择5月4日
3、点提交
4、选择重新同步20230504之后日志
5、点确定
6、等待同步即可,注意因为日志大小、网速、ITM设备性能处理能力的限制,同步+显示出日志可能需要很长时间,请耐心等待,可以去AC的网口观察网口速率,管理口会有很大带宽占用,说明数据在同步了
如果执行了以上操作后,只恢复了5月4号或者只有4号和5号的日志,而没有6号7号8号及之后的日志,那就需要再按照步骤,再选择没有日志数据的日志再同步一遍,直到同步完今天的日志
一、单硬盘部署扩容:
当前设备为单磁盘,80G的空间,目标是新加一块2t的磁盘
1. 给设备添加或挂载磁盘后,后台使用lsblk检查,已经有了新磁盘,新硬盘名为sdb,空间为2T
2. 将新硬盘格式化:mkfs.ext4 /dev/sdb //sdb为上一步查的硬盘名,注意随机应变
3. 停止master容器:docker stop itm_master
4. 备份已有数据:mv /data/disk/ /data/disk_bak
5. 创建挂载目录:mkdir -p /data/disk
6. 配置开机自动挂载磁盘,先获取磁盘的uuid,命令为:ll /dev/disk/by-uuid/
根据最后的磁盘名标识,获取新磁盘sdb的uuid,也就是淡蓝色字体内容,复制出来备用
编辑配置fstab文件命令:vim /etc/fstab
在文本最后新加一行,具体操作步骤:vim打开fstab文件后,将光标移动到最后一行,然后输入字母o(意思是从下一行输入),再用键盘输入UUID=“上面查到的uuid”(引号里面的内容为具体的uuid),接着按下tab键,输入/data/disk(数据盘的挂载目录),后面依次输入ext4、defaults、0、0,中间均使用tab键或空格键隔开!注意不是、顿号!用tab键的间隔大,空格键间隔小,两种方式都可以,但是要先后一致,比如前边用的空格,后边新增硬盘也要用空格,然后按下键盘左上角的Esc键退出输入模式,再输入:wq保存并退出。此图为案例中演示图
7. 配置自动挂载硬盘:mount -a
挂载后用df或者lsblk检查下,如果磁盘没有挂载到对应目录,则需要检查fstab文件是否配置正确
8. 将数据迁移到新数据盘:mv /data/disk_bak/* /data/disk
这一步的时间根据日志大小决定
9. 启动master容器:docker start itm_master
10. 回到前端控制台,可以看到磁盘空间已经扩展了
二、多硬盘部署扩容:
当前设备为一块80G的系统盘,一块2T的数据盘,目标是新增一或多块2T的数据盘
1. 将新磁盘添加到设备后,使用lsblk检查磁盘状态和磁盘名
2. 格式化所有磁盘:mkfs.ext4 /dev/sde //此处sde为上一步查出的新增磁盘的磁盘名(多块磁盘需重复执行)
3. 创建挂载目录:mkdir -p /data/disk2
本案例一次新增了三块盘,所以创建三个目录(名字不可与之前重复,注意提前看下之前磁盘用的目录名)
4. 配置开机自动挂载磁盘,先查磁盘的uuid:ll /dev/disk/by-uuid/
记录如下图的磁盘和uuid的对应关系,复制出来备用
编辑配置fstab文件命令:vim /etc/fstab
在文本最后新加一行(每多一块新磁盘就新加一行),具体操作步骤:vim打开fstab文件后,将光标移动到最后一行,然后输入字母o(意思是在当前行下方新增一行开始输入,只用按一次,后续新增一行用回车键即可),再用键盘输入UUID=“上面查到的uuid”(引号里面的内容为具体的uuid),接着按下tab键,输入/data/disk2(数据盘的挂载目录),后面依次输入ext4、defaults、0、0,中间均使用tab键或空格键隔开!注意不是、顿号!用tab键的间隔大,空格键间隔小,两种方式都可以(但是要和旧的配置格式相同,比如旧磁盘格式用的是空格,新配置也要用空格,旧的用tab新的也要用tab,建议复制前边的行再修改uuid和目录路径),多块盘场景就重复操作,多写几行,注意磁盘UUID和后边目录的对应关系,之后按下键盘左上角的Esc键退出输入模式,再输入:wq保存并退出。
5. 配置挂载磁盘:mount -a
挂载后使用lsblk或df检查磁盘是否挂载到了对应目录,有问题则需要检查fstab文件配置
6. 进入master容器:docker exec -it itm_master bash
7. 创建升级标记:touch /ndlp/update_flag
8. 使用cd /ndlp/ldb/php进入php目录,然后使用./ldbs.sh stop停止服务;
再cd /ndlp/slog/server进入server目录,然后./slog_server stop停止服务
注意一共四条命令
9. 使用mv /data/disk/log_data/_cluster/base /data/disk/data移动目录,如果是新部署没有同步过数据,这一步请跳过。
10. 使用 vim /data/disk/log_data/_mdb/disk.js命令添加磁盘配置文件,然后按下键盘的i键进入输入模式,接着输入下面内容(注意符号均是半角符号),最后按Esc键,再输入:wq保存并退出编辑
代码中标记了颜色的部分就是指新增的数据盘的配置,绿色配置代表新增第一块数据盘要添加的配置,黄色就是第二块新增盘的配置,以此类推,每多一块硬盘都要在data和temp各自新增一行,disk后边数字就和前边配置的磁盘挂载目录对应
注意除了最后一块盘的配置之外,前边几行代码后边都是有逗号结束的!如果有还有更多数量新增的盘位,也需要在新增的一行的上一行最后加逗号!
{
"data": {
"base": "/data/disk/data",
"d1": "/data/disk2/data",
"d2": "/data/disk3/data",
"d3": "/data/disk4/data"
},
"temp": [
"/data/disk/temp",
"/data/disk2/temp",
"/data/disk3/temp",
"/data/disk4/temp"
}
11. 进入新配置的disk2、disk3、disk4目录检查是否有temp文件夹,如果没有则需要手动创建temp目录,不然可能影响前台日志查询,如下图disk3下有temp文件夹,但是disk4下就没有,就需要在disk4下手动创建temp文件夹,注意新增的文件夹都需要检查(系统默认只会在一个新目录下创建temp文件夹)
先进入指定目录:cd /data/disk4
查询当前目录下文件:ls
创建temp文件夹:mkdir temp
12. 删除升级标记:rm /ndlp/update_flag
13. 使用cd /ndlp/ldb/php进入php目录,然后使用./ldbs.sh start开启服务;
再cd /ndlp/slog/server进入server目录,然后./slog_server start开启服务
注意一共四条命令
14. 使用exit退出容器
15. 重启master容器:docker restart itm_master
16. 回到前台web检查磁盘空间,已经磁盘空间已新扩展出3*2T的空间