Internet DRAFT - draft-zeng-nvo3-l3-vm-migration

draft-zeng-nvo3-l3-vm-migration











     
     
    Network Virtualization Overlays                               L. Zeng 
    Internet Draft                                     Tsinghua University 
    Intended status: Informational                           June 12, 2014 
    Expires: December 2014 
                                       
     
                                          
                    Layer 3 Cross-site VM Live Migration Scheme 
                      draft-zeng-nvo3-l3-vm-migration-00.txt 


    Status of this Memo 

       This Internet-Draft is submitted in full conformance with the 
       provisions of BCP 78 and BCP 79.  

       Internet-Drafts are working documents of the Internet Engineering 
       Task Force (IETF), its areas, and its working groups.  Note that 
       other groups may also distribute working documents as Internet-Drafts. 

       Internet-Drafts are draft documents valid for a maximum of six months 
       and may be updated, replaced, or obsoleted by other documents at any 
       time.  It is inappropriate to use Internet-Drafts as reference 
       material or to cite them other than as "work in progress." 

       The list of current Internet-Drafts can be accessed at 
       http://www.ietf.org/ietf/1id-abstracts.txt 

       The list of Internet-Draft Shadow Directories can be accessed at 
       http://www.ietf.org/shadow.html 

       This Internet-Draft will expire on December 12, 2014. 

    Copyright Notice 

       Copyright (c) 2014 IETF Trust and the persons identified as the 
       document authors. All rights reserved. 

       This document is subject to BCP 78 and the IETF Trust's Legal 
       Provisions Relating to IETF Documents 
       (http://trustee.ietf.org/license-info) in effect on the date of 
       publication of this document. Please review these documents carefully, 
       as they describe your rights and restrictions with respect to this 
       document. Code Components extracted from this document must include 
       Simplified BSD License text as described in Section 4.e of the Trust 
       Legal Provisions and are provided without warranty as described in 
       the Simplified BSD License. 

     
     
     
    Zeng                  Expires December 12, 2014               [Page 1] 
     
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

    Abstract 

       This document utilizes software-defined network (SDN) to propose a 
       cross-site live VM migration scheme in layer 3 environment. The 
       architecture and main components are described in detail. The 
       components include central controller, local controller, gateway and 
       virtual switch, which are in charge of cross-site communication 
       management, in-site network configuration, inter-site connection and 
       VM address resolution respectively. This scheme can implement layer 3 
       cross-site VM migration without using complex mechanism. 

    Table of Contents 

        
       1. Introduction ................................................ 2 
       2. Conventions used in this document............................ 3 
          2.1. Requirements Language................................... 3 
          2.2. Definitions ............................................ 3 
       3. Scheme Architecture ......................................... 4 
       4. Component Detail ............................................ 5 
          4.1. Central SDN Controller.................................. 5 
          4.2. Local SDN Controller.................................... 6 
          4.3. Gateway ................................................ 7 
          4.4. Virtual Switch ......................................... 7 
       5. Migration Process ........................................... 7 
       6. Security Considerations..................................... 11 
       7. IANA Considerations ........................................ 11 
       8. Conclusions ................................................ 11 
       9. References ................................................. 11 
          9.1. Normative References................................... 11 
       10. Acknowledgments ........................................... 11 
        
    1. Introduction 

       The support of Virtual Machine (VM) mobility is an important feature 
       of nvo3. This document describes a VM live migration scheme which 
       addresses several network related issues of this problem. The scheme 
       mainly concerns VM live migration between different data centers, 
       especially the ones with different subnets. As for live migration of 
       VM, it is defined as the mobility of VM while retaining the VM's 
       addresses and communication status. 

       The scheme in this document utilizes SDN to control and configure 
       data center network. SDN's global network view and flexible 
       forwarding control make it possible to quickly change routing and 
       provide peer to peer forwarding which enables cross-subnet connection. 
       These features help simplify the scheme. 
     
     
    Zeng                  Expires December 12, 2014               [Page 2] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

    2. Conventions used in this document 

    2.1. Requirements Language 

       The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
       "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
       document are to be interpreted as described in RFC-2119 [RFC2119].  

       In this document, these words will appear with that interpretation   
       only when in ALL CAPS. Lower case uses of these words are not to be    
       interpreted as carrying RFC-2119 significance. 

    2.2. Definitions 

       live migration: VM can keep communication while migration. 

       flow: forwarding rules configured in switches. 

       host: physical machine which hosts VMs and virtual switch. 



























     
     
    Zeng                  Expires December 12, 2014               [Page 3] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

    3. Scheme Architecture 

       +--------------------------------------------------------------+ 
       |                   +----------------+                         | 
       |                   |     Central    |                         | 
       |                   |   Controller   |                         | 
       |                   +-----*----*-----+                         | 
       |                         |    |                               | 
       |              +----------+_   +-----------+                   | 
       |              |                           |                   | 
       |              |                    +------*-------+           | 
       |     Control  |                    |  Data Center |           | 
       |       API    |                    +----------**--+           | 
       |              |                               ||  Internet    | 
       |              |                               || Connection   | 
       |   +----------|-------------------------------||----------+   | 
       |   |          |                               ||          |   | 
       |   |   +------*------+    Data Center    +----**-----+    |   | 
       |   |   |    Local    |                   |  Gateway  |    |   | 
       |   |   |  Controller |                   +--*----*---+    |   | 
       |   |   +---*------*--+                      |    |        |   | 
       |   |       |      |                         |    |        |   | 
       |   |       |      +-------------------------+    |        |   |  
       |   |       | Control                             |        |   | 
       |   |       |   API        +--------+             |        |   | 
       |   |       +--------------*  SDN   *-------------+        |   | 
       |   |       |              | Switch |    Data              |   | 
       |   |       |              +--*--*--+    Path              |   | 
       |   |       |  +--------+     |  |        +-------+        |   | 
       |   |       +--*  SDN   *-----+  +--------*       |        |   | 
       |   |       |  | Switch |                 |  SDN  |        |   | 
       |   |       |  +---*----+                 | Switch|        |   | 
       |   |       +------|----------------------*       |        |   | 
       |   |    +--|------|--------------+       +---*---+        |   | 
       |   |    |  |      |              |           |            |   | 
       |   |    |  |    +-*---------+    |      +--------+        |   | 
       |   |    |  +----*  Virtual  |    |      |  Host  |        |   | 
       |   |    |       |   Switch  |    |      +--------+        |   | 
       |   |    |       +--*------*-+    |                        |   | 
       |   |    | Host     |      |      |                        |   | 
       |   |    |          |      |      |                        |   | 
       |   |    |      +---*--+ +-*----+ |                        |   | 
       |   |    |      |  VM  | |  VM  | |                        |   | 
       |   |    |      +------+ +------+ |                        |   | 
       |   |    +------------------------+                        |   | 
       |   +------------------------------------------------------+   | 
       +--------------------------------------------------------------+ 
     
     
    Zeng                  Expires December 12, 2014               [Page 4] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

        
                  Figure 1 VM Live Migration Scheme Architecture 

       The scheme architecture is shown in figure 1. VMs are interconnected 
       by intra data center network, which is controlled by local SDN 
       controller. All SDN controllers in different data center are 
       connected with central SDN controller, which is in charge of cross-
       site VM migration. Cross-site migration process is invoked by central 
       SDN controller. Central SDN controller stores VMs' location and 
       communication information, using this information, it can calculate 
       which data centers are involved in the migration process and the job 
       types each data center needs to handle, e.g. setting up migration 
       path, changing routing. After calculation, central controller notices 
       the involved local controllers to configure each intra data center 
       network to complete the migration process. 

    4. Component Detail 

    4.1. Central SDN Controller 

       Central SDN controller is in charge of cross-site communication. It 
       needs to store information like VMs' location and communication pairs, 
       and to have the ability to calculate and dispatch the configuration 
       jobs. 

       Central SDN controller do not need to configure the network devices 
       by itself, this work is done by local controllers. The central 
       controller only needs to notice the involved local controller its job 
       type and configuration parameters. 

       Job types include setting up migration path and changing routing. 
       Setting up migration path refers to connect the source host and the 
       destination host before copying the VM's disk and memory, it involves 
       intra and inter data center connection configuration. Changing 
       routing means to calculate and configure the changed routing path 
       caused by VM migration. This work can be conducted during the 
       migration process to minimize the service down time. 

       Setting up migration path needs parameters like source host, source 
       data center, VM IP and MAC addresses, destination host and 
       destination data center. Central controller divides the connection 
       configuration into three parts, source host to source data center 
       gateway, source data center gateway to destination data center 
       gateway and destination data center gateway to destination host and 
       respectively notices the source and destination data centers' local 
       controllers to configure the switches and gateways. 

     
     
    Zeng                  Expires December 12, 2014               [Page 5] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

       Changing routing needs parameters like VM IP and MAC addresses and 
       virtual network (VN) ID. Central controller needs to search its 
       database to find VMs of the same VN belongs to which data centers and 
       then notices the data centers' local controller to calculate and 
       modify the flows related to the migrating VM. 

    4.2. Local SDN Controller 

       Local SDN controller is in charge of the network configuration issues. 
       Each local controller controls the physical network (include physical 
       switches, virtual switches, gateway, etc.) of the data center it 
       belongs to. Local controller should have at least two functions: 
       network configuration and communication with central controller. 
       Network configuration function mainly manages the forwarding logic of 
       the data center, more specifically, it manages network virtualization, 
       communication within VNs and communication between different data 
       centers. 

       Network virtualization can be realized by setting VLAN, classifying 
       MAC address, etc. The way to virtualize the network is not specified 
       in this document, different data centers can even implement network 
       virtualization in different ways as long as VMs in different data 
       centers, but of the same VN can communicate with each other. 

       Communication within VNs function can be provided by classical 
       forwarding methods, like MAC-learning, OSPF, etc. These methods 
       should be implemented as controller modules which can automatically 
       set up the route. Cross-site forwarding is like intra-site forwarding 
       in most aspects, if the local controller identifies a certain 
       communication as cross-site communication, it should forward the 
       packets to gateway and notices the central controller to configure 
       the relative data center's local controller to set up the remaining 
       path. After receiving the notice from central controller, the other 
       local controller needs to forward the packets from gateway to its 
       destination VM. 

       Communication between different data centers is implemented by 
       inserting NAT flows to the gateways of the involved data centers. 
       Gateways should have one or more public IPs, if a flow is identified 
       as a cross-site flow, central controller assigns a source public IP, 
       destination public IP and TCP port tuple as the flow's ID. After that, 
       the central controller notices the local controllers to insert NAT 
       flows to the gateways. At the source gateway, the NAT flow replaces 
       the packets' source IP, MAC addresses with the gateway's addresses, 
       replaces the TCP port with the assigned port number, and replaces the 
       packets' destination IP, MAC addresses with the destination gateway's 
       addresses. At the destination gateway, the NAT flow does the reverse 
     
     
    Zeng                  Expires December 12, 2014               [Page 6] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

       process and recovers the packets' headers. If VM's status is changed 
       or the flow is no longer needed, central controller should notice the 
       local controllers to delete the flows and release the TCP port. 

    4.3. Gateway 

       Gateway's main function is to support inter data center communication 
       and user to VM's communication. Inter data center communication's 
       process is explained in 4.2. User to VM's communication's process is 
       almost the same but only involves one gateway. 

       One data center can deploy one or more gateways to balance the load, 
       or even one gateway per VN per data center to simplify the VN 
       implementation. To support NAT flows, gateway should support packet 
       header modification action of at least MAC, IP, and TCP fields. 

    4.4. Virtual Switch 

       Virtual switches are usually deployed at the host server in which the 
       VMs nest. As the last hop of the whole network, virtual switches 
       provide not only the basic forwarding function but also the address 
       resolution function. After migration, VM is usually in a different 
       subnet, which can impede the normal address resolution process. To 
       avoid this, virtual switches need to identify all ARP packets and 
       upload them to the local controller to process them. With the ARP 
       packets, local controller can recognize the destination VM and set up 
       the forwarding path accordingly. After that, it can reply the source 
       VM with the destination VM's MAC address and the source VM can start 
       communication. 

    5. Migration Process 

       This section describes the timeline of the migration process. The 
       whole migration process is divided into three parts: pre-migration, 
       migration and post-migration. 











     
     
    Zeng                  Expires December 12, 2014               [Page 7] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

       +--------------------------------------------------------------+ 
       |   Central Controller(CC)     Source Local     Destination    | 
       |                  |          Controller (SLC) Local Controller| 
       |             +----*----+             |             (DLC)      | 
       |             | receive |             |                |       | 
       |             |migration|             |                |       | 
       |             | request |             |                |       | 
       |             +----*----+             |                |       | 
       |                  |                  |                |       | 
       |             +----*----+             |                |       | 
       |             |  query  |             |                |       | 
       |             | database|             |                |       | 
       |             +----*----+             |                |       | 
       |                  |   deploy jobs    |                |       | 
       |                  *------------------*                |       | 
       |                  |                  |                |       | 
       |                  *------------------|----------------*       | 
       |   Pre-migration  |                  |                |       | 
       |     Phase        |            +-----*-----+    +-----*------+| 
       |                  |            | calculate |    |  calculate || 
       |                  |            |   route   |    |    route   || 
       |                  |            | from host |    |from gateway|| 
       |                  |            | to gateway|    |   to host  || 
       |                  |            +-----*-----+    +-----*------+| 
       |                  |                  |                |       | 
       |                  |            +-----*-----+    +-----*------+| 
       |                  |            | configure |    |  configure || 
       |                  |            |  switches |    |   switches || 
       |                  |            +-----*-----+    +-----*------+| 
       |             +----*----+             |                |       | 
       |             | Allocate|             |                |       | 
       |             | TCP port|             |                |       | 
       |             | for NAT |             |                |       | 
       |             +----*----+             |                |       | 
       |                  |  deploy NAT jobs |                |       | 
       |                  *------------------*                |       | 
       |                  |                  |                |       | 
       |                  *------------------|----------------*       | 
       |                  |                  |                |       | 
       |                  |             +----*----+      +----*----+  | 
       |                  |             |configure|      |configure|  | 
       |                  |             | gateway |      | gateway |  | 
       |                                +---------+      +---------+  | 
       +--------------------------------------------------------------+ 
        
                           Figure 2 Pre-migration Phase 

     
     
    Zeng                  Expires December 12, 2014               [Page 8] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

       o Pre-migration Phase 

       Pre-migration phase has one main object, which is to set up the 
       routing path for image copy. This object is fulfilled by three steps: 
       First, central SDN controller receives the migration request, which 
       contains the VM's IP address and the destination host name, then the 
       central controller queries the VM's MAC address, source and 
       destination data centers' local controllers' addresses. After the 
       query, the central controller deploys the forwarding job to the 
       involved local controllers. Second, the local controllers set up the 
       path from host to gateway. And last, the local controllers configure 
       the gateway to connect the two data centers. The NAT parameters are 
       provided by the central controller within the job request. 

       +--------------------------------------------------------------+ 
       |                 CC                 SLC              DLC      | 
       |                  |      start       |                |       | 
       |                  |    VM migration  |                |       | 
       |                  *------------------*                |       | 
       |                  |                  |                |       | 
       |                  |            +-----*-----+          |       | 
       |                  |            |   start   |          |       | 
       |           +------*------+     |disk/memory|          |       | 
       |           |  calculate  |     |   copy    |          |       | 
       |           |route changes|     +-----*-----+          |       | 
       |           +------*------+           |   data copy    |       | 
       |                  |                  *----------------*       | 
       |                  |   deploy jobs    |                |       | 
       |                  *------------------*                |       | 
       |                  |                  |                |       | 
       |                  *------------------|----------------*       | 
       |   Migration      |                  |                |       | 
       |     Phase        |            +-----*-----+    +-----*-----+ | 
       |                  |            | configure |    | configure | | 
       |                  |            |  switches |    |  switches | | 
       |                  |            | to update |    | to update | | 
       |                  |            |   flows   |    |   flows   | | 
       |                  |            +-----------+    +-----------+_| 
       +--------------------------------------------------------------+ 
        
                             Figure 3 Migration Phase 

       o Migration Phase 

       In migration phase, hypervisors conduct the VM migration process. 
       During this time, the SDN controllers can calculate and configure the 
       route changes caused by migration to minimize the VM's service down 
     
     
    Zeng                  Expires December 12, 2014               [Page 9] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

       time. In order not to disturb the ongoing communication, in this 
       phase, only the flows which do not impact the service are added or 
       updated. Other flows are updated after migration is completed. 

       +--------------------------------------------------------------+ 
       |                  CC                SLC              DLC      | 
       |                  |                  |                |       | 
       |                  |                  |  VM migration  |       | 
       |                  |                  |    complete    |       | 
       |                  |                  *----------------*       | 
       |  Post-migration  |                  |                |       | 
       |     Phase        |            +-----*-----+    +-----*------+| 
       |                  |            | configure |    |  configure || 
       |                  |            |  switches |    |   switches || 
       |                  |            | to update |    |  to update || 
       |                  |            |   flows   |    |    flows   || 
       |                  |            +-----*-----+    +-----*------+| 
       |                  |migration complete|                |       | 
       |                  |   notification   |                |       | 
       |                  *------------------*----------------*       | 
       |                  |                  |                |       | 
       |              +---*----+       +-----*-----+     +----*----+  | 
       |              | update |       |  unplug   |     | boot up |  | 
       |              |database|       |  virtual  |     |   VM    |  | 
       |              +---*----+       | interface |     +----*----+  | 
       |                  |            +-----*-----+          |       | 
       |                  |                  |                |       | 
       |                  |            +-----*-----+    +-----*-----+ | 
       |                  |            |  delete   |    |  delete   | | 
       |                  |            |  NAT and  |    |  NAT and  | | 
       |                  |            | disk copy |    | disk copy | | 
       |                  |            |   flows   |    |   flows   | | 
       |                  |            +-----*-----+    +-----*-----+ | 
       |                  |  clean complete  |                |       | 
       |                  *------------------*                |       | 
       |                  |   notification   |                |       | 
       |                  *------------------|----------------*       | 
       |                  |                  |                |       | 
       |            +-----*-----+            |                |       | 
       |            |  release  |            |                |       | 
       |            | TCP port  |            |                |       | 
       |            +-----------+            |                |       | 
       +--------------------------------------------------------------+ 
        
                           Figure 4 Post-migration Phase 

       o Post-migration Phase 
     
     
    Zeng                  Expires December 12, 2014              [Page 10] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

       This phase mainly does some clean work, including deleting disk copy 
       flows, release NAT resources, etc. Besides these, some route changes 
       need to be configured after the VM migration to avoid unnecessary 
       service down (like ingress and egress flows). 

    6. Security Considerations 

       This requirements document does not raise in itself any specific 
       security issues. 

    7. IANA Considerations 

       IANA does not need to take any action for this draft. 

    8. Conclusions 

       This document proposes a scheme for layer 3 cross-site VM live 
       migration and describes its architecture, main components and process 
       phases. 

    9. References 

    9.1. Normative References 

       [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 
                 Requirement Levels", BCP 14, RFC 2119, March 1997. 

       [I-D.ietf-nvo3-vm-mobility-issues] Rekhter, Y., Henderickx, W., 
                 Shekhar, R., Fang, L., Dunbar, L., and A. Sajassi, 
                 "Network-related VM Mobility Issues", draft-ietf-nvo3-vm-
                 mobility-issues-02 (work in progress), June 2014. 

    10. Acknowledgments 

       This work is supported by Chinese National Major Scientific and 
       Technological Specialized Project (No.~2013ZX03002001), National 
       Basic Research Program of China (973 Program Grant No.~2013CB329105), 
       China's Next Generation Internet (No.~CNGI-12-03-007), and ZTE 
       Corporation. 

       This document was prepared using 2-Word-v2.0.template.dot. 






     
     
    Zeng                  Expires December 12, 2014              [Page 11] 
        
    Internet-Draft    Layer 3 Cross-site VM Live Migration Scheme June 2014 
        

     Authors' Addresses 

       Lieguang Zeng 
       Department of Electronic Engineering, Tsinghua University 
       Department of Electronic Engineering, Tsinghua University, Beijing, 
       China 
          
       Email: zenglg@mail.tsinghua.edu.cn 
        
       Xu Yang 
       Department of Electronic Engineering, Tsinghua University 
       Department of Electronic Engineering, Tsinghua University, Beijing, 
       China 
          
       Email: yxpoke@sina.com 
        
       Mao Yang 
       Department of Electronic Engineering, Tsinghua University 
       Department of Electronic Engineering, Tsinghua University, Beijing, 
       China 
          
       Email: yangmao210@163.com 
        

       Yong Li 
       Department of Electronic Engineering, Tsinghua University 
       Department of Electronic Engineering, Tsinghua University, Beijing, 
       China 
          
       Email: liyong07@tsinghua.edu.cn 
        
       Depeng Jin 
       Department of Electronic Engineering, Tsinghua University 
       Department of Electronic Engineering, Tsinghua University, Beijing, 
       China 
          
       Email: jindp@mail.tsinghua.edu.cn 
        
       Li Su 
       Department of Electronic Engineering, Tsinghua University 
       Department of Electronic Engineering, Tsinghua University, Beijing, 
       China 
          
       Email: lisu@tsinghua.edu.cn 
        


     
     
    Zeng                  Expires December 12, 2014              [Page 12]