单机版
./stor setup { -n | --stor-name } STOR_NAME [ { -u | --user-name } USER_NAME ] { -p | --password } PASSWORD { -s | --server } { SERVER_IP[:PORT]:PATH &<1-n> } [ { -P | --public-network } CIDR ] [ --iscsi-port ISCSI_PORT ] [--port-range PORT1-PORT2 ] [ --management-port1 MANAGEMENT_PORT1 ] [ --management-port2 MANAGEMENT_PORT2 ] [ --management-port3 MANAGEMENT_PORT3 ] [ --management-port4 MANAGEMENT_PORT4 ] [ --management-port6 MANAGEMENT_PORT6 ]
集群版
./stor setup { -n | --stor-name } STOR_NAME [ { -u | --user-name } USER_NAME ] { -p | --password } PASSWORD { { -s | --server } { SERVER_IP[:PORT]:[PATH] &<1-n> } &<1-n> | --topology-file TOPOLOGY_FILE } [ {-C | --cluster-network } CIDR ] [ { -P | --public-network } CIDR ] [ --fault-domain FAULT_DOMAIN ] [ --iscsi-port ISCSI_PORT ] [--port-range PORT1-PORT2 ] [ --data-port1 DATA_PORT1 ] [ --management-port1 MANAGEMENT_PORT1 ] [ --management-port2 MANAGEMENT_PORT2 ] [ --management-port3 MANAGEMENT_PORT3 ] [ --management-port4 MANAGEMENT_PORT4 ] [ --management-port5 MANAGEMENT_PORT5 ] [ --management-port6 MANAGEMENT_PORT6 ] [ --metadata-port1 METADATA_PORT1 ] [ --metadata-port2 METADATA_PORT2 ] [ --metadata-port3 METADATA_PORT3 ] [ --metadata-port4 METADATA_PORT4 ] [ --metadata-port5 METADATA_PORT5 ] [ --metadata-port6 METADATA_PORT6 ] [ --metadata-port7 METADATA_PORT7 ] [ --metadata-port8 METADATA_PORT8 ] [ --cs SERVER_IP,SERVER_IP,SERVER_IP ] [ --mdm SERVER_IP,SERVER_IP ] [ --ls SERVER_IP,SERVER_IP,SERVER_IP ]
此命令用来初始化HBlock。
说明对于集群版,在每台服务器上安装HBlock后,可以在集群内的任一服务器上进行初始化。
注意
请确保Linux用户具有所需要端口的权限。Linux系统默认小于1024的端口不对没有root权限的Linux普通用户开放。
设置端口范围(--port-range PORT1-PORT2)时,请避免和Linux系统的本地临时端口(ip_local_port_range)范围重合,否则可能会导致HBlock服务所用的端口被占用。使用命令行cat /proc/sys/net/ipv4/ip_local_port_range可以查看本地临时端口范围。
参数
参数 描述 -n STOR_NAME或--stor-name STOR_NAME 指定HBlock名称。
取值:字符串形式,长度范围是1~64,可以包含字母、数字、下划线(_)和短横线(-),字母区分大小写,且仅支持以字母或数字开头。
-u USER_NAME 或--user-name USER_NAME HBlock的管理员用户名。
取值:字符串形式,长度范围是5~16,只能由数字和字母组成,字母区分大小。默认值为storuser。
-p PASSWORD或--password PASSWORD 设置新的管理员密码。初始化时必须修改密码。
取值:字符串形式,长度范围8~16,至少包含以下字符中的3种:大写字母、小写字母、数字、特殊字符 (~ ! @ # $ % ^ & * ( ) _ + [ ] { } | ; : , . / < > ?),区分大小写。不能包含:3个连续重复的字符,3个连续或反序的数字、或字母(不区分大小写),3个连续或反序的键盘序列(不区分大小写)。
-s { SERVER_IP[:PORT]:PATH &<1-n> } &<1-n>或--server { SERVER_IP[:PORT]:PATH &<1-n> } &<1-n> 指定要初始化的服务器IP(SERVER_IP)、API端口号(PORT)和数据目录(PATH)。
取值:
服务器IP:一个服务器IP可以对应多个数据目录,用英文逗号(,)隔开。
对于单机版,只需要一台服务器即可。
对于集群版,至少需要三台服务器。
API端口号:取值范围是[1, 65535],默认值为1443。需要和该服务器安装HBlock时设置的API端口号保持一致。
数据目录:数据目录名不能含逗号。可以设置多个数据目录,以英文逗号(,)隔开。数据目录用于存储数据,建议不要与操作系统共用磁盘或文件系统。
说明对于单机版,第一个数据目录是默认数据目录。对于集群版,需要至少有一个数据目录。
--topology-file TOPOLOGY_FILE
导入集群拓扑文件(仅集群版支持)。
拓扑文件为符合UTF-8编码格式的JSON文件,详见集群拓扑文件。
-C CIDR或--cluster-network CIDR 集群网络(仅集群版支持),用于集群间的数据通信。IP CIDR格式。
如果指定集群网络,为了保证HBlock的各个服务器之间能够正常通信,请确保每个服务器上都有与指定网段相符的IP,系统会自动选取该IP进行通信。
如果未指定集群网络,默认使用服务器列表中HBlock服务器IP,此时HBlock的服务器IP不能指定为localhost、127.0.0.1或0:0:0:0:0:0:0:1。
-P CIDR或--public-network CIDR 业务网络,用于客户端和服务器之间的数据传输。IP CIDR格式。
如果指定业务网络,请确保每个服务器上都有与指定网段相符的IP,系统会自动选取该IP和客户端进行通信。
如果未指定业务网络,或指定了业务网络,但指定的网段与服务器所有IP均不相符,默认使用服务器列表中HBlock服务器IP,此时HBlock服务器IP不能指定为localhost、127.0.0.1或0:0:0:0:0:0:0:1。
--fault-domain FAULT_DOMAIN 设置基础存储池的故障域级别(仅集群版支持)。初始化时设置的集群拓扑中,包含的数据目录节点都加入到基础存储池中。
取值:
path:数据目录级别。
server:服务器级别。
rack:机架级别。
room:机房级别。
默认值为server。
注意如果故障域级别为room或者rack,则必须使用拓扑文件导入方式进行初始化
--iscsi-port ISCSI_PORT 指定iSCSI端口号。
取值:整型,取值为[1, 65535],默认端口为3260。
--port-range PORT1-PORT2 指定端口范围。存储服务以及未指定端口的服务将从此范围中自动取值。
取值:整型,取值范围为[1, 65535],PORT1为端口范围最小值,PORT2为端口范围最大值,且PORT1且PORT1 < PORT2。PORT1默认取值为20000,PORT2默认取值为20500。
说明建议指定的端口范围至少包含500个端口。
--data-port1 DATA_PORT1 指定数据端口1(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--management-port1 MANAGEMENT_PORT1 指定管理服务端口1。
取值:整型,取值范围为[1, 65535]。
--management-port2 MANAGEMENT_PORT2 指定管理服务端口2。
取值:整型,取值范围为[1, 65535]。
--management-port3 MANAGEMENT_PORT3 指定管理服务端口3。
取值:整型,取值范围为[1, 65535]。
--management-port4 MANAGEMENT_PORT4 指定管理服务端口4。
取值:整型,取值范围为[1, 65535]。
--management-port5 MANAGEMENT_PORT5 指定管理服务端口5(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--management-port6 MANAGEMENT_PORT6 指定管理服务端口6。
取值:整型,取值范围为[1, 65535]。
--metadata-port1 METADATA_PORT1 指定元数据端口1(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--metadata-port2 METADATA_PORT2 指定元数据端口2(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--metadata-port3 METADATA_PORT3 指定元数据端口3(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--metadata-port4 METADATA_PORT4 指定元数据端口4(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--metadata-port5 METADATA_PORT5 指定元数据端口5(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--metadata-port6 METADATA_PORT6 指定元数据端口6(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--metadata-port7 METADATA_PORT7 指定元数据端口7(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--metadata-port8 METADATA_PORT8 指定元数据端口8(仅集群版支持)。
取值:整型,取值范围为[1, 65535]。
--cs SERVER_IP,SERVER_IP,SERVER_IP 指定协调服务的地址(仅集群版支持)。如果填写,必须填写集群中的3个IP地址。协调服务的地址默认为集群中的前3个IP地址。
取值:IPv4或[IPv6]地址。
--mdm SERVER_IP,SERVER_IP 指定元数据管理服务的地址(仅集群版支持)。如果填写,必须填写集群中的2个IP地址。如果不填写,元数据管理服务的地址默认为集群中的前2个IP地址。
取值:IPv4或[IPv6]地址。
--ls SERVER_IP,SERVER_IP,SERVER_IP 指定日志服务的地址(仅集群版支持)。如果填写,必须填写集群中的3个IP地址。如果不填写,日志服务的地址默认为集群中的前3个IP地址。
取值:IPv4或[IPv6]地址。
示例
示例1
初始化HBlock(单机版)。
[root@hblockserver CTYUN_HBlock_Plus_3.7.0_x64]# ./stor setup -n test -s 192.168.0.69:/mnt/storage01,/mnt/storage02
Please enter password:
**********
Start to setup HBlock, please wait.
Processing...
Setup successfully and the HBlock services have been started.
Welcome to HBlock!
You are using a 30-day trial version. Please follow the steps to get a license.
1. Run "stor info --serial-id" to get the serial ID of the HBlock
2. Contact the software vendor to obtain a license
3. Run "stor license add -k KEY" to import the license
Type 'stor --help' to get more information, such as managing LUNs, targets, servers, etc.
示例2
初始化HBlock(集群版):集群拓扑使用服务器方式。
[root@hblockserver CTYUN_HBlock_Plus_3.7.0_x64]# ./stor setup -n test -s 192.168.0.209:/mnt/storage01,/mnt/storage02 192.168.0.121:/mnt/storage01 192.168.0.72:/mnt/storage01
Please enter password:
**********
Start to setup HBlock, please wait.
Processing...
Setup successfully and the HBlock services have been started.
Welcome to HBlock!
You are using a 30-day trial version. Please follow the steps to get a license.
1. Run "stor info --serial-id" to get the serial ID of the HBlock
2. Contact the software vendor to obtain a license
3. Run "stor license add -k KEY" to import the license
Type 'stor --help' to get more information, such as managing LUNs, targets, servers, etc.
示例3
初始化HBlock(集群版):集群拓扑使用拓扑文件导入方式。
[root@hblockserver CTYUN_HBlock_Plus_3.7.0_x64]# ./stor setup -n stor -p ********** --topology-file /mnt/storage01/topology.txt --fault-domain path
Start to setup HBlock, please wait.
Processing...
Setup successfully and the HBlock services have been started.
Welcome to HBlock!
You are using a 30-day trial version. Please follow the steps to get a license.
1. Run "stor info --serial-id" to get the serial ID of the HBlock
2. Contact the software vendor to obtain a license
3. Run "stor license add -k KEY" to import the license
Type 'stor --help' to get more information, such as managing LUNs, targets, servers, etc.
拓扑文件源码如下:
{
"name": "default",
"childNodes": [
{
"name": "room1",
"type": "room",
"childNodes": [
{
"type": "server",
"name": "server1",
"ip": "192.168.0.192",
"apiPort": 1443,
"childNodes": [
{
"name": "/mnt/stor",
"type": "path"
},
{
"name": "/mnt/storage01",
"type": "path"
}
]
},
{
"type": "server",
"name": "server2",
"ip": "192.168.0.110",
"apiPort": 1443,
"childNodes": [
{
"name": "/mnt/stor",
"type": "path"
}
]
},
{
"type": "server",
"name": "server3",
"ip": "192.168.0.102",
"apiPort": 1443,
"childNodes": [
{
"name": "/mnt/stor",
"type": "path"
}
]
}
]
}
]
}