diff --git a/InManageBoot-iboot/README.md b/InManageBoot-iboot/README.md index b925dca0b660a30b410fbc78f2d6170d96005a03..bab7608c6def95f7e71693003c0d1e229281d17c 100644 --- a/InManageBoot-iboot/README.md +++ b/InManageBoot-iboot/README.md @@ -30,7 +30,7 @@ InManage Boot软件是浪潮信息公司研发的,面向服务器全生命周 支持多种任务的模板创建。可支持的模板功能如下: - 阵列卡管理模板 - InManageBoot软件提供批量修改RAID配置的功能,支持自定义指令设置。 - - 支持LSI、PMC两大阵列卡厂商的主流RAID配置,同时支持多阵列卡配置。 + - 支持主流阵列卡的主流RAID配置,同时支持多阵列卡配置。 - 系统安装模板 - 支持从仓库镜像模块手动导入OS镜像,对导入的OS镜像进行管理系统安装。 - InManageBoot支持使用带内网络,挂载OS镜像,提供操作系统批量自动安装的功能,可同时支持50台以上设备批量部署OS,能够单日完成1000+OS部署任务。系统安装前,可选择基础环境、设置挂载点、磁盘选择等分区操作。 @@ -202,10 +202,7 @@ cp -rf [源码目录]/InManageBoot-installer/ispimdata/webservice /opt/inmanage/ 2. 创建后端代码目录 ``` mkdir -p /opt/inmanage/iboot -cp -rf [源码目录]/InManageBoot-installer/bin /opt/inmanage/iboot -cp -rf [源码目录]/InManageBoot-installer/config /opt/inmanage/config -cp -rf [源码目录]/InManageBoot-installer/logs /opt/inmanage/logs -cp -rf [源码目录]/InManageBoot-installer/service /opt/inmanage/service +cp -rf [源码目录]/InManageBoot-installer/iboot /opt/inmanage/ ``` 3. jar包编译 ``` @@ -235,7 +232,7 @@ ln -sf /usr/local/node/node-v16.20.2-linux-x64/bin/npm /usr/bin/npm ### 前后端服务拷贝 ``` -cp -rf [源码目录]/InManageBoot-installer/service/*.service /usr/lib/systemd/system +cp -rf [源码目录]/InManageBoot-installer/iboot/service/*.service /usr/lib/systemd/system systemctl daemon-reload ``` @@ -264,7 +261,6 @@ cp -rf dist /opt/inmanage/cdcnode - 默认用户名:admin - 默认密码:123456Aa? - ## 项目地址 * [https://gitee.com/anolis/InManageBoot](https://gitee.com/anolis/InManageBoot) diff --git a/InManageBoot-installer/README.md b/InManageBoot-installer/README.md index b925dca0b660a30b410fbc78f2d6170d96005a03..bab7608c6def95f7e71693003c0d1e229281d17c 100644 --- a/InManageBoot-installer/README.md +++ b/InManageBoot-installer/README.md @@ -30,7 +30,7 @@ InManage Boot软件是浪潮信息公司研发的,面向服务器全生命周 支持多种任务的模板创建。可支持的模板功能如下: - 阵列卡管理模板 - InManageBoot软件提供批量修改RAID配置的功能,支持自定义指令设置。 - - 支持LSI、PMC两大阵列卡厂商的主流RAID配置,同时支持多阵列卡配置。 + - 支持主流阵列卡的主流RAID配置,同时支持多阵列卡配置。 - 系统安装模板 - 支持从仓库镜像模块手动导入OS镜像,对导入的OS镜像进行管理系统安装。 - InManageBoot支持使用带内网络,挂载OS镜像,提供操作系统批量自动安装的功能,可同时支持50台以上设备批量部署OS,能够单日完成1000+OS部署任务。系统安装前,可选择基础环境、设置挂载点、磁盘选择等分区操作。 @@ -202,10 +202,7 @@ cp -rf [源码目录]/InManageBoot-installer/ispimdata/webservice /opt/inmanage/ 2. 创建后端代码目录 ``` mkdir -p /opt/inmanage/iboot -cp -rf [源码目录]/InManageBoot-installer/bin /opt/inmanage/iboot -cp -rf [源码目录]/InManageBoot-installer/config /opt/inmanage/config -cp -rf [源码目录]/InManageBoot-installer/logs /opt/inmanage/logs -cp -rf [源码目录]/InManageBoot-installer/service /opt/inmanage/service +cp -rf [源码目录]/InManageBoot-installer/iboot /opt/inmanage/ ``` 3. jar包编译 ``` @@ -235,7 +232,7 @@ ln -sf /usr/local/node/node-v16.20.2-linux-x64/bin/npm /usr/bin/npm ### 前后端服务拷贝 ``` -cp -rf [源码目录]/InManageBoot-installer/service/*.service /usr/lib/systemd/system +cp -rf [源码目录]/InManageBoot-installer/iboot/service/*.service /usr/lib/systemd/system systemctl daemon-reload ``` @@ -264,7 +261,6 @@ cp -rf dist /opt/inmanage/cdcnode - 默认用户名:admin - 默认密码:123456Aa? - ## 项目地址 * [https://gitee.com/anolis/InManageBoot](https://gitee.com/anolis/InManageBoot) diff --git a/InManageBoot-installer/bin/inmanageboot b/InManageBoot-installer/iboot/bin/inmanageboot similarity index 100% rename from InManageBoot-installer/bin/inmanageboot rename to InManageBoot-installer/iboot/bin/inmanageboot diff --git a/InManageBoot-installer/bin/isib.sh b/InManageBoot-installer/iboot/bin/isib.sh similarity index 100% rename from InManageBoot-installer/bin/isib.sh rename to InManageBoot-installer/iboot/bin/isib.sh diff --git a/InManageBoot-installer/config/isib.properties b/InManageBoot-installer/iboot/config/isib.properties similarity index 100% rename from InManageBoot-installer/config/isib.properties rename to InManageBoot-installer/iboot/config/isib.properties diff --git a/InManageBoot-installer/config/logback.xml b/InManageBoot-installer/iboot/config/logback.xml similarity index 100% rename from InManageBoot-installer/config/logback.xml rename to InManageBoot-installer/iboot/config/logback.xml diff --git a/InManageBoot-installer/service/cdcnode.service b/InManageBoot-installer/iboot/service/cdcnode.service similarity index 100% rename from InManageBoot-installer/service/cdcnode.service rename to InManageBoot-installer/iboot/service/cdcnode.service diff --git a/InManageBoot-installer/service/iboot.service b/InManageBoot-installer/iboot/service/iboot.service similarity index 100% rename from InManageBoot-installer/service/iboot.service rename to InManageBoot-installer/iboot/service/iboot.service diff --git a/InManageBoot-ui/README.md b/InManageBoot-ui/README.md index c1b06650fe4c2300ee1c295024dc8569802c935c..bab7608c6def95f7e71693003c0d1e229281d17c 100644 --- a/InManageBoot-ui/README.md +++ b/InManageBoot-ui/README.md @@ -1,6 +1,221 @@ -# InManageBoot-ui +# InManageBoot -## 前端代码编译 +## 介绍 + +InManageBoot服务器部署平台是面向数据中心基础设施的批量开局管理方案,面向企业和IDC行业提供服务器批量初始化管理,支撑客户对服务器设备在生命周期各阶段易用、高效的运维管理,为用户带来极致体验。 + +该软件实现对服务器的可视化管理,提供对服务器的设备管理、阵列卡管理、系统安装、用户配置、系统克隆、压力测试等全生命周期的管理能力,有效帮助运维人员提高运维效率、降低运维成本,保障数据中心快速投产、稳定的运行,所有操作支持一站式完成,无人值守,高效运维。 + +InManageBoot软件可广泛应用于数据中心运营商和企业客户,能够在互联网、金融、电信等众多行业领域场景下,帮助用户快速完成服务器阵列卡配置、系统安装等初始化工作。 + +传统模式下,物理机安装依赖人工手动用光盘或U盘安装,硬件种类繁多,一台台配置更加复杂。面对大规模应用上线,物理机交付的滞后性会成为制约业务发展的瓶颈。所以必须要解决标准化和自动化问题,才能满足大规模部署的需求。 + +## 软件架构 + +![pFZFkm4.png](https://s11.ax1x.com/2024/01/22/pFZFkm4.png) + + +## 产品功能 + +InManage Boot软件是浪潮信息公司研发的,面向服务器全生命周期的带内自动化运维管理解决方案。 + +### 设备管理 + +轻量级资产管理,InManageBoot支持服务器资源的集中管理,支持批量导入、单个添加设备信息,为后续的功能使用提供数据支持。 +管理范围包括:浪潮信息通用服务器、AI智能服务器及机柜、刀片、机架服务器,支持裸机的管理。 +管理功能包括:设备电源管理、刷新设备信息、系统探测、系统克隆、网络管理、设备查询、设备编辑、设备删除功能。 + +### 模板 + +支持多种任务的模板创建。可支持的模板功能如下: +- 阵列卡管理模板 + - InManageBoot软件提供批量修改RAID配置的功能,支持自定义指令设置。 + - 支持主流阵列卡的主流RAID配置,同时支持多阵列卡配置。 +- 系统安装模板 + - 支持从仓库镜像模块手动导入OS镜像,对导入的OS镜像进行管理系统安装。 + - InManageBoot支持使用带内网络,挂载OS镜像,提供操作系统批量自动安装的功能,可同时支持50台以上设备批量部署OS,能够单日完成1000+OS部署任务。系统安装前,可选择基础环境、设置挂载点、磁盘选择等分区操作。 +- 用户配置模板 + - InManageBoot软件支持配置BMC的用户模板。可自定义创建或者修改BMC的管理员用户密码。 +- 压力测试模板 + - InManageBoot软件提供服务器性能测试功能,批量测试设备CPU、内存等配件的性能,并导出测试数据,验证设备性能是否达到要求。在测试之前可以设置采集周期和测试频率。 +- 自定义模板 + - InManageBoot软件支持用户自定义模板。支持上传自定义的脚本、工具。并将自定义的脚本工具分发到待执行服务器批量执行。 + +### 镜像 + +- 支持操作系统镜像的管理。包括系统镜像的添加、删除、修改。 +- 支持磁盘镜像的还原功能。 + +### 任务管理 + +- 支持客户通过“作业”查看任务当前进度,主要展示的任务信息包括:任务名称、执行类型、任务状态、开始时间、结束时间、任务进展、已耗时。 +- 支持作业的停止、搜索 +- 用户可以对历史作业进行管理,查看作业执行日志或删除已经完成的作业。 + +### 设置 + +通过服务管理、工作IP管理,实现对InManageBoot软件本身的配置管理,保证InManageBoot软件的稳定和鲁棒性。 +- 服务管理 +InManageBoot软件提供服务管理的功能 对InManageBoot Server服务器所需服务的查看与管理,实时查看DHCP、DNS、SAMBA、NGINX、TFTP服务状态,支持服务的启停管理。 +- 工作IP管理 +可以选择开局交付的工作IP,确定后基于此IP开启DHCP服务。 + + +## 关键技术特性 + +- 自动化运维,支撑全生命周期设备管理 +InManageBoot提供多种场景部署能力,从出厂裸机初始化场景(未配置带外网络),到生产环境自动化运维,提供丰富的管理模板,为自动化运维提供全面支持。 +- 裸机一站式部署,支持一键上架 +InManageBoot提供从系统探测、硬件配置、操作系统部署一站式部署的能力,使服务器从零配置到上线生产环境,一键完成。 +- 任务自由编排,提供多场景运维能力 +基于“资产-操作-编排-作业”的产品技术架构,任务结构自由编排,灵活组合,支持管理网络搭建,raid批量配置;自定义指定批量下发,操作系统批量部署和配置等运维各种场景。 +- 大规模部署技术架构,缩短上线周期 +优化传统PXE技术缺陷,单节点模式可保证并发50台以上设备批量任务执行,单日完成1000+服务器上架。 +- 无需预配置网络环境,即插即用 +与带外部署操作系统需要依赖带外网络环境不同,基于PXE技术的InManageBoot不需要依赖任何预配置网络环境,只需要服务端与客户端网络可达,避免大规模部署前需要批量配置带外网络的痛点。 +- 精准日志,执行结果指令级别追溯 +执行日志精确到每一条指令,快速统计、查看执行结果和准确率;支持查看历史任务日志。 +- 传统PXE技术优化,提升数据传输性能 +InManageBoot批量上架是基于PXE技术实现的大规模批量部署功能,但较于传统PXE,InManageBoot采用的PXE方案的优势在于可以通过HTTP方式传输InManageBoot客户端,拥有远高于TFTP服务的传输速度,并通过简易的配置可以同时支持Legacy和UEFI两种启动方式。 + +## 安装部署 + +### 系统依赖 + +- Anolis OS 8 以上版本,对系统安装的包没有要求,最小化安装即可 +- 关闭防火墙 +``` + systemctl stop firewalld + systemctl disable firewalld +``` +- 关闭selinux(需重启生效) +``` + sed -i '/^SELINUX=/cSELINUX=disabled' /etc/sysconfig/selinux +``` + +### 基础组件安装 +- mysql安装 +安装mysql8.0及以上版本,可在mysql官网下载最新安装版本 +[https://www.mysql.com/downloads/](https://www.mysql.com/downloads/) +- nfs安装 +使用命令安装nfs组件:``yum install nfs-utils`` +- tftp组件安装 +使用命令安装tftp组件:``yum install tftp tftp-server`` +- samba组件安装 +使用命令安装samba组件:``yum install samba`` +- nginx组件安装 +使用命令安装nginx组件:``yum install nginx`` +- xinetd组件安装 +使用命令安装xinetd组件:``yum install xinetd`` +- dhcp组件安装 +使用命令安装dhcp组件:``yum install dhcp`` +- java组件安装 +使用命令安装java组件:``yum install java-17-openjdk`` + +### 基础组件配置 +- mysql组件配置 + +1. 使用配置中的my.cnf文件替换/etc/my.cnf文件 +``` +cp [源码目录]/InManageBoot-installer/Public/my.cnf /etc/my.cnf +``` +2. 拷贝项目中的add_index.sql文件至/usr/local/ibootcfg/lib/目录 +``` +mkdir -p /usr/local/ibootcfg/lib/ +cp [源码目录]/InManageBoot-installer/Public/add_index.sql /usr/local/ibootcfg/lib/ +``` +2. 初始化mysql密码,执行如下命令 +``` + mkdir -p /opt/inmanage/mysql + systemctl stop mysqld + mysqld --initialize --console + chown -R mysql:mysql /opt/inmanage/mysql + systemctl start mysqld + mysql_init_password=`cat /opt/inmanage/mysql/mysqld-error.log | grep "root@localhost:" | awk -F "root@localhost:" '{print $2}'` + mysqladmin -uroot -p${mysql_init_password} password 'Inspur1!' + mysql -uroot -p${inmanage_module_secret_key} -e "CREATE USER 'inmanagedba'@'%' IDENTIFIED BY '${inmanage_module_secret_key}';" + mysql -uroot -p${inmanage_module_secret_key} -e "USE mysql;UPDATE user SET host = '%' WHERE user = 'root';FLUSH PRIVILEGES;" + mysql -uroot -p${inmanage_module_secret_key} -e "CREATE DATABASE IF NOT EXISTS inmanagedb DEFAULT charset utf8 COLLATE utf8_bin;" + mysql -uroot -p${inmanage_module_secret_key} -e "GRANT ALL PRIVILEGES ON inmanagedb.* TO inmanagedba@'%';" + mysql -uroot -p${inmanage_module_secret_key} -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;FLUSH PRIVILEGES;" + mysql -uroot -p${inmanage_module_secret_key} inmanagedb < /usr/local/ibootcfg/lib/add_index.sql +``` + +- samba配置 +1. 拷贝smb-sample.conf至/etc/samba/smb.conf +``` +cp [源码目录]/InManageBoot-installer/ispimdata/iboot/init/ibootInstall/cfg/smb-sample.conf /etc/samba/smb.conf +``` +2. 执行配置命令 +``` +mkdir -p /usr/local/samba/windows_driver +mkdir -p /usr/local/samba/image +chmod -R 755 /usr/local/samba +groupadd sambagroup > /dev/null 2>&1 +useradd isib -g sambagroup -s /sbinlogin > /dev/null 2>&1 +(echo 'Inspur1!';echo 'Inspur1!') | smbpasswd -s -a isib +``` + +- nginx配置 +1. 拷贝nginx.conf至/etc/nginx/nginx.conf +``` +cp [源码目录]/InManageBoot-installer/ispimdata/iboot/init/ibootInstall/cfg/nginx.conf /etc/nginx/nginx.conf +``` + +- tftp配置 +1. 拷贝tftp-sample文件至/etc/xinetd.d/tftp +``` +cp [源码目录]/InManageBoot-installer/ispimdata/iboot/init/ibootInstall/cfg/tftp-sample /etc/xinetd.d/tftp +``` +2. 执行配置命令 +``` +mkdir -p /usr/local/tftpboot/ +cp -rf [源码目录]/InManageBoot-installer/ispimdata/iboot/init/ibootInstall/cfg/{ipxe.efi,snponly.efi,undionly.kpxe} /usr/local/tftpboot/ +chmod -R 755 /usr/local/tftpboot/ +``` + +- dhcp配置 +1. 拷贝dhcpd-sample.conf至/etc/dhcp/dhcpd.conf +``` +cp [源码目录]/InManageBoot-installer/ispimdata/iboot/init/ibootInstall/cfg/dhcpd-sample.conf /etc/dhcp/dhcpd.conf +``` + +- InManageBoot自身工具配置 +1. 拷贝imcli工具、INMANAGE配置文件到系统下 +``` +cp [源码目录]/InManageBoot-installer/Public/imcli /usr/local/bin +cp [源码目录]/InManageBoot-installer/Public/config /usr/local/bin +chmod -R 777 /usr/local/bin +cp [源码目录]/InManageBoot-installer/Public/INMANAGE /etc/ +``` +2. 拷贝data目录至环境 +``` +mkdir -p /opt/inmanage/ +cp -rf [源码目录]/InManageBoot-installer/ispimdata/iboot /opt/inmanage/ +cp -rf [源码目录]/InManageBoot-installer/ispimdata/webservice /opt/inmanage/ +``` + +### 后端代码编译 +1. 配置maven仓库 +将编译用到的第三方jar包上传到个人maven仓库 +第三方jar包位置:[源码目录]/InManageBoot-installer/thirdjar/ +2. 创建后端代码目录 +``` +mkdir -p /opt/inmanage/iboot +cp -rf [源码目录]/InManageBoot-installer/iboot /opt/inmanage/ +``` +3. jar包编译 +``` +cd [源码目录]/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/ +mvn clean install -P jar -DskipTests -U +cd [源码目录]/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-application +mvn clean install -P thinjar -DskipTests -U -e dependency:copy-dependencies -DoutputDirectory=/tmp/dist -DincludeScope=runtime +cp -rf /tmp/dist* /opt/inmanage/iboot/libs/ +cp -rf [源码目录]/InManageBoot-iboot/cosmos-biz/cosmos-biz-iboot/cosmos-biz-iboot-base/cosmos-biz-iboot-base-application/target/cosmos-biz-iboot-base-application*SNAPSHOT.jar /opt/inmanage/iboot/service/ + +``` + +### 前端代码编译 - 安装node 1. 下载node-v16.20.2-linux-x64.tar.gz 2. 拷贝前端目录 @@ -15,6 +230,37 @@ ln -sf /usr/local/node/node-v16.20.2-linux-x64/bin/node /usr/bin/node ln -sf /usr/local/node/node-v16.20.2-linux-x64/bin/npm /usr/bin/npm ``` +### 前后端服务拷贝 +``` +cp -rf [源码目录]/InManageBoot-installer/iboot/service/*.service /usr/lib/systemd/system +systemctl daemon-reload +``` + +- 代码编译 +1.在源码InManageBoot-ui目录执行编译命令 +``` +cd [源码目录]/InManageBoot-ui +unzip node_modules.zip +rm -rf dist +npm run build +cp -rf dist /opt/inmanage/cdcnode +``` + +### 环境启动 +- 服务查看及启动 +执行以下命令查看InManageBoot +``` +/opt/inmanage/iboot/bin/inmanageboot status +``` +执行以下命令启动InManageBoot +``` +/opt/inmanage/iboot/bin/inmanageboot start +``` +### 环境登录 +- 通过浏览器访问页面,访问入口为:https://本机IP +- 默认用户名:admin +- 默认密码:123456Aa? + ## 项目地址 * [https://gitee.com/anolis/InManageBoot](https://gitee.com/anolis/InManageBoot) diff --git a/README.md b/README.md index b925dca0b660a30b410fbc78f2d6170d96005a03..bab7608c6def95f7e71693003c0d1e229281d17c 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ InManage Boot软件是浪潮信息公司研发的,面向服务器全生命周 支持多种任务的模板创建。可支持的模板功能如下: - 阵列卡管理模板 - InManageBoot软件提供批量修改RAID配置的功能,支持自定义指令设置。 - - 支持LSI、PMC两大阵列卡厂商的主流RAID配置,同时支持多阵列卡配置。 + - 支持主流阵列卡的主流RAID配置,同时支持多阵列卡配置。 - 系统安装模板 - 支持从仓库镜像模块手动导入OS镜像,对导入的OS镜像进行管理系统安装。 - InManageBoot支持使用带内网络,挂载OS镜像,提供操作系统批量自动安装的功能,可同时支持50台以上设备批量部署OS,能够单日完成1000+OS部署任务。系统安装前,可选择基础环境、设置挂载点、磁盘选择等分区操作。 @@ -202,10 +202,7 @@ cp -rf [源码目录]/InManageBoot-installer/ispimdata/webservice /opt/inmanage/ 2. 创建后端代码目录 ``` mkdir -p /opt/inmanage/iboot -cp -rf [源码目录]/InManageBoot-installer/bin /opt/inmanage/iboot -cp -rf [源码目录]/InManageBoot-installer/config /opt/inmanage/config -cp -rf [源码目录]/InManageBoot-installer/logs /opt/inmanage/logs -cp -rf [源码目录]/InManageBoot-installer/service /opt/inmanage/service +cp -rf [源码目录]/InManageBoot-installer/iboot /opt/inmanage/ ``` 3. jar包编译 ``` @@ -235,7 +232,7 @@ ln -sf /usr/local/node/node-v16.20.2-linux-x64/bin/npm /usr/bin/npm ### 前后端服务拷贝 ``` -cp -rf [源码目录]/InManageBoot-installer/service/*.service /usr/lib/systemd/system +cp -rf [源码目录]/InManageBoot-installer/iboot/service/*.service /usr/lib/systemd/system systemctl daemon-reload ``` @@ -264,7 +261,6 @@ cp -rf dist /opt/inmanage/cdcnode - 默认用户名:admin - 默认密码:123456Aa? - ## 项目地址 * [https://gitee.com/anolis/InManageBoot](https://gitee.com/anolis/InManageBoot)