CurveBS(二)—块存储

 

详见 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

在这里插入图片描述

详见