一种基于FCSAN存储残留路径正确显示虚机卷容量的方法与流程

文档序号:22630835发布日期:2020-10-23 19:57阅读:339来源:国知局
一种基于FC SAN存储残留路径正确显示虚机卷容量的方法与流程

本发明涉及openstack技术领域,具体的说是一种基于fcsan存储残留路径正确显示虚机卷容量的方法。



背景技术:

目前,从存储方面来说,目前有三种类型存储可供选择:

1)das(直接连接存储)

它是指将存储设备通过scsi接口或光纤通道直接连接到一台计算机上,实际上,给电脑挂个硬盘就是种简单的das。它仅允许一个服务器访问存储。

2)nas(网络连接存储)

它是将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上,允许多个服务器同时访问存储。nas相对于san存储来说价格非常便宜,对于买不起san的,可以考虑使用nas存储,因此它又被称为“poorman'ssan”。

3)san(存储区域网络)

通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑,需要专用网络(sanswitch)。它也允许多个服务器同时访问存储,性能非常好,但是价格很贵。

openstack是美国国家航空航天局和rackspace合作研发的云计算软件,以apache授权条款授权,并且是自由和开放源代码软件。它对应iaas服务模式,作为iaas层的云操作系统,openstack为虚拟机提供并管理三大类资源:计算、网络和存储。利用openstack,既可以实现公有云,也能实现私有云。openstack中open表示各种开源软件,stack表示将它们堆在一起,实现1+1>2的功能。openstack包含的主要服务有computeservice(nova)、networkservice(neutron)、imageservice(glance)、blockstorageservice(cinder)和identityservice(keystone)。

由于san存储的高性能的特点,它的使用也越来越普及起来。针对openstack云平台,许多公司都提供了自己的san存储的驱动,以便和cinder对接。但在使用的过程中发现,主机上存在的残留路径会导致云服务器中新挂载的云硬盘,看到的容量和申请的容量不一致,从而引发生产事故。



技术实现要素:

在使用openstack云平台管理虚拟机时,使用cinder对接fcsan存储后,可以执行创建卷、挂载卷等一系列卷的相关的操作。在挂载卷的过程中,发现主机即计算节点偶尔会出现残留路径,即在/dev/disk/by-path目录下会残留一些实际上已经无效但是仍然存在的路径,这些路径包含着旧的lunid信息,因此会导致云服务器中新挂载的云硬盘看到的容量和申请的容量不一致。基于此,本发明提供一种基于fcsan存储残留路径正确显示虚机卷容量的方法。

本发明的一种基于fcsan存储残留路径正确显示虚机卷容量的方法,解决上述技术问题采用的技术方案如下:

一种基于fcsan存储残留路径正确显示虚机卷容量的方法,在使用cinder组件和nova组件完成卷的挂载过程中,首先获取卷信息,完成卷的初始化并获得卷的lunid,随后,调用os-brick进行判断,判断未扫描前主机上是否有与lunid相对应的残留路径:a)如果是,则清除主机上的残留路径,调用os-brick去发现磁盘,并挂载卷到云服务器上,b)如果否,则直接调用os-brick去发现磁盘,并挂载卷到云服务器上,以保证云服务能够使用新扫描出的路径来作为云硬盘在主机上的路径。

进一步的,一种基于fcsan存储残留路径正确显示虚机卷容量的方法,其执行流程具体包括:

步骤1、部署openstack环境,规划控制节点和计算节点;

步骤2、通过fc协议,完成cinder与san存储的对接;

步骤3、在计算节点安装multipath-tools软件,用于执行multipath-ll命令;

步骤4、更改计算节点的os-brick代码;

步骤5、重启计算节点上的nova-compute服务;

步骤6、在控制节点上,创建两个fcsan卷v1和v2;

步骤7、在控制节点上,查看卷v1和v2的id;

步骤8、在计算节点上,查看hba卡的端口号;

步骤9、登录san存储的web管理系统,添加主机;

步骤10、在san存储的web管理系统上,根据volumev1的id查找v1卷,将v1卷映射给步骤9添加的主机;

步骤11、在计算节点上,执行扫描磁盘的命令;

步骤12、在计算节点上,通过multipath查看扫描出的磁盘;

步骤13、在san存储的web管理系统上,取消卷v1到步骤9所添加主机的映射;在计算节点上,继续使用multipath查看磁盘的状态,可以发现磁盘路径中出现failed关键字;

步骤14、在控制节点上,将卷v2映射给虚机c1;

步骤15、进入虚机,查看卷的容量。

更进一步的,步骤2中,完成cinder与san存储的对接后,可以对fcsan卷执行创建卷、卸载卷和挂载卷各项与卷相关的操作。

更进一步的,成功对fcsan卷执行创建卷、卸载卷和挂载卷各项与卷相关的操作时,需要让cinder-volume服务和nova-compute服务可以通过hba卡经过光纤与san存储通信,且要完成san存储驱动的相关适配。

更进一步的,步骤4中,更改计算节点的os-brick代码,指的是更改os-brick的connect_volume函数中发现设备的逻辑,使得执行扫描磁盘的动作前,首先判断扫描前是否存在残留路径,如果存在,将残留路径清除,然后再执行扫描磁盘的命令,以确保云硬盘对应的不是主机上的残留路径。

更进一步的,步骤8中,查看hba卡的端口号的命令是:systool-cfc_host-v|grepport_name。

更进一步的,执行步骤9的过程中,选择步骤9查看的端口作为主机端口,并命名主机。

更进一步的,步骤9添加主机的过程中,对于不同的san存储,添加主机的步骤需要参考具体牌子san存储的手册。

更进一步的,步骤11中,执行扫描磁盘的命令有以下两条:

1)echo"---">/sys/class/scsi_host/host1/scan,

2)echo"---">/sys/class/scsi_host/host1/scan。

更进一步的,步骤12中,查看扫描出的磁盘的命令是:multipath–ll。

本发明的一种基于fcsan存储残留路径正确显示虚机卷容量的方法,与现有技术相比具有的有益效果是:

本发明更改计算节点中os-brick代码的逻辑,使其为首先判断扫描前是否存在残留路径,如果存在,将残留路径清除,然后再执行扫描磁盘的命令,以确保云硬盘对应的不是主机上的残留路径,避免出现用户无法使用到真正容量的fcsan云硬盘的问题。

附图说明

附图1是本发明的挂在流程示意图。

具体实施方式

为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。

实施例一:

参考附图1,本实施例提出一种基于fcsan存储残留路径正确显示虚机卷容量的方法,在使用cinder组件和nova组件完成卷的挂载过程中,首先获取卷信息,完成卷的初始化并获得卷的lunid,随后,调用os-brick进行判断,判断未扫描前主机上是否有与lunid相对应的残留路径:a)如果是,则清除主机上的残留路径,调用os-brick去发现磁盘,并挂载卷到云服务器上,b)如果否,则直接调用os-brick去发现磁盘,并挂载卷到云服务器上,以保证云服务能够使用新扫描出的路径来作为云硬盘在主机上的路径。

基于本实施例的一种基于fcsan存储残留路径正确显示虚机卷容量的方法,其执行流程具体包括:

步骤1、部署openstack环境,规划控制节点和计算节点。

步骤2、通过fc协议,完成cinder与san存储的对接,以对fcsan卷执行创建卷、卸载卷和挂载卷各项与卷相关的操作。

成功对fcsan卷执行创建卷、卸载卷和挂载卷各项与卷相关的操作时,需要让cinder-volume服务和nova-compute服务可以通过hba卡经过光纤与san存储通信,且要完成san存储驱动的相关适配。

步骤3、在计算节点安装multipath-tools软件,用于执行multipath-ll命令;

步骤4、更改计算节点的os-brick代码,即更改os-brick的connect_volume函数中发现设备的逻辑,使得执行扫描磁盘的动作前,首先判断扫描前是否存在残留路径,如果存在,将残留路径清除,然后再执行扫描磁盘的命令,以确保云硬盘对应的不是主机上的残留路径。

步骤5、重启计算节点上的nova-compute服务;

步骤6、在控制节点上,创建两个fcsan卷v1和v2,v1是1g,v2是2g。

步骤7、在控制节点上,查看卷v1和v2的id;

步骤8、在计算节点上,查看hba卡的端口号,端口号通常有两个。查看hba卡的端口号的命令是:systool-cfc_host-v|grepport_name。

步骤9、登录san存储的web管理系统,添加主机。其中,主机端口选择第8步查到的2个端口;主机名称起为compute-test。添加主机的过程中,对于不同的san存储,添加主机的步骤需要参考具体牌子san存储的手册。

步骤10、在san存储的web管理系统上,根据volumev1的id查找v1卷,将v1卷映射给步骤9添加的主机;

步骤11、在计算节点上,执行扫描磁盘的命令,其命令有以下两条:

1)echo"---">/sys/class/scsi_host/host1/scan,

2)echo"---">/sys/class/scsi_host/host1/scan。

步骤12、在计算节点上,通过multipath查看扫描出的磁盘,查看扫描出的磁盘的命令是:multipath–ll。

步骤13、在san存储的web管理系统上,取消卷v1到步骤9所添加主机的映射;在计算节点上,继续使用multipath查看磁盘的状态,可以发现磁盘路径中出现failed关键字。

步骤14、在控制节点上,将卷v2映射给虚机c1。

步骤15、进入虚机,查看卷的容量,此时卷的容量是2g。

综上可知,采用本发明的一种基于fcsan存储残留路径正确显示虚机卷容量的方法,可以通过更改计算节点中os-brick代码的逻辑,确保云硬盘对应的不是主机上的残留路径,避免出现用户无法使用到真正容量的fcsan云硬盘的问题。

以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1