Cell模块是Nano集群的资源节点,用于组成虚拟化资源池,在本地创建、管理和释放虚拟机实例。
由于涉及网络配置,建议使用专用Installer进行部署,项目最新版本请访问此地址
环境要求
- CentOS 7 x86
- Golang 1.20
准备依赖的framework
$git clone https://github.com/project-nano/framework.git
准备编译源代码
$git clone https://github.com/project-nano/cell.git
编译
$cd cell
$go build
编译成功在当前目录生成二进制文件cell
环境要求
- CentOS 7 x86
执行以下指令,启动Cell模块
$./cell start
也可以使用绝对地址调用或者写入开机启动脚本,比如
$/opt/nano/cell/cell start
模块运行日志输出在log/cell.log文件中,用于查错和调试
由于Cell节点依赖Core模块进行自动网络识别,所以集群工作时必须最先启动Core模块,再启动Cell节点。
此外,除了模块启动功能,Cell还支持以下命令参数启动
命令名 | 说明 |
---|---|
start | 启动服务 |
stop | 停止服务 |
status | 检查当前服务状态 |
halt | 强行中止服务(用于服务异常时重启) |
Cell模块配置信息存放在config路径文件中,修改后需要重启模块生效
文件config/domain.cfg管理Cell模块的域通讯信息,域参数必须与Core模块一致才能成功识别
参数 | 值类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
domain | 字符串 | nano | 是 | 通讯域名称,用于节点间识别 |
group_address | 字符串 | 224.0.0.226 | 是 | 通讯域组播地址,用于服务发现 |
group_port | 整数 | 5599 | 是 | 通讯域组播端口,用于服务发现 |
timeout | 整数 | 10 | 交易处理超时时间,单位:秒 |
示例配置文件如下
{
"domain": "nano",
"group_address": "224.0.0.226",
"group_port": 5599
}
模块主要目录和文件如下
目录/文件 | 说明 |
---|---|
cell | 模块二进制执行文件 |
config/ | 配置文件存储目录 |
data/ | 模块运行数据存储目录 |
log/ | 运行日志存储目录 |
Cell is the resource node of Nano cluster, forming a virtualized resource pool. It creates, manages, and releases local virtual machine instances.
It is recommended to use a dedicated Installer for deployment. For the latest project version, please visit this address.
Full Source Code of the Project
Environment requirements
- CentOS 7 x86
- Golang 1.20
Prepare the framework dependencies
$git clone https://github.com/project-nano/framework.git
Prepare the source code for compilation
$git clone https://github.com/project-nano/cell.git
Compile
$cd cell
$go build
The binary file "cell" will be generated in the current directory when success
Environment
- CentOS 7 x86
start module
$./cell start
Alternatively, you can use an absolute address or write it into a startup script, such as:
$/opt/nano/cell/cell start
The running log is output on the file: log/core.log
Since the Cell nodes depend on the Core module for automatic network recognition, you must start the Core module before Cell nodes.
Core also supports the following command
Command name | Explanation |
---|---|
start | Start service |
stop | Stop service |
status | Check current service status |
halt | Force abort service when exception occurs |
Cell module configuration information is stored in files under the config path, and modifications require a restart of the module to take effect.
The file config/domain.cfg
manages the domain communication information for the Cell module.
Parameter | Value Type | Default Value | Required | Explanation |
---|---|---|---|---|
domain | String | nano | Yes | The name of the communication domain, used for cluster identification |
group_address | String | 224.0.0.226 | Yes | Multicast address of the communication domain, used for service discovery |
group_port | Integer | 5599 | Yes | Multicast port of the communication domain, used for service discovery |
timeout | Integer | 10 | Transaction timeout in seconds |
An example configuration file is as follows:
{
"domain": "nano",
"group_address": "224.0.0.226",
"group_port": 5599
}
Directory/File | Explanation |
---|---|
cell | The binary execution file of the module |
config/ | The storage directory for configurations |
data/ | The storage directory for operation data |
log/ | The storage directory for logs |