Operation and Management Area Working Chen. Li Group Lianyuan. Li Internet-Draft China Mobile Intended status: Standards Track Tina. TSOU Expires: May 16, 2012 Huawei November 13, 2011 Management Information Base for Load Balancers draft-li-opsawg-loadbalance-mib-03 Abstract Load balancer is deployed widely in datacenter nowadays. There is a requirement to build a unique LB network management system where two or more vendors' LB devices are used. We propose the standard MIBs for unique NMS. Load balancer description is introduced at "http://en.wikipedia.org/wiki/Load_balancing_(computing)". This memo defines an portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes a MIB module for load balance device. 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). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on May 16, 2012. Copyright Notice Copyright (c) 2011 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 Li, et al. Expires May 16, 2012 [Page 1] Internet-Draft Load Balancer MIB November 2011 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. The Internet-Standard Management Framework . . . . . . . . . . 3 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Structure of Load-Balance MIB objects . . . . . . . . . . . . 3 5. Loadbalance-MIB Module Definitions . . . . . . . . . . . . . . 4 6. Security Considerations . . . . . . . . . . . . . . . . . . . 13 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 8. Normative References . . . . . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 14 Li, et al. Expires May 16, 2012 [Page 2] Internet-Draft Load Balancer MIB November 2011 1. Introduction Load balancer is deployed widely in datacenter nowadays. There is a requirement to build a unique LB network management system where two or more vendors' LB devices are used. We propose the standard MIBs for unique NMS. This document defines 5 MIB Modules which together support the configuration and monitoring of Load Balance device. 2. The Internet-Standard Management Framework For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, [RFC2578] STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. 3. Conventions 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]. 4. Structure of Load-Balance MIB objects The following subsections describe the purpose of each of the objects contained in the loadbalance-MIB. 4.1. Load balance Virtual Service Table Services provided by LB devices are virtual services. Configured on an LB device, a virtual service is uniquely identified by virtual service IP address, service protocol, service mode,and service port number. Access requests of users are sent to the LB device through a public or private network. If matching the virtual service, the requests are distributed to real services by the LB device. 4.2. Load balance Real Service Table Li, et al. Expires May 16, 2012 [Page 3] Internet-Draft Load Balancer MIB November 2011 Services provided by real servers are real services. A real service can be a traditional FTP or HTTP service, and can also be a forwarding service in a generic sense. For example, a real service in firewall load balancing is the packet forwarding path. 4.3. Load balance Real Service Group Table Server group----a real service group is a logical concept. Servers can be classified into different groups according to the common attributes of these servers. For example,servers can be classified into static storage server group and dynamic switching server group according to their functions; or they can be classified into music server group, video server group and picture server group according to the services they provide. 4.4. Load balance health checking Table Health monitoring allows an LB device to check the statuses of real servers or links, collect the corresponding information, and quarantine the servers or links that work abnormally. Health monitoring can not only mark whether servers or links can work normally, but also can collect statistics of the response time of the servers or links for selecting servers or links. 4.5. Load balance Statistic Table The statistic for Virtual Service or Real Service session, transmission rate. 5. Loadbalance-MIB Module Definitions LOAD-BALANCER-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Unsigned32, Integer32 FROM SNMPv2-SMI -- RFC2578 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC2580 ; lbMIB MODULE-IDENTITY LAST-UPDATED "201111310000Z" ORGANIZATION "IETF Operations and Management Area Working Group http://datatracker.ietf.org/wg/opsawg/" CONTACT-INFO Li, et al. Expires May 16, 2012 [Page 4] Internet-Draft Load Balancer MIB November 2011 "email: Li Chen (lichenyj@chinamobile.com) China Mobile" DESCRIPTION "MIB objects for load-balancing devices. Copyright (c) 2011 IETF Trust and the persons identified as authors of the code. All rights reserved. Redistribution and use in source and binary forms, with or without modification, is permitted pursuant to, and subject to the license terms contained in, the Simplified BSD License set forth in Section 4.c of the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info)." REVISION "201111310000Z" ::= { mib-2 XXX } lbMIBNotifications OBJECT IDENTIFIER ::= { lbMIB 0 } lbMIBObjects OBJECT IDENTIFIER ::= { lbMIB 1 } lbMIBConformance OBJECT IDENTIFIER ::= { lbMIB 2 } lbMIBCompliances OBJECT IDENTIFIER ::= { lbMIBConformance 1 } lbMIBGroups OBJECT IDENTIFIER ::= { lbMIBConformance 2 } -- -- Load-balancer Virtual Service table -- lbVSTable OBJECT-TYPE SYNTAX SEQUENCE OF LbVSEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Configured on an LB device, a virtual service is uniquely identified by virtual service IP address, service protocol, service mode , and service port number. Access requests of users are sent to the LB device through a public or private network. If matching the virtual service, the requests are distributed to real services by the LB device." ::= { lbMIBObjects 1 } lbVSEntry OBJECT-TYPE SYNTAX LbVSEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Li, et al. Expires May 16, 2012 [Page 5] Internet-Draft Load Balancer MIB November 2011 "A row describing LB virtual service." INDEX { lbVSId } ::= { lbVSTable 1 } LbVSEntry ::= SEQUENCE { lbVSId Unsigned32, lbVSAddr IpAddress, lbVSPort INTEGER, lbVSmode INTEGER, lbVSproto INTEGER, } LbVSId OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'H) MAX-ACCESS read-write STATUS current DESCRIPTION "LB virtual service identifier." ::= { lbVSEntry 1 } lbVSAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "Virtual service IP address of cluster/LB, used for users to request services." ::= { lbVSEntry 2 } lbVSPort OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "The LB distributes the requests with the same source IP address and source port to a specific server." ::= { lbVSEntry 3 } lbVSmode OBJECT-TYPE SYNTAX INTEGER (NAT(0),DR(1)) MAX-ACCESS read-write STATUS current DESCRIPTION "Layer 4 server load balancing can be classified into Network Address Translation (NAT)-mode server load Li, et al. Expires May 16, 2012 [Page 6] Internet-Draft Load Balancer MIB November 2011 balancing and Direct routing (DR)-mode server load balancing." ::= { lbVSEntry 4 } lbVSproto OBJECT-TYPE SYNTAX INTEGER (TCP(0),UDP(1)) MAX-ACCESS read-write STATUS current DESCRIPTION "LB can support protocol for user." ::= { lbVSEntry 5 } -- -- Load-balancer Real Service table -- lbRSTable OBJECT-TYPE SYNTAX SEQUENCE OF LbRSEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Services provided by real servers are real services. A real service can be a traditional FTP or HTTP service, and can also be a forwarding service in a generic sense. For example, a real service in firewall load balancing is the packet forwarding path." ::= { lbMIBObjects 2 } lbRSEntry OBJECT-TYPE SYNTAX LbRSEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row describing LB real service." INDEX { lbRSId } ::= { lbRSTable 1 } LbRSEntry ::= SEQUENCE { lbRSId Unsigned32, lbRSGId Unsigned32 lbRSAddr IpAddress, lbRSPort INTEGER, } lbRSId OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'H) MAX-ACCESS read-write STATUS current Li, et al. Expires May 16, 2012 [Page 7] Internet-Draft Load Balancer MIB November 2011 DESCRIPTION "LB real service identifier." ::= { lbRSEntry 1 } lbRSGId OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'H) MAX-ACCESS read-only STATUS current DESCRIPTION "a real service group is a logical concept. Servers can be classified into different groups according to the common attributes of these servers." ::= { lbRSEntry 2 } lbRSAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "IP address of a server, used by the LB device to distribute requests." ::= { lbRSEntry 3 } lbRSPort OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "The LB uses the port for communication with server." ::= { lbRSEntry 4 } -- -- Load-balancer Real Service Group table -- lbRSGTable OBJECT-TYPE SYNTAX SEQUENCE OF LbRSGEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Real Server group is a logical concept. Servers can be classified into different groups according to the common attributes of these servers." ::= { lbMIBObjects 3 } lbRSGEntry OBJECT-TYPE SYNTAX LbRSGEntry MAX-ACCESS not-accessible Li, et al. Expires May 16, 2012 [Page 8] Internet-Draft Load Balancer MIB November 2011 STATUS current DESCRIPTION "A row describing LB real service group." INDEX { lbRSGId } ::= { lbRSGTable 1 } LbRSGEntry ::= SEQUENCE { lbRSGId Unsigned32, lbRSID Unsigned32, lbRSGschdalgorithm INTEGER, lbRSGhealth INTEGER } lbRSGId OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'H) MAX-ACCESS read-write STATUS current DESCRIPTION "LB real service group identifier." ::= { lbRSGEntry 1 } lbRSId OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'H) MAX-ACCESS read only STATUS current DESCRIPTION "LB real service identifier." ::= { lbRSGEntry 2 } lbRSGschdalgorithm OBJECT-TYPE SYNTAX INTEGER( Round Robin(0), Weighted Round Robin(1), Random(2), Weighted Random(3), Source IP Hashing(4), Source IP and Source Port Hashing(5), Destination IP Hashing(6), UDP Packet Load Hashing(7), Least Connection(8), Weighted Least Connection(9), Bandwidth(10) ) MAX-ACCESS read only STATUS current DESCRIPTION "An LB needs to distribute service traffic to different Li, et al. Expires May 16, 2012 [Page 9] Internet-Draft Load Balancer MIB November 2011 real services according to a load balancing scheduling algorithm." ::= { lbRSGEntry 3 } lbRSGhealth OBJECT-TYPE SYNTAX INTEGER( DNS(0), ICMP(1), HTTP(2) ) MAX-ACCESS read-write STATUS current DESCRIPTION "The health monitoring method of RSG. It allows an LB device to detect whether real servers can provide services. The common method includes DNS\ICMP\HTTP, etc." ::= { lbRSGEntry 4 } -- -- Load-balancer health monitering table -- lbHealthchkTable OBJECT-TYPE SYNTAX SEQUENCE OF LbHealthchkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about the health check parameters, which include IP address,prot,health check type ,health check interval, retry times." ::= { lbMIBObjects 4 } LbHealthchkEntry OBJECT-TYPE SYNTAX LbHealthchkEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row describing LB health check." INDEX { lbHealthchkId } ::= { lbHealthchkTable 1 } LbHealthchkEntry ::= SEQUENCE { lbHealthchkId Unsigned32, lbHealthchkAddr IpAddress, lbHealthchkPort INTEGER, lbHealthchktype INTEGER, lbHealthchkintvl Integer32, Li, et al. Expires May 16, 2012 [Page 10] Internet-Draft Load Balancer MIB November 2011 lbHealthchkretrytimes Integer32 } lbHealthchkId OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'H) MAX-ACCESS not-accessible STATUS current DESCRIPTION "LB health check identifier." ::= { lbHealthchkEntry 1 } lbHealthchkAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The remote IP address of server." ::= { lbHealthchkEntry 2 } lbHealthchkPort OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "The remote port of server supporting service." ::= { lbHealthchkEntry 3 } lbHealthchktype OBJECT-TYPE SYNTAX INTEGER(ICMP(0),DNS(1),HTTP(2)) MAX-ACCESS read-write STATUS current DESCRIPTION "The set of health check method that include ICMP\DNS\HTTP, etc." ::= { lbHealthchkEntry 4 } lbHealthchkintvl OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "The definite length of between two packets. the packet can be ICMP\DNS\HTTP message." ::= { lbHealthchkEntry 5 } lbHealthchkretrytimes OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write Li, et al. Expires May 16, 2012 [Page 11] Internet-Draft Load Balancer MIB November 2011 STATUS current DESCRIPTION "the LB will retry the defined times when server doesn't reply health check packet in time. " ::= { lbHealthchkEntry 6 } -- -- Statistic table -- lbStaTable OBJECT-TYPE SYNTAX SEQUENCE OF LbStaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The statistic for Virtual Service or Real Service session, transmission rate." ::= { lbMIBObjects 5 } lbStaEntry OBJECT-TYPE SYNTAX LbStaEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row describing LB Statistic." INDEX { lbStaId } ::= { lbStaTable 1 } LbStaEntry ::= SEQUENCE { lbStaId Unsigned32, lbStasession INTEGER, lbStarate INTEGER } lbStaId OBJECT-TYPE SYNTAX Unsigned32 (1..'ffffffff'H) MAX-ACCESS read-write STATUS current DESCRIPTION "LB statistic table identifier." ::= { lbStaEntry 1 } lbStasession OBJECT-TYPE SYNTAX INTEGER32 MAX-ACCESS read only Li, et al. Expires May 16, 2012 [Page 12] Internet-Draft Load Balancer MIB November 2011 STATUS current DESCRIPTION "the max or min session number of a RS or RSG." ::= { lbStaEntry 2 } lbStarate OBJECT-TYPE SYNTAX INTEGER32 MAX-ACCESS read only STATUS current DESCRIPTION "the max or min flow rate of a RS or RSG." ::= { lbStaEntry 3 } -- -- Conformance statements -- lbMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMP engines that support the LOAD-BALANCER-MIB." MODULE MANDATORY-GROUPS { lbMIBGroup } ::= { lbMIBCompliances 1 } lbMIBGroup OBJECT-GROUP OBJECTS { lbVSmode, lbRSGschdalgorithm, lbHealthchktype, lbStasession, } STATUS current DESCRIPTION "A collection of objects for managing load-balancer." ::= { lbMIBGroups 1 } END 6. Security Considerations [TBD] Li, et al. Expires May 16, 2012 [Page 13] Internet-Draft Load Balancer MIB November 2011 7. IANA Considerations IANA is requested to assign a value for "XXX" under the 'mib-2' subtree and to record the assignment in the SMI Numbers registry. When the assignment has been made, the RFC Editor is asked to replace "XXX" (here and in the MIB module) with the assigned value and to remove this note. 8. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet- Standard Management Framework", RFC 3410, December 2002. Authors' Addresses Chen Li China Mobile Unit2, Dacheng Plaza, No. 28 Xuanwumenxi Ave, Xuanwu District Beijing 100053 P.R. China Email: lichenyj@chinamobile.com Li, et al. Expires May 16, 2012 [Page 14] Internet-Draft Load Balancer MIB November 2011 Lianyuan Li China Mobile Unit2, Dacheng Plaza, No. 28 Xuanwumenxi Ave, Xuanwu District Beijing 100053 P.R. China Email: lilianyuan@chinamobile.com Tina TSOU Huawei Email: Tina.Tsou.Zouting@huawei.com Li, et al. Expires May 16, 2012 [Page 15]