详见 https://github.com/opencurve/curveadm/wiki/overview
CurveBS 集群
升级内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
#查看最新版内核: yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#安装最新版:
yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel –y
#查看当前可用内核版本:
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
#选择最新内核版本,0代表查看当前可用内核版本列表的左侧索引号
grub2-set-default 0
#生成grub文件
grub2-mkconfig -o /boot/grub2/grub.cfg
#重启linux
reboot
格式化磁盘
vim format.yaml
user: root
ssh_port: 22
private_key_file: /root/.ssh/id_rsa
host:
- 10.0.2.4
- 10.0.2.5
- 10.0.2.6
disk:
- /dev/sdb:/data/chunkserver0:90 # device:mount_path:format_percent
- /dev/sdc:/data/chunkserver1:90
- /dev/sdd:/data/chunkserver2:90
curveadm format -f format.yaml
准备集群拓扑文件
vim topology.yaml
kind: curvebs
global:
user: root
ssh_port: 22
private_key_file: /root/.ssh/id_rsa
container_image: registry.cn-shanghai.aliyuncs.com/yutao517/curvebs:v1.2
log_dir: /home/${user}/logs/${service_role}${service_replica_sequence}
data_dir: /home/${user}/data/${service_role}${service_replica_sequence}
s3.ak: <>
s3.sk: <>
s3.nos_address: <>
s3.snapshot_bucket_name: <>
variable:
machine1: 10.0.2.4
machine2: 10.0.2.5
machine3: 10.0.2.6
etcd_services:
config:
listen.ip: ${service_host}
listen.port: 2380
listen.client_port: 2379
deploy:
- host: ${machine1}
- host: ${machine2}
- host: ${machine3}
mds_services:
config:
listen.ip: ${service_host}
listen.port: 6700
listen.dummy_port: 7700
deploy:
- host: ${machine1}
- host: ${machine2}
- host: ${machine3}
chunkserver_services:
config:
listen.ip: ${service_host}
listen.port: 82${format_replica_sequence} # 8200, 8201, 8202
data_dir: /data/chunkserver${service_replica_sequence} # /data/chunkserver0, /data/chunksever1, /data/chunkserver2
copysets: 100
deploy:
- host: ${machine1}
replica: 3
- host: ${machine2}
replica: 3
- host: ${machine3}
replica: 3
snapshotclone_services:
config:
listen.ip: ${service_host}
listen.port: 5555
listen.dummy_port: 8081
listen.proxy_port: 8080
deploy:
- host: ${machine1}
- host: ${machine2}
- host: ${machine3}
curveadm cluster add my-cluster -f topology.yaml
curveadm cluster checkout my-cluster
curveadm deploy
curveadm status


CurveBS 客户端
vim client.yaml
user: root
host: 10.0.2.4
ssh_port: 22
private_key_file: /root/.ssh/id_rsa
container_image: opencurvedocker/curvebs:v1.2
mds.listen.addr: 10.0.2.4:6700,10.0.2.5:6700,10.0.2.6:6700
log_dir: /root/curvebs/logs/client
curveadm map curve:/test -c client.yaml --create

详见