青蛙小白

构建第一个Hyperledger Fabric网络

0.Hyperledger Fabric学习笔记目录 Hyperledger Fabric的安装和体验 初识Hyperledger Fabric网络节点和交易流程 Hyperledger Fabric 1.0的架构 构建第一个Hyperledger Fabric网络 通过前面学习,已经对Hyperledger Fabric的架构、网络节点、交易流程有了初步的认识,并且快速搭建和体验了一下fabric-samples-1.0.6中的basic-network示例。 学习也是一个不断迭代和深入的过程,本篇我们将按照Hyperledger Doc: Building Your First Network,体验fabric-samples-1.0.6中的first-network示例。

初识Hyperledger Fabric网络节点和交易流程

0.Hyperledger Fabric学习笔记目录 Hyperledger Fabric的安装和体验 初识Hyperledger Fabric网络节点和交易流程 Hyperledger Fabric 1.0的架构 构建第一个Hyperledger Fabric网络 1.Hyperledger Fabric的节点类型 前面我们使用docker-compose和fabric-samples-1.0.6中的basic-network示例快速体验了一下fabric。 当时通过docker ps查看启动了下面几个容器: afe407ae5e26 hyperledger/fabric-peer:x86_64-1.0.6 "peer node start" 46 seconds ago Up 45 seconds 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com 33639c048aa7 hyperledger/fabric-tools:x86_64-1.0.6 "/bin/bash" 48 seconds ago Up 46 seconds cli 6f1b776e18a4 hyperledger/fabric-orderer:x86_64-1.0.6 "orderer" 48 seconds ago Up 46 seconds 0.0.0.0:7050->7050/tcp orderer.example.com ead19674da34 hyperledger/fabric-couchdb:x86_64-1.0.6 "tini -- /docker-ent…" 48 seconds ago Up 46 seconds 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp couchdb 9117f3913913 hyperledger/fabric-ca:x86_64-1.0.6 "sh -c 'fabric-ca-se…" 48 seconds ago Up 46 seconds 0.0.0.0:7054->7054/tcp ca.example.com 这其中就是Hyperledger Fabric的网络节点。网络节点是区块链通信的主体。这里使用docker-compose启动的basic-network示例运行在一台物理机上,实际上会运行在网络中不同的机器上。

#Linux

通过 Linux 块设备统计信息监控 OpenStack Cinder 卷迁移进度

背景 在 OpenStack 私有云环境中,Cinder 卷迁移是一个常见的运维操作。当需要对存储后端进行维护、升级,或者需要在不同存储池之间平衡负载时,都会涉及到卷迁移。 然而 Cinder API 在卷迁移方面存在一个明显的不足:它不提供实时的迁移进度信息。当你执行 cinder migrate 命令后,只能通过 cinder show <volume-id> 查看卷的 migration_status 字段,而这个字段只会显示 migrating 或 success/error 这样的状态,无法得知当前已经迁移了多少数据,还需要等待多长时间。

#Prometheus

使用Prometheus的blackbox_exporter进行网络监控

Prometheus提供了一个blackbox_exporter可以实现网络监控,支持http、dns、tcp、icmp等监控。 blackbox_exporter的配置 blackbox_exporter以下面的命令运行: blackbox_exporter --web.listen-address=:9115 --config.file=blackbox.yml 其中9115是这个exporter的http端点的监听端口,blackbox.yml是它的配置文件,需要在其中使用blackbox_exporter的http、dns、tcp、icmp等prober定制配置出各种监测模块(module)。关于blackbox_exporter的配置具体参考Blackbox exporter configuration和Blackbox exporter configuration Exmaple。下面的例子是一个最基本的配置:

#Kubernetes #Docker

Kubernetes Pod无法删除,Docker: Device is busy问题的解决

问题发现 最近测试环境Kubernetes集群的两台主机重启后,发现这两台主机上(CentOS 7.3)的Pod无法删除。 发现这个问题的经过如下: 某个服务的自动发布触发后,监控系统告警有Pod处于Terminated状态,具体去查看发现前面重启过的两台主机上因为服务发布需要被删掉的Pod一直处于Terminated: ExitCode状态。因为是测试环境,开始没有特别关注,而是直接使用kubectl delete pod <podname> --namespace=<namspacer> --grace-period=0 --force尝试将有问题Pod强制删除,结果强制删除不起作用。马上觉得问题可能没有那么简单,于是分别登录到这两台主机上通过docker ps -a查看对应docker容器的状态,发现这两个Pod的docker容器处于Dead状态。使用docker rm <container id>,提示Device is Busy,无法删除。