Fabric CA 1.4 官方文档

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

升级服务器

Fabric CA服务器必须先于Fabric CA客户端升级。在升级之前,建议 先备份当前的数据库:

  • 如果使用sqlite3,备份当前数据库文件,默认名称为fabric-ca-server.db
  • 对于其他的数据库类型,请使用相应的备份/复制机制

要升级单一实例的Fabric CA服务器:

  1. 停止fabric-ca-server进程
  2. 确保已经备份当前数据库
  3. 用新的fabric-ca-server程序替换原来的程序
  4. 启动fabric-ca-server进程
  5. 使用下面的命令验证fabric-ca-server进程有效,其中的<host>为主机名:
    fabric-ca-client getcainfo -u http://<host>:7054
    

升级集群

要升级一个使用MySQL或PostgreSQL数据库的fabric-ca-server集群,请遵循 以下步骤。假设你使用haproxy在两个fabric-ca-server实例间进行负载均衡, 假设主机host1和host2都在端口7054监听。在升级之后,将使用host3和host4 作为集群成员。

首先启用统计信息采集,以便监听变化。在haproxy配置文件中添加如下内容:

tats socket /var/run/haproxy.sock mode 666 level operator
stats timeout 2m

启动haproxy来监听变化:

# haproxy -f <configfile> -st $(pgrep haproxy)

要显示haproxy的show stat命令的摘要信息,下面的函数可以用来解析返回的 CSV数据:

haProxyShowStats() {
   echo "show stat" | nc -U /var/run/haproxy.sock |sed '1s/^# *//'|
      awk -F',' -v fmt="%4s %12s %10s %6s %6s %4s %4s\n" '
         { if (NR==1) for (i=1;i<=NF;i++) f[tolower($i)]=i }
         { printf fmt, $f["sid"],$f["pxname"],$f["svname"],$f["status"],
                       $f["weight"],$f["act"],$f["bck"] }'
}

开始时的haproxy配置文件类似如下:

server server1 host1:7054 check
server server2 host2:7054 check

将其修改为:

server server1 host1:7054 check backup
server server2 host2:7054 check backup
server server3 host3:7054 check
server server4 host4:7054 check

使用新的配置重新启动haproxy:

haproxy -f <configfile> -st $(pgrep haproxy)

haProxyShowStats现在将反应修改后的配置:

sid   pxname      svname  status  weig  act  bck
  1   fabric-cas  server3   DOWN     1    1    0
  2   fabric-cas  server4   DOWN     1    1    0
  3   fabric-cas  server1     UP     1    0    1
  4   fabric-cas  server2     UP     1    0    1

在host3和host4上升级新的fabric-ca-server程序,确保下一步之前所有成员 都在工作:

sid   pxname      svname  status  weig  act  bck
  1   fabric-cas  server3    UP     1    1    0
  2   fabric-cas  server4    UP     1    1    0
  3   fabric-cas  server1    UP     1    0    1
  4   fabric-cas  server2    UP     1    0    1

然后停止host1和host2上的旧版fabrc-ca-server程序,并修改配置文件移除:

server server3 host3:7054 check
server server4 host4:7054 check

使用新的配置文件重新启动haproxy:

haproxy -f <configfile> -st $(pgrep haproxy)

现在haProxyShowStats将反应新的集群状态:

sid   pxname      svname  status  weig  act  bck
  1   fabric-cas  server3   UP       1    1    0
  2   fabric-cas  server4   UP       1    1    0