`

云计算 -----资源分配

 
阅读更多

    在云计算系统中所有的存储、网络、内存、计算、IO都是资源,这些资源都应该可以细粒度化分配。即网络,可以限定某一个进程所可以使用的带宽,可以现在某一个会话的总带宽,或者可以限制某一个用户的总带宽,其他资源依次类似。

     存储

     对于存储资源,为用户分配定量的存储资源。构建分布式文件系统,监控用户使用文件系统的资源量。

     对于文件系统的限定,可以采用Quota技术实现,Quota可以支持对于用户的磁盘限额和对用户组的磁盘限额,目前Linux和Windows均有相应的文件系统支持Quota。

     当并非所有的文件系统,尤其是分布式文件系统支持磁盘限额,此时需要借助于其他方法实现。Quota是系统层级别的限定,当时使用文件系统读写时,判断用户的操作是否超过配额。我们可以考虑在应用层对用户进行磁盘限额,当用户需要向云存储中添加文件时,对用户添加的文件进行扫描,查看添加这个文件将是否超过用户的限额,如果未超过配额,则支持上传;如果将这个文件加入到云存储中发送超出配额,则提示配额已满,无法添加。这样存在一个问题,当用户通过软件写入到文件系统时,则无法有效的对用户进行限额。这是就考虑在用户测的虚拟机中的驱动层,进行过滤操作,判断是否写入到云存储,若是,则定量修改用户的磁盘使用量,做到较为实时的磁盘监控。

 

      计算资源---CPU

      CPU是云计算最为重要的资源。对CPU的资源细粒度分配也是云计算的一个重要的特性。

      CPU的资源分配粒度:虚拟机、虚拟会话、虚拟应用这三个层次。

      1、虚拟机即一台完整的虚拟机,对其CPU分配,即为一个虚拟机的运行分配额定的CPU限额。

      2、虚拟会话,一个虚拟机可以包含多个虚拟会话,即可以同时多个用户登录,使用虚拟机。对于虚拟会话的分配,即限定某一个会话所占用的CPU率,会话的CPU率,即会话所生成的进程的CPU率总和,最终落到了进程的CPU占用率。

     3、虚拟应用,即对虚拟机中的进程CPU的占用率进行分配,限定某一个进程的CPU利用率。

     CPU的资源分配,可以采用CPULimit。项目的地址:http://cpulimit.sourceforge.net/    CPULImit是一个开源的CPU使用限制工具,可以针对某个进程名,PID来限制CPU的使用率。它不是作用在CPU时间上和调度优先级上,而是作用在真正的CPU利用率上。当然可以和CPU的调度优先级Nice来一起使用,做到调度和占用率的资源分配。

     对于虚拟机的分配,因为每一台虚拟机在物理服务器中是一个单独的进程,我们可以在物理服务器上使用CPULimit,达到对虚拟机的CPU使用率的分配。     对于虚拟会话,可以在虚拟机中使用CPULimit对会话用于的进程的CPU占用率来限定会话的CPU利用率,但是在这里需要考虑到动态的进程CPU率限定。     对于虚拟应用,直接在虚拟机中使用CPULimit来分配应用进程的CPU占用率。

 

   I/O资源

 

 

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics