智汀云盘-网盘开发golang:物理分区管理

fangcloud 723 2022-06-03

本文转载自网络公开信息

1. 物理分区管理

物理分区的管理需要通过GPRC + Protobuf 调用LVM的服务进行操作,在每一次操作前都需要进行GRPC连接,后文不再赘述,默认连接已建立

gRPC连接:

conn, err := grpc.Dial(config.ExtServerSetting.LvmServer, grpc.WithInsecure()) if err != nil {     …… } defer conn.Close() client := proto.NewDiskManagerClient(conn)

1.1 添加物理分区到存储池

填充指定结构体,生成请求,并添加物理分区到存储池:

ctx := context.Background() createReq := proto.VolumeGroupCreateOrExtendReq{     VGName: req.PoolName,     PVName: req.DiskName, } result, err := client.VolumeGroupExtend(ctx, &createReq)

1.2 获取物理分区列表

获取物理分区列表:

VList, err := client.PhysicalVolumeList(ctx, &proto.Empty{})

解析并获取VList内的数据,并填入至变量中响应客户端请求:

for _, pv := range VList.PVS {     if pv.VGName == "" {         info := &ListResp{             Id:          pv.UUID,             Name:        pv.Name,             VGName:      pv.VGName,             Capacity:    pv.Size,         }         list = append(list, info)     } } totalRow = int64(len(list)) response.HandleResponseList(c, err, &list, totalRow)

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表亿方云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱daifeng@360.cn 处理。
上一篇:皇冠正版《企业资源规划(ERP)模拟实训教程(配光盘)(大学生(ERP沙盘模拟企业经营实训教程书籍)
下一篇:个人和企业搭建网站主要流程和步骤详解(公司网站搭建流程)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~