summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7666.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc7666.txt')
-rw-r--r--doc/rfc/rfc7666.txt2915
1 files changed, 2915 insertions, 0 deletions
diff --git a/doc/rfc/rfc7666.txt b/doc/rfc/rfc7666.txt
new file mode 100644
index 0000000..41cfcb6
--- /dev/null
+++ b/doc/rfc/rfc7666.txt
@@ -0,0 +1,2915 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) H. Asai
+Request for Comments: 7666 Univ. of Tokyo
+Category: Standards Track M. MacFaden
+ISSN: 2070-1721 VMware Inc.
+ J. Schoenwaelder
+ Jacobs University
+ K. Shima
+ IIJ Innovation Institute Inc.
+ T. Tsou
+ Huawei Technologies (USA)
+ October 2015
+
+
+ Management Information Base for Virtual Machines
+ Controlled by a Hypervisor
+
+Abstract
+
+ This document defines a portion of the Management Information Base
+ (MIB) for use with network management protocols in the Internet
+ community. In particular, this specifies objects for managing
+ virtual machines controlled by a hypervisor (a.k.a. virtual machine
+ monitor).
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc7666.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 1]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+Copyright Notice
+
+ Copyright (c) 2015 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.
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. The Internet-Standard Management Framework . . . . . . . . . 3
+ 3. Overview and Objectives . . . . . . . . . . . . . . . . . . . 3
+ 4. Structure of the VM-MIB Module . . . . . . . . . . . . . . . 5
+ 5. Relationship to Other MIB Modules . . . . . . . . . . . . . . 7
+ 6. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 6.1. VM-MIB . . . . . . . . . . . . . . . . . . . . . . . . . 8
+ 6.2. IANA-STORAGE-MEDIA-TYPE-MIB . . . . . . . . . . . . . . . 43
+ 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 45
+ 8. Security Considerations . . . . . . . . . . . . . . . . . . . 45
+ 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 46
+ 9.1. Normative References . . . . . . . . . . . . . . . . . . 46
+ 9.2. Informative References . . . . . . . . . . . . . . . . . 47
+ Appendix A. State Transition Table . . . . . . . . . . . . . . . 49
+ Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 51
+ Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . 51
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 52
+
+1. Introduction
+
+ This document defines a portion of the Management Information Base
+ (MIB) for use with network management protocols in the Internet
+ community. In particular, this specifies objects for managing
+ virtual machines controlled by a hypervisor (a.k.a. virtual machine
+ monitor). A hypervisor controls multiple virtual machines on a
+ single physical machine by allocating resources to each virtual
+ machine using virtualization technologies. Therefore, this MIB
+ module contains information on virtual machines and their resources
+ controlled by a hypervisor as well as information about a
+ hypervisor's hardware and software.
+
+
+
+
+Asai, et al. Standards Track [Page 2]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ The design of this MIB module has been derived from product-specific
+ MIB modules -- namely, a MIB module for managing guests of the Xen
+ hypervisor [Xen], a MIB module for managing virtual machines
+ controlled by the VMware hypervisor [VMware], and a MIB module using
+ the libvirt programming interface [libvirt] to access different
+ hypervisors. However, this MIB module attempts to generalize the
+ managed objects to support other implementations of hypervisors.
+
+ 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].
+
+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,
+ RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
+ [RFC2580].
+
+3. Overview and Objectives
+
+ This document defines a portion of MIB for the management of virtual
+ machines controlled by a hypervisor. This MIB module consists of the
+ managed objects related to system and software information of a
+ hypervisor, the list of virtual machines controlled by the
+ hypervisor, and information of virtual resources allocated to virtual
+ machines by the hypervisor. This document specifies four specific
+ types of virtual resources that are common to many hypervisor
+ implementations: processors (CPUs), memory, network interfaces
+ (NICs), and storage devices. These managed objects are independent
+ of the families of hypervisors or operating systems running on
+ virtual machines.
+
+
+
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 3]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ +------------------------------------------------------------------+
+ | +-------------------------------------------------+ |
+ | | Virtual machine | |
+ | | | |
+ | | +---------+ +---------+ +---------+ +---------+ | ....... |
+ | | | Virtual | | Virtual | | Virtual | | Virtual | | |
+ | +-| CPU |-| memory |-| storage |-| NIC |-+ |
+ | +---------+ +---------+ +---------+ +---------+ |
+ | Virtual resources |
+ | ^ |
+ | | Allocation using virtualization technologies |
+ | | |
+ | +-- Physical resources ._____. |
+ | +--------+ .--------. / \ +--^--+ |
+ +- - - - - - - | | - /________/| - *\_______/* - | | - -+
+ | Hypervisor | CPU | | Memory |/ | Storage | | NIC | |
+ | +--------+ +--------+ \_______/ +-----+ |
+ | +-----------------------+ |
+ | || MIB objects || |
+ | +-----------------------+ |
+ +------------------------------------------------------------------+
+
+ Figure 1: An Example of a Virtualization Environment
+
+ On the common implementations of hypervisors, a hypervisor allocates
+ virtual resources from physical resources: virtual CPUs, virtual
+ memory, virtual storage devices, and virtual network interfaces to
+ virtual machines as shown in Figure 1. Since the virtual resources
+ allocated to virtual machines are managed by the hypervisor, the MIB
+ objects are managed at the hypervisor. In case that the objects are
+ accessed through the SNMP, an SNMP agent is launched at the
+ hypervisor to provide access to the objects.
+
+ The objects are managed from the viewpoint of the operators of
+ hypervisors, but not the operators of virtual machines; that is, the
+ objects do not take into account the actual resource utilization on
+ each virtual machine but rather the resource allocation from the
+ physical resources. For example, vmNetworkIfIndex indicates the
+ virtual interface associated with an interface of a virtual machine
+ at the hypervisor, and consequently, the 'in' and 'out' directions
+ denote 'from a virtual machine to the hypervisor' and 'from the
+ hypervisor to a virtual machine', respectively. Moreover,
+ vmStorageAllocatedSize denotes the size allocated by the hypervisor,
+ but not the size actually used by the operating system on the virtual
+ machine. This means that vmStorageDefinedSize and
+ vmStorageAllocatedSize do not take different values when the
+ vmStorageSourceType is 'block' or 'raw'.
+
+
+
+
+Asai, et al. Standards Track [Page 4]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ The objectives of this document are the following: 1) this document
+ defines the MIB objects common to many hypervisors for the management
+ of virtual machines controlled by a hypervisor, and 2) this document
+ clarifies the relationship with other MIB modules for managing host
+ computers and network devices.
+
+4. Structure of the VM-MIB Module
+
+ The MIB module is organized into a group of scalars and tables. The
+ scalars below 'vmHypervisor' provide basic information about the
+ hypervisor. The 'vmTable' lists the virtual machines (guests) that
+ are known to the hypervisor. The 'vmCpuTable' provides the mapping
+ table of virtual CPUs to virtual machines, including CPU time used by
+ each virtual CPU. The 'vmCpuAffinityTable' provides the affinity of
+ each virtual CPU to a physical CPU. The 'vmStorageTable' provides
+ the list of virtual storage devices and their mapping to virtual
+ machines. In case that an entry in the 'vmStorageTable' has a
+ corresponding parent physical storage device managed in
+ 'vmStorageTable' of HOST-RESOURCES-MIB [RFC2790], the entry contains
+ a pointer 'vmStorageParent' to the physical storage device. The
+ 'vmNetworkTable' provides the list of virtual network interfaces and
+ their mapping to virtual machines. Each entry in the
+ 'vmNetworkTable' also provides a pointer 'vmNetworkIfIndex' to the
+ corresponding entry in the 'ifTable' of IF-MIB [RFC2863]. In case
+ that an entry in the 'vmNetworkTable' has a corresponding parent
+ physical network interface managed in the 'ifTable' of IF-MIB, the
+ entry contains a pointer 'vmNetworkParent' to the physical network
+ interface.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 5]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ Notation:
+
+ +-------------+
+ | vmOperState | : Finite state; the first line presents the
+ | | 'vmOperState', and the second line presents a
+ +-------------+ notification generated if applicable.
+
+ + - - - - - - +
+ | vmOperState | : Transient state; first line presents the
+ | | 'vmOperState', and the second line presents a
+ + - - - - - - + notification generated if applicable.
+
+ ! : Notification; a text followed by the symbol "!"
+ denotes a notification generated.
+
+ =====================================================================
+
+ +---------------+ + - - - - - - - -+ +------------+
+ | suspended(6) |<--| suspending(5) | | paused(8) |
+ | !vmSuspended | | !vmSuspending | | !vmPaused |
+ +---------------+ + - - - - - - - -+ +------------+
+ | ^ ^
+ | | |
+ v | |
+ + - - - - - - -+ +-------------+<----------+ + - - - - - - - +
+ | resuming(7) |-->| running(4) |<-------------->| migrating(9) |
+ | !vmResuming | | !vmRunning | | !vmMigrating |
+ + - - - - - - -+ +-------------+ + - - - - - - - +
+ | ^ ^
+ | | |
+ | +-------------------+ |
+ | | |
+ v v v
+ + - - - - - - - - - + +---------------+
+ | shuttingdown(10) |--------->| shutdown(11) |
+ | !vmShuttingdown | | !vmShutdown |
+ + - - - - - - - - - + +---------------+
+ ^ |
+ | v !vmDeleted
+ +--------------+ + - - - - - - - -+ (Deleted from
+ | crashed(12) | | preparing(3) | vmTable)
+ | !vmCrashed | | |
+ +--------------+ + - - - - - - - -+
+
+ Figure 2: State Transition of a Virtual Machine
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 6]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ The 'vmAdminState' and 'vmOperState' textual conventions define an
+ administrative state and an operational state model for virtual
+ machines. Events causing transitions between major operational
+ states will cause the generation of notifications. Per virtual
+ machine (per-VM) notifications (vmRunning, vmShutdown, vmPaused,
+ vmSuspended, vmCrashed, vmDeleted) are generated if
+ vmPerVMNotificationsEnabled is true(1). Bulk notifications
+ (vmBulkRunning, vmBulkShutdown, vmBulkPaused, vmBulkSuspended,
+ vmBulkCrashed, vmBulkDeleted) are generated if
+ vmBulkNotificationsEnabled is true(1). The overview of the
+ transition of 'vmOperState' by the write access to 'vmAdminState' and
+ the notifications generated by the operational state changes are
+ illustrated in Figure 2. The detailed state transition is summarized
+ in Appendix A. Note that the notifications shown in this figure are
+ per-VM notifications. In the case of Bulk notifications, the prefix
+ 'vm' is replaced with 'vmBulk'.
+
+ The bulk notification mechanism is designed to reduce the number of
+ notifications that are trapped by an SNMP manager. This is because
+ the number of virtual machines managed by a bunch of hypervisors in a
+ data center possibly becomes several thousands or more, and
+ consequently, many notifications could be trapped if these virtual
+ machines frequently change their administrative state. The per-VM
+ notifications carry more detailed information, but the scalability is
+ a problem. The notification filtering mechanism described in
+ Section 6 of RFC 3413 [RFC3413] is used by the management
+ applications to control the notifications.
+
+5. Relationship to Other MIB Modules
+
+ The HOST-RESOURCES-MIB [RFC2790] defines the MIB objects for managing
+ host systems. On systems implementing the HOST-RESOURCES-MIB, the
+ objects of HOST-RESOURCES-MIB indicate resources of a hypervisor.
+ Some objects of HOST-RESOURCES-MIB are used to indicate physical
+ resources through indexes. On systems implementing
+ HOST-RESOURCES-MIB, the 'vmCpuPhysIndex' points to the processor's
+ 'hrDeviceIndex' in the 'hrProcessorTable'. The 'vmStorageParent'
+ also points to the storage device's 'hrStorageIndex' in the
+ 'hrStorageTable'.
+
+ The IF-MIB [RFC2863] defines the MIB objects for managing network
+ interfaces. Both physical and virtual network interfaces are
+ required to be contained in the 'ifTable' of IF-MIB. The virtual
+ network interfaces in the 'ifTable' of IF-MIB are pointed from the
+ 'vmNetworkTable' defined in this document through a pointer
+ 'vmNetworkIfIndex'. In case that an entry in the 'vmNetworkTable'
+
+
+
+
+
+Asai, et al. Standards Track [Page 7]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ has a corresponding parent physical network interface managed in the
+ 'ifTable' of IF-MIB, the entry contains a pointer 'vmNetworkParent'
+ to the physical network interface.
+
+ The objects related to virtual switches are not included in the MIB
+ module defined in this document though virtual switches MAY be placed
+ on a hypervisor. This is because the virtual network interfaces are
+ the lowest abstraction of network resources allocated to a virtual
+ machine. Instead of including the objects related to virtual
+ switches, for example, IEEE8021-BRIDGE-MIB [IEEE8021-BRIDGE-MIB] and
+ IEEE8021-Q-BRIDGE-MIB [IEEE8021-Q-BRIDGE-MIB] could be used.
+
+ The other objects related to virtual machines such as management IP
+ addresses of a virtual machine are not included in this MIB module
+ because this MIB module defines the objects common to general
+ hypervisors, but they are specific to some hypervisors. They may be
+ included in the entLogicalTable of ENTITY-MIB [RFC6933].
+
+ The SNMPv2-MIB [RFC3418] provides an object 'sysObjectID' that
+ identifies the network management subsytem and an object 'sysUpTime'
+ that reports the uptime of the network management portion of the
+ system. The HOST-RESOURCES-MIB [RFC2790] provides an object
+ 'hrSystemUptime' that reports the uptime of the host's operating
+ system. To complement these objects, the new 'vmHvUpTime' object
+ reports the time since the hypervisor was last re-initialized, and
+ the new 'vmHvObjectID' provides an identification of the hypervisor
+ software.
+
+6. Definitions
+
+6.1. VM-MIB
+
+ VM-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, TimeTicks,
+ Counter64, Integer32, mib-2
+ FROM SNMPv2-SMI
+ OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ TEXTUAL-CONVENTION, PhysAddress, TruthValue
+ FROM SNMPv2-TC
+ SnmpAdminString
+ FROM SNMP-FRAMEWORK-MIB
+ UUIDorZero
+ FROM UUID-TC-MIB
+ InterfaceIndexOrZero
+ FROM IF-MIB
+
+
+
+Asai, et al. Standards Track [Page 8]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ IANAStorageMediaType
+ FROM IANA-STORAGE-MEDIA-TYPE-MIB;
+
+ vmMIB MODULE-IDENTITY
+ LAST-UPDATED "201510120000Z" -- 12 October 2015
+ ORGANIZATION "IETF Operations and Management Area Working Group"
+ CONTACT-INFO
+ "WG Email: opsawg@ietf.org
+ Mailing list subscription info:
+ https://www.ietf.org/mailman/listinfo/opsawg
+
+ Hirochika Asai
+ The University of Tokyo
+ 7-3-1 Hongo
+ Bunkyo-ku, Tokyo 113-8656
+ Japan
+ Phone: +81 3 5841 6748
+ Email: panda@hongo.wide.ad.jp
+
+ Michael MacFaden
+ VMware Inc.
+ Email: mrm@vmware.com
+
+ Juergen Schoenwaelder
+ Jacobs University
+ Campus Ring 1
+ Bremen 28759
+ Germany
+ Email: j.schoenwaelder@jacobs-university.de
+
+ Keiichi Shima
+ IIJ Innovation Institute Inc.
+ 3-13 Kanda-Nishikicho
+ Chiyoda-ku, Tokyo 101-0054
+ Japan
+ Email: keiichi@iijlab.net
+
+ Tina Tsou
+ Huawei Technologies (USA)
+ 2330 Central Expressway
+ Santa Clara, CA 95050
+ United States
+ Email: tina.tsou.zouting@huawei.com"
+
+ DESCRIPTION
+ "This MIB module is for use in managing a hypervisor and
+ virtual machines controlled by the hypervisor.
+
+
+
+
+Asai, et al. Standards Track [Page 9]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ Copyright (c) 2015 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 "201510120000Z" -- 12 October 2015
+ DESCRIPTION
+ "The initial version of this MIB, published as
+ RFC 7666."
+ ::= { mib-2 236 }
+
+ vmNotifications OBJECT IDENTIFIER ::= { vmMIB 0 }
+ vmObjects OBJECT IDENTIFIER ::= { vmMIB 1 }
+ vmConformance OBJECT IDENTIFIER ::= { vmMIB 2 }
+
+
+ -- Textual conversion definitions
+ --
+ VirtualMachineIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, identifying a
+ virtual machine. The value for each virtual machine
+ MUST remain constant at least from one re-initialization
+ of the hypervisor to the next re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+ VirtualMachineIndexOrZero ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "This textual convention is an extension of the
+ VirtualMachineIndex convention. This extension permits
+ the additional value of zero. The meaning of the value
+ zero is object-specific and MUST therefore be defined as
+ part of the description of any object that uses this
+ syntax. Examples of the usage of zero might include
+ situations where a virtual machine is unknown, or when
+ none or all virtual machines need to be referenced."
+ SYNTAX Integer32 (0..2147483647)
+
+ VirtualMachineAdminState ::= TEXTUAL-CONVENTION
+
+
+
+Asai, et al. Standards Track [Page 10]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ STATUS current
+ DESCRIPTION
+ "The administrative state of a virtual machine:
+
+ running(1) The administrative state of the virtual
+ machine indicating the virtual machine
+ is currently online or should be brought
+ online.
+
+ suspended(2) The administrative state of the virtual
+ machine where its memory and CPU execution
+ state has been saved to persistent store
+ and will be restored at next running(1).
+
+ paused(3) The administrative state indicating the
+ virtual machine is resident in memory but
+ is no longer scheduled to execute by the
+ hypervisor.
+
+ shutdown(4) The administrative state of the virtual
+ machine indicating the virtual machine
+ is currently offline or should be
+ shutting down."
+ SYNTAX INTEGER {
+ running(1),
+ suspended(2),
+ paused(3),
+ shutdown(4)
+ }
+
+ VirtualMachineOperState ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The operational state of a virtual machine:
+
+ unknown(1) The operational state of the virtual
+ machine is unknown, e.g., because the
+ implementation failed to obtain the state
+ from the hypervisor.
+
+ other(2) The operational state of the virtual
+ machine indicating that an operational
+ state is obtained from the hypervisor, but
+ it is not a state defined in this MIB
+ module.
+
+ preparing(3) The operational state of the virtual
+ machine indicating the virtual machine is
+
+
+
+Asai, et al. Standards Track [Page 11]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ currently in the process of preparation,
+ e.g., allocating and initializing virtual
+ storage after creating (defining) the
+ virtual machine.
+
+ running(4) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently executed, but it is not in the
+ process of preparing(3), suspending(5),
+ resuming(7), migrating(9), and
+ shuttingdown(10).
+
+ suspending(5) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of suspending
+ to save its memory and CPU execution
+ state to persistent store. This is a
+ transient state from running(4) to
+ suspended(6).
+
+ suspended(6) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently suspended, which means the
+ memory and CPU execution state of the
+ virtual machine are saved to persistent
+ store. During this state, the virtual
+ machine is not scheduled to execute by
+ the hypervisor.
+
+ resuming(7) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of resuming
+ to restore its memory and CPU execution
+ state from persistent store. This is a
+ transient state from suspended(6) to
+ running(4).
+
+ paused(8) The operational state of the virtual
+ machine indicating the virtual machine is
+ resident in memory but no longer
+ scheduled to execute by the hypervisor.
+
+ migrating(9) The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of migration
+ from/to another hypervisor.
+
+ shuttingdown(10)
+
+
+
+Asai, et al. Standards Track [Page 12]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ The operational state of the virtual
+ machine indicating the virtual machine is
+ currently in the process of shutting
+ down. This is a transient state from
+ running(4) to shutdown(11).
+
+ shutdown(11) The operational state of the virtual
+ machine indicating the virtual machine is
+ down, and CPU execution is no longer
+ scheduled by the hypervisor and its
+ memory is not resident in the hypervisor.
+
+ crashed(12) The operational state of the virtual
+ machine indicating the virtual machine
+ has crashed."
+ SYNTAX INTEGER {
+ unknown(1),
+ other(2),
+ preparing(3),
+ running(4),
+ suspending(5),
+ suspended(6),
+ resuming(7),
+ paused(8),
+ migrating(9),
+ shuttingdown(10),
+ shutdown(11),
+ crashed(12)
+ }
+
+ VirtualMachineAutoStart ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The autostart configuration of a virtual machine:
+
+ unknown(1) The autostart configuration is unknown,
+ e.g., because the implementation failed
+ to obtain the autostart configuration
+ from the hypervisor.
+
+ enabled(2) The autostart configuration of the
+ virtual machine is enabled. The virtual
+ machine should be automatically brought
+ online at the next re-initialization of
+ the hypervisor.
+
+ disabled(3) The autostart configuration of the
+ virtual machine is disabled. The virtual
+
+
+
+Asai, et al. Standards Track [Page 13]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ machine should not be automatically
+ brought online at the next
+ re-initialization of the hypervisor."
+ SYNTAX INTEGER {
+ unknown(1),
+ enabled(2),
+ disabled(3)
+ }
+
+ VirtualMachinePersistent ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "This value indicates whether a virtual machine has a
+ persistent configuration, which means the virtual machine
+ will still exist after shutting down:
+
+ unknown(1) The persistent configuration is unknown,
+ e.g., because the implementation failed
+ to obtain the persistent configuration
+ from the hypervisor. (read-only)
+
+ persistent(2) The virtual machine is persistent, i.e.,
+ the virtual machine will exist after it
+ shuts down.
+
+ transient(3) The virtual machine is transient, i.e.,
+ the virtual machine will not exist after
+ it shuts down."
+ SYNTAX INTEGER {
+ unknown(1),
+ persistent(2),
+ transient(3)
+ }
+
+ VirtualMachineCpuIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value for each virtual machine, greater than
+ zero, identifying a virtual CPU assigned to a virtual
+ machine. The value for each virtual CPU MUST remain
+ constant at least from one re-initialization of the
+ hypervisor to the next re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+ VirtualMachineStorageIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+
+
+
+Asai, et al. Standards Track [Page 14]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ DESCRIPTION
+ "A unique value for each virtual machine, greater than
+ zero, identifying a virtual storage device allocated to
+ a virtual machine. The value for each virtual storage
+ device MUST remain constant at least from one
+ re-initialization of the hypervisor to the next
+ re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+ VirtualMachineStorageSourceType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The source type of a virtual storage device:
+
+ unknown(1) The source type is unknown, e.g., because
+ the implementation failed to obtain the
+ media type from the hypervisor.
+
+ other(2) The source type is other than those
+ defined in this conversion.
+
+ block(3) The source type is a block device.
+
+ raw(4) The source type is a raw-formatted file.
+
+ sparse(5) The source type is a sparse file.
+
+ network(6) The source type is a network device."
+ SYNTAX INTEGER {
+ unknown(1),
+ other(2),
+ block(3),
+ raw(4),
+ sparse(5),
+ network(6)
+ }
+
+ VirtualMachineStorageAccess ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The access permission of a virtual storage:
+
+ unknown(1) The access permission of the virtual
+ storage is unknown.
+
+ readwrite(2) The virtual storage is a read-write
+ device.
+
+
+
+
+Asai, et al. Standards Track [Page 15]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ readonly(3) The virtual storage is a read-only
+ device."
+ SYNTAX INTEGER {
+ unknown(1),
+ readwrite(2),
+ readonly(3)
+ }
+
+ VirtualMachineNetworkIndex ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "d"
+ STATUS current
+ DESCRIPTION
+ "A unique value for each virtual machine, greater than
+ zero, identifying a virtual network interface allocated
+ to the virtual machine. The value for each virtual
+ network interface MUST remain constant at least from one
+ re-initialization of the hypervisor to the next
+ re-initialization."
+ SYNTAX Integer32 (1..2147483647)
+
+ VirtualMachineList ::= TEXTUAL-CONVENTION
+ DISPLAY-HINT "1x"
+ STATUS current
+ DESCRIPTION
+ "Each octet within this value specifies a set of eight
+ virtual machine vmIndex values, with the first octet
+ specifying virtual machine 1 through 8, the second octet
+ specifying virtual machine 9 through 16, etc. Within
+ each octet, the most significant bit represents the
+ lowest-numbered vmIndex, and the least significant bit
+ represents the highest-numbered vmIndex. Thus, each
+ virtual machine of the host is represented by a single
+ bit within the value of this object. If that bit has
+ a value of '1', then that virtual machine is included
+ in the set of virtual machines; the virtual machine is
+ not included if its bit has a value of '0'."
+ SYNTAX OCTET STRING
+
+ -- The hypervisor group
+ --
+ -- A collection of objects common to all hypervisors.
+ --
+ vmHypervisor OBJECT IDENTIFIER ::= { vmObjects 1 }
+
+ vmHvSoftware OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+
+
+
+Asai, et al. Standards Track [Page 16]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ DESCRIPTION
+ "A textual description of the hypervisor software. This
+ value SHOULD NOT include its version as it SHOULD be
+ included in 'vmHvVersion'."
+ ::= { vmHypervisor 1 }
+
+ vmHvVersion OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description of the version of the hypervisor
+ software."
+ ::= { vmHypervisor 2 }
+
+ vmHvObjectID OBJECT-TYPE
+ SYNTAX OBJECT IDENTIFIER
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The vendor's authoritative identification of the
+ hypervisor software contained in the entity. This value
+ is allocated within the SMI enterprises
+ subtree (1.3.6.1.4.1). Note that this is different from
+ sysObjectID in the SNMPv2-MIB (RFC 3418) because
+ sysObjectID is not the identification of the hypervisor
+ software but the device, firmware, or management
+ operating system."
+ ::= { vmHypervisor 3 }
+
+ vmHvUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in centiseconds) since the hypervisor was
+ last re-initialized. Note that this is different from
+ sysUpTime in the SNMPv2-MIB (RFC 3418) and hrSystemUptime
+ in the HOST-RESOURCES-MIB (RFC 2790) because sysUpTime is
+ the uptime of the network management portion of the
+ system, and hrSystemUptime is the uptime of the
+ management operating system but not the hypervisor
+ software."
+ ::= { vmHypervisor 4 }
+
+
+ -- The virtual machine information
+ --
+
+
+
+Asai, et al. Standards Track [Page 17]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ -- A collection of objects common to all virtual machines.
+ --
+ vmNumber OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of virtual machines (regardless of their
+ current state) present on this hypervisor."
+ ::= { vmObjects 2 }
+
+ vmTableLastChange OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of vmHvUpTime at the time of the last creation
+ or deletion of an entry in the vmTable."
+ ::= { vmObjects 3 }
+
+ vmTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of virtual machine entries. The number of
+ entries is given by the value of vmNumber."
+ ::= { vmObjects 4 }
+
+ vmEntry OBJECT-TYPE
+ SYNTAX VmEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing management information applicable
+ to a particular virtual machine."
+ INDEX { vmIndex }
+ ::= { vmTable 1 }
+
+ VmEntry ::=
+ SEQUENCE {
+ vmIndex VirtualMachineIndex,
+ vmName SnmpAdminString,
+ vmUUID UUIDorZero,
+ vmOSType SnmpAdminString,
+ vmAdminState VirtualMachineAdminState,
+ vmOperState VirtualMachineOperState,
+ vmAutoStart VirtualMachineAutoStart,
+
+
+
+Asai, et al. Standards Track [Page 18]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmPersistent VirtualMachinePersistent,
+ vmCurCpuNumber Integer32,
+ vmMinCpuNumber Integer32,
+ vmMaxCpuNumber Integer32,
+ vmMemUnit Integer32,
+ vmCurMem Integer32,
+ vmMinMem Integer32,
+ vmMaxMem Integer32,
+ vmUpTime TimeTicks,
+ vmCpuTime Counter64
+ }
+
+ vmIndex OBJECT-TYPE
+ SYNTAX VirtualMachineIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value, greater than zero, identifying the
+ virtual machine. The value assigned to a given virtual
+ machine may not persist across re-initialization of the
+ hypervisor. A command generator MUST use the vmUUID to
+ identify a given virtual machine of interest."
+ ::= { vmEntry 1 }
+
+ vmName OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual name of the virtual machine."
+ ::= { vmEntry 2 }
+
+ vmUUID OBJECT-TYPE
+ SYNTAX UUIDorZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The virtual machine's 128-bit Universally Unique
+ Identifier (UUID) or the zero-length string when a
+ UUID is not available. If set, the UUID MUST uniquely
+ identify a virtual machine from all other virtual
+ machines in an administrative domain. A zero-length
+ octet string is returned if no UUID information is
+ known."
+ ::= { vmEntry 3 }
+
+ vmOSType OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+
+
+
+Asai, et al. Standards Track [Page 19]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual description containing operating system
+ information installed on the virtual machine. This
+ value corresponds to the operating system the hypervisor
+ assumes to be running when the virtual machine is
+ started. This may differ from the actual operating
+ system in case the virtual machine boots into a
+ different operating system."
+ ::= { vmEntry 4 }
+
+ vmAdminState OBJECT-TYPE
+ SYNTAX VirtualMachineAdminState
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The administrative state of the virtual machine."
+ ::= { vmEntry 5 }
+
+ vmOperState OBJECT-TYPE
+ SYNTAX VirtualMachineOperState
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The operational state of the virtual machine."
+ ::= { vmEntry 6 }
+
+ vmAutoStart OBJECT-TYPE
+ SYNTAX VirtualMachineAutoStart
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The autostart configuration of the virtual machine. If
+ this value is enable(2), the virtual machine
+ automatically starts at the next initialization of the
+ hypervisor."
+ ::= { vmEntry 7 }
+
+ vmPersistent OBJECT-TYPE
+ SYNTAX VirtualMachinePersistent
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This value indicates whether the virtual machine has a
+ persistent configuration, which means the virtual machine
+ will still exist after its shutdown."
+ ::= { vmEntry 8 }
+
+
+
+Asai, et al. Standards Track [Page 20]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmCurCpuNumber OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of virtual CPUs currently assigned to the
+ virtual machine."
+ ::= { vmEntry 9 }
+
+ vmMinCpuNumber OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum number of virtual CPUs that are assigned to
+ the virtual machine when it is in a power-on state. The
+ value -1 indicates that there is no hard boundary for
+ the minimum number of virtual CPUs."
+ ::= { vmEntry 10 }
+
+ vmMaxCpuNumber OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum number of virtual CPUs that are assigned to
+ the virtual machine when it is in a power-on state. The
+ value -1 indicates that there is no limit."
+ ::= { vmEntry 11 }
+
+ vmMemUnit OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The multiplication unit in bytes for vmCurMem, vmMinMem,
+ and vmMaxMem. For example, when this value is 1024, the
+ memory size unit for vmCurMem, vmMinMem, and vmMaxMem is
+ KiB."
+ ::= { vmEntry 12 }
+
+ vmCurMem OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The current memory size currently allocated to the
+ virtual memory module in the unit designated by
+
+
+
+Asai, et al. Standards Track [Page 21]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmMemUnit."
+ ::= { vmEntry 13 }
+
+ vmMinMem OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The minimum memory size defined to the virtual machine
+ in the unit designated by vmMemUnit. The value -1
+ indicates that there is no hard boundary for the minimum
+ memory size."
+ ::= { vmEntry 14 }
+
+ vmMaxMem OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The maximum memory size defined to the virtual machine
+ in the unit designated by vmMemUnit. The value -1
+ indicates that there is no limit."
+ ::= { vmEntry 15 }
+
+
+ vmUpTime OBJECT-TYPE
+ SYNTAX TimeTicks
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The time (in centiseconds) since the administrative
+ state of the virtual machine was last changed from
+ shutdown(4) to running(1)."
+ ::= { vmEntry 16 }
+
+ vmCpuTime OBJECT-TYPE
+ SYNTAX Counter64
+ UNITS "microsecond"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total CPU time used in microseconds. If the number
+ of virtual CPUs is larger than 1, vmCpuTime may exceed
+ real time.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+
+
+
+Asai, et al. Standards Track [Page 22]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ virtual machine."
+ ::= { vmEntry 17 }
+
+ -- The virtual CPU on each virtual machines
+ vmCpuTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmCpuEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The table of virtual CPUs provided by the hypervisor."
+ ::= { vmObjects 5 }
+
+ vmCpuEntry OBJECT-TYPE
+ SYNTAX VmCpuEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry for one virtual processor assigned to a
+ virtual machine."
+ INDEX { vmIndex, vmCpuIndex }
+ ::= { vmCpuTable 1 }
+
+ VmCpuEntry ::=
+ SEQUENCE {
+ vmCpuIndex VirtualMachineCpuIndex,
+ vmCpuCoreTime Counter64
+ }
+
+ vmCpuIndex OBJECT-TYPE
+ SYNTAX VirtualMachineCpuIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value identifying a virtual CPU assigned to
+ the virtual machine."
+ ::= { vmCpuEntry 1 }
+
+ vmCpuCoreTime OBJECT-TYPE
+ SYNTAX Counter64
+ UNITS "microsecond"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total CPU time used by this virtual CPU in
+ microseconds.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+
+
+
+Asai, et al. Standards Track [Page 23]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmCpuEntry 2 }
+
+ -- The virtual CPU affinity on each virtual machines
+
+ vmCpuAffinityTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmCpuAffinityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A list of CPU affinity entries of a virtual CPU."
+ ::= { vmObjects 6 }
+
+ vmCpuAffinityEntry OBJECT-TYPE
+ SYNTAX VmCpuAffinityEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry containing CPU affinity associated with a
+ particular virtual machine."
+ INDEX { vmIndex, vmCpuIndex, vmCpuPhysIndex }
+ ::= { vmCpuAffinityTable 1 }
+
+ VmCpuAffinityEntry ::=
+ SEQUENCE {
+ vmCpuPhysIndex Integer32,
+ vmCpuAffinity INTEGER
+ }
+
+ vmCpuPhysIndex OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A value identifying a physical CPU on the hypervisor.
+ On systems implementing the HOST-RESOURCES-MIB, the
+ value MUST be the same value that is used as the index
+ in the hrProcessorTable (hrDeviceIndex)."
+ ::= { vmCpuAffinityEntry 2 }
+
+ vmCpuAffinity OBJECT-TYPE
+ SYNTAX INTEGER {
+ unknown(0), -- unknown
+ enable(1), -- enabled
+ disable(2) -- disabled
+ }
+ MAX-ACCESS read-only
+
+
+
+Asai, et al. Standards Track [Page 24]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ STATUS current
+ DESCRIPTION
+ "The CPU affinity of this virtual CPU to the physical
+ CPU represented by 'vmCpuPhysIndex'."
+ ::= { vmCpuAffinityEntry 3 }
+
+ -- The virtual storage devices on each virtual machine. This
+ -- document defines some overlapped objects with hrStorage in
+ -- HOST-RESOURCES-MIB (RFC 2790), because virtual resources are
+ -- allocated from the hypervisor's resources, which is the 'host
+ -- resources'.
+ vmStorageTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The conceptual table of virtual storage devices
+ attached to the virtual machine."
+ ::= { vmObjects 7 }
+
+ vmStorageEntry OBJECT-TYPE
+ SYNTAX VmStorageEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry for one virtual storage device attached to the
+ virtual machine."
+ INDEX { vmStorageVmIndex, vmStorageIndex }
+ ::= { vmStorageTable 1 }
+
+ VmStorageEntry ::=
+ SEQUENCE {
+ vmStorageVmIndex VirtualMachineIndexOrZero,
+ vmStorageIndex VirtualMachineStorageIndex,
+ vmStorageParent Integer32,
+ vmStorageSourceType VirtualMachineStorageSourceType,
+ vmStorageSourceTypeString
+ SnmpAdminString,
+ vmStorageResourceID SnmpAdminString,
+ vmStorageAccess VirtualMachineStorageAccess,
+ vmStorageMediaType IANAStorageMediaType,
+ vmStorageMediaTypeString
+ SnmpAdminString,
+ vmStorageSizeUnit Integer32,
+ vmStorageDefinedSize Integer32,
+ vmStorageAllocatedSize Integer32,
+ vmStorageReadIOs Counter64,
+ vmStorageWriteIOs Counter64,
+
+
+
+Asai, et al. Standards Track [Page 25]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmStorageReadOctets Counter64,
+ vmStorageWriteOctets Counter64,
+ vmStorageReadLatency Counter64,
+ vmStorageWriteLatency Counter64
+ }
+
+ vmStorageVmIndex OBJECT-TYPE
+ SYNTAX VirtualMachineIndexOrZero
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This value identifies the virtual machine (guest) this
+ storage device has been allocated to. The value zero
+ indicates that the storage device is currently not
+ allocated to any virtual machines."
+ ::= { vmStorageEntry 1 }
+
+ vmStorageIndex OBJECT-TYPE
+ SYNTAX VirtualMachineStorageIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value identifying a virtual storage device
+ allocated to the virtual machine."
+ ::= { vmStorageEntry 2 }
+
+ vmStorageParent OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of hrStorageIndex, which is the parent (i.e.,
+ physical) device of this virtual device on systems
+ implementing the HOST-RESOURCES-MIB. The value zero
+ denotes this virtual device is not any child
+ represented in the hrStorageTable."
+ ::= { vmStorageEntry 3 }
+
+ vmStorageSourceType OBJECT-TYPE
+ SYNTAX VirtualMachineStorageSourceType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The source type of the virtual storage device."
+ ::= { vmStorageEntry 4 }
+
+ vmStorageSourceTypeString OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+
+
+
+Asai, et al. Standards Track [Page 26]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A (detailed) textual string of the source type of the
+ virtual storage device. For example, this represents
+ the specific format name of the sparse file."
+ ::= { vmStorageEntry 5 }
+
+ vmStorageResourceID OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A textual string that represents the resource
+ identifier of the virtual storage. For example, this
+ contains the path to the disk image file that
+ corresponds to the virtual storage."
+ ::= { vmStorageEntry 6 }
+
+ vmStorageAccess OBJECT-TYPE
+ SYNTAX VirtualMachineStorageAccess
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The access permission of the virtual storage device."
+ ::= { vmStorageEntry 7 }
+
+ vmStorageMediaType OBJECT-TYPE
+ SYNTAX IANAStorageMediaType
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The media type of the virtual storage device."
+ ::= { vmStorageEntry 8 }
+
+ vmStorageMediaTypeString OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A (detailed) textual string of the virtual storage
+ media. For example, this represents the specific driver
+ name of the emulated media such as 'IDE' and 'SCSI'."
+ ::= { vmStorageEntry 9 }
+
+ vmStorageSizeUnit OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-only
+
+
+
+Asai, et al. Standards Track [Page 27]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ STATUS current
+ DESCRIPTION
+ "The multiplication unit in bytes for
+ vmStorageDefinedSize and vmStorageAllocatedSize. For
+ example, when this value is 1048576, the storage size
+ unit for vmStorageDefinedSize and vmStorageAllocatedSize
+ is MiB."
+ ::= { vmStorageEntry 10 }
+
+ vmStorageDefinedSize OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The defined virtual storage size defined in the unit
+ designated by vmStorageSizeUnit. If this information is
+ not available, this value MUST be -1."
+ ::= { vmStorageEntry 11 }
+
+ vmStorageAllocatedSize OBJECT-TYPE
+ SYNTAX Integer32 (-1|0..2147483647)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The storage size allocated to the virtual storage from
+ a physical storage in the unit designated by
+ vmStorageSizeUnit. When the virtual storage is block
+ device or raw file, this value and vmStorageDefinedSize
+ are supposed to equal. This value MUST NOT be different
+ from vmStorageDefinedSize when vmStorageSourceType is
+ 'block' or 'raw'. If this information is not available,
+ this value MUST be -1."
+ ::= { vmStorageEntry 12 }
+
+ vmStorageReadIOs OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of read I/O requests.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 13 }
+
+ vmStorageWriteIOs OBJECT-TYPE
+
+
+
+Asai, et al. Standards Track [Page 28]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of write I/O requests.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 14 }
+
+ vmStorageReadOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of bytes read from this device.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 15 }
+
+ vmStorageWriteOctets OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of bytes written to this device.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 16 }
+
+ vmStorageReadLatency OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of microseconds read requests have
+ been queued for this device.
+
+ This would typically be implemented by storing the high
+ precision system timestamp of when the request is
+
+
+
+Asai, et al. Standards Track [Page 29]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ received from the virtual machine with the request, the
+ difference between this initial timestamp and the time
+ at which the requested operation has completed SHOULD be
+ converted to microseconds and accumulated.
+
+ Discontinuities in the value of this counter can occur at
+ re-initialization of the hypervisor and administrative
+ state (vmAdminState) changes of the virtual machine."
+ ::= { vmStorageEntry 17 }
+
+ vmStorageWriteLatency OBJECT-TYPE
+ SYNTAX Counter64
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total number of microseconds write requests have
+ been queued for this device.
+
+ This would typically be implemented by storing the high
+ precision system timestamp of when the request is
+ received from the virtual machine with the request; the
+ difference between this initial timestamp and the time
+ at which the requested operation has completed SHOULD be
+ converted to microseconds and accumulated.
+
+ Discontinuities in the value of this counter can occur
+ at re-initialization of the hypervisor and
+ administrative state (vmAdminState) changes of the
+ virtual machine."
+ ::= { vmStorageEntry 18 }
+
+
+ -- The virtual network interfaces on each virtual machine.
+ vmNetworkTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF VmNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The conceptual table of virtual network interfaces
+ attached to the virtual machine."
+ ::= { vmObjects 8 }
+
+ vmNetworkEntry OBJECT-TYPE
+ SYNTAX VmNetworkEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An entry for one virtual network interface attached to
+
+
+
+Asai, et al. Standards Track [Page 30]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ the virtual machine."
+ INDEX { vmIndex, vmNetworkIndex }
+ ::= { vmNetworkTable 1 }
+
+ VmNetworkEntry ::=
+ SEQUENCE {
+ vmNetworkIndex VirtualMachineNetworkIndex,
+ vmNetworkIfIndex InterfaceIndexOrZero,
+ vmNetworkParent InterfaceIndexOrZero,
+ vmNetworkModel SnmpAdminString,
+ vmNetworkPhysAddress PhysAddress
+ }
+
+ vmNetworkIndex OBJECT-TYPE
+ SYNTAX VirtualMachineNetworkIndex
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A unique value identifying a virtual network interface
+ allocated to the virtual machine."
+ ::= { vmNetworkEntry 1 }
+
+ vmNetworkIfIndex OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex, which corresponds to this virtual
+ network interface. If this device is not represented in
+ the ifTable, then this value MUST be zero."
+ ::= { vmNetworkEntry 2 }
+
+ vmNetworkParent OBJECT-TYPE
+ SYNTAX InterfaceIndexOrZero
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The value of ifIndex, which corresponds to the parent
+ (i.e., physical) device of this virtual device. The
+ value zero denotes this virtual device is not any
+ child represented in the ifTable."
+ ::= { vmNetworkEntry 3 }
+
+ vmNetworkModel OBJECT-TYPE
+ SYNTAX SnmpAdminString (SIZE (0..255))
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+
+
+
+Asai, et al. Standards Track [Page 31]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ "A textual string containing the (emulated) model of the
+ virtual network interface. For example, this value is
+ 'virtio' when the emulation driver model is virtio."
+ ::= { vmNetworkEntry 4 }
+
+ vmNetworkPhysAddress OBJECT-TYPE
+ SYNTAX PhysAddress
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The Media Access Control (MAC) address of the virtual
+ network interface."
+ ::= { vmNetworkEntry 5 }
+
+
+ -- Notification definitions:
+
+ vmPerVMNotificationsEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates if the notification generator will send
+ notifications per virtual machine. Changes to this
+ object MUST NOT persist across re-initialization of
+ the management system, e.g., SNMP agent."
+ ::= { vmObjects 9 }
+
+ vmBulkNotificationsEnabled OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "Indicates if the notification generator will send
+ notifications per set of virtual machines. Changes to
+ this object MUST NOT persist across re-initialization of
+ the management system, e.g., SNMP agent."
+ ::= { vmObjects 10 }
+
+ vmAffectedVMs OBJECT-TYPE
+ SYNTAX VirtualMachineList
+ MAX-ACCESS accessible-for-notify
+ STATUS current
+ DESCRIPTION
+ "A complete list of virtual machines whose state has
+ changed. This object is the only object sent with bulk
+ notifications."
+ ::= { vmObjects 11 }
+
+
+
+Asai, et al. Standards Track [Page 32]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmRunning NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ running(4) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 1 }
+
+ vmShuttingdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ shuttingdown(10) from some other state. The other state
+ is indicated by the included value of vmOperState."
+ ::= { vmNotifications 2 }
+
+ vmShutdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ shutdown(11) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 3 }
+
+ vmPaused NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+
+
+
+Asai, et al. Standards Track [Page 33]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ paused(8) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 4 }
+
+ vmSuspending NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ suspending(5) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 5 }
+
+ vmSuspended NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ suspended(6) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 6 }
+
+ vmResuming NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ resuming(7) from some other state. The other state is
+ indicated by the included value of vmOperState."
+
+
+
+Asai, et al. Standards Track [Page 34]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ ::= { vmNotifications 7 }
+
+ vmMigrating NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of a virtual machine has been changed to
+ migrating(9) from some other state. The other state is
+ indicated by the included value of vmOperState."
+ ::= { vmNotifications 8 }
+
+ vmCrashed NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when a virtual machine
+ has been crashed. The previous state of the virtual
+ machine is indicated by the included value of
+ vmOperState."
+ ::= { vmNotifications 9 }
+
+ vmDeleted NOTIFICATION-TYPE
+ OBJECTS {
+ vmName,
+ vmUUID,
+ vmOperState,
+ vmPersistent
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when a virtual machine
+ has been deleted. The prior state of the virtual
+ machine is indicated by the included value of
+ vmOperState."
+ ::= { vmNotifications 10 }
+
+ vmBulkRunning NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+
+
+
+Asai, et al. Standards Track [Page 35]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to running(4) from any prior state, except for
+ running(4). Management stations are encouraged to
+ subsequently poll the subset of virtual machines of
+ interest for vmOperState."
+ ::= { vmNotifications 11 }
+
+ vmBulkShuttingdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to shuttingdown(10) from a state other than
+ shuttingdown(10). Management stations are encouraged to
+ subsequently poll the subset of virtual machines of
+ interest for vmOperState."
+ ::= { vmNotifications 12 }
+
+ vmBulkShutdown NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machine has been changed to
+ shutdown(11) from a state other than shutdown(11).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 13 }
+
+ vmBulkPaused NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to paused(8) from a state other than paused(8).
+
+
+
+Asai, et al. Standards Track [Page 36]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 14 }
+
+ vmBulkSuspending NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to suspending(5) from a state other than suspending(5).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 15 }
+
+ vmBulkSuspended NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to suspended(6) from a state other than suspended(6).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 16 }
+
+ vmBulkResuming NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to resuming(7) from a state other than resuming(7).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 17 }
+
+ vmBulkMigrating NOTIFICATION-TYPE
+
+
+
+Asai, et al. Standards Track [Page 37]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when the operational
+ state of one or more virtual machines has been changed
+ to migrating(9) from a state other than migrating(9).
+ Management stations are encouraged to subsequently poll
+ the subset of virtual machines of interest for
+ vmOperState."
+ ::= { vmNotifications 18 }
+
+ vmBulkCrashed NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when one or more virtual
+ machines have been crashed. Management stations are
+ encouraged to subsequently poll the subset of virtual
+ machines of interest for vmOperState."
+ ::= { vmNotifications 19 }
+
+ vmBulkDeleted NOTIFICATION-TYPE
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "This notification is generated when one or more virtual
+ machines have been deleted. Management stations are
+ encouraged to subsequently poll the subset of virtual
+ machines of interest for vmOperState."
+ ::= { vmNotifications 20 }
+
+ -- Compliance definitions:
+ vmCompliances OBJECT IDENTIFIER ::= { vmConformance 1 }
+ vmGroups OBJECT IDENTIFIER ::= { vmConformance 2 }
+
+ vmFullCompliances MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Compliance statement for implementations supporting
+ read/write access, according to the object definitions."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+
+
+
+Asai, et al. Standards Track [Page 38]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmHypervisorGroup,
+ vmVirtualMachineGroup,
+ vmCpuGroup,
+ vmCpuAffinityGroup,
+ vmStorageGroup,
+ vmNetworkGroup
+ }
+ GROUP vmPerVMNotificationOptionalGroup
+ DESCRIPTION
+ "Support for per-VM notifications is optional. If not
+ implemented, then vmPerVMNotificationsEnabled MUST report
+ false(2)."
+ GROUP vmBulkNotificationsVariablesGroup
+ DESCRIPTION
+ "Necessary only if vmPerVMNotificationOptionalGroup is
+ implemented."
+ GROUP vmBulkNotificationOptionalGroup
+ DESCRIPTION
+ "Support for bulk notifications is optional. If not
+ implemented, then vmBulkNotificationsEnabled MUST report
+ false(2)."
+
+ ::= { vmCompliances 1 }
+
+ vmReadOnlyCompliances MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "Compliance statement for implementations supporting
+ only read-only access."
+ MODULE -- this module
+ MANDATORY-GROUPS {
+ vmHypervisorGroup,
+ vmVirtualMachineGroup,
+ vmCpuGroup,
+ vmCpuAffinityGroup,
+ vmStorageGroup,
+ vmNetworkGroup
+ }
+
+ OBJECT vmPerVMNotificationsEnabled
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+ OBJECT vmBulkNotificationsEnabled
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Write access is not required."
+
+
+
+Asai, et al. Standards Track [Page 39]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ ::= { vmCompliances 2 }
+
+ vmHypervisorGroup OBJECT-GROUP
+ OBJECTS {
+ vmHvSoftware,
+ vmHvVersion,
+ vmHvObjectID,
+ vmHvUpTime,
+ vmNumber,
+ vmTableLastChange,
+ vmPerVMNotificationsEnabled,
+ vmBulkNotificationsEnabled
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ hypervisor itself."
+ ::= { vmGroups 1 }
+
+ vmVirtualMachineGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmIndex
+ vmName,
+ vmUUID,
+ vmOSType,
+ vmAdminState,
+ vmOperState,
+ vmAutoStart,
+ vmPersistent,
+ vmCurCpuNumber,
+ vmMinCpuNumber,
+ vmMaxCpuNumber,
+ vmMemUnit,
+ vmCurMem,
+ vmMinMem,
+ vmMaxMem,
+ vmUpTime,
+ vmCpuTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual machines controlled by a hypervisor."
+ ::= { vmGroups 2 }
+
+ vmCpuGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmCpuIndex,
+
+
+
+Asai, et al. Standards Track [Page 40]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmCpuCoreTime
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual machines controlled by a hypervisor."
+ ::= { vmGroups 3 }
+
+ vmCpuAffinityGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmCpuPhysIndex,
+ vmCpuAffinity
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual machines controlled by a hypervisor."
+ ::= { vmGroups 4 }
+
+ vmStorageGroup OBJECT-GROUP
+ OBJECTS {
+ -- vmStorageVmIndex,
+ -- vmStorageIndex,
+ vmStorageParent,
+ vmStorageSourceType,
+ vmStorageSourceTypeString,
+ vmStorageResourceID,
+ vmStorageAccess,
+ vmStorageMediaType,
+ vmStorageMediaTypeString,
+ vmStorageSizeUnit,
+ vmStorageDefinedSize,
+ vmStorageAllocatedSize,
+ vmStorageReadIOs,
+ vmStorageWriteIOs,
+ vmStorageReadOctets,
+ vmStorageWriteOctets,
+ vmStorageReadLatency,
+ vmStorageWriteLatency
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual storage devices controlled by a hypervisor."
+ ::= { vmGroups 5 }
+
+ vmNetworkGroup OBJECT-GROUP
+ OBJECTS {
+
+
+
+Asai, et al. Standards Track [Page 41]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ -- vmNetworkIndex,
+ vmNetworkIfIndex,
+ vmNetworkParent,
+ vmNetworkModel,
+ vmNetworkPhysAddress
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing insight into the
+ virtual network interfaces controlled by a hypervisor."
+ ::= { vmGroups 6 }
+
+ vmPerVMNotificationOptionalGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vmRunning,
+ vmShuttingdown,
+ vmShutdown,
+ vmPaused,
+ vmSuspending,
+ vmSuspended,
+ vmResuming,
+ vmMigrating,
+ vmCrashed,
+ vmDeleted
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of notifications for per-VM notification
+ of changes to virtual machine state (vmOperState) as
+ reported by a hypervisor."
+ ::= { vmGroups 7 }
+
+ vmBulkNotificationsVariablesGroup OBJECT-GROUP
+ OBJECTS {
+ vmAffectedVMs
+ }
+ STATUS current
+ DESCRIPTION
+ "The variables used in vmBulkNotificationOptionalGroup
+ virtual network interfaces controlled by a hypervisor."
+ ::= { vmGroups 8 }
+
+ vmBulkNotificationOptionalGroup NOTIFICATION-GROUP
+ NOTIFICATIONS {
+ vmBulkRunning,
+ vmBulkShuttingdown,
+ vmBulkShutdown,
+ vmBulkPaused,
+
+
+
+Asai, et al. Standards Track [Page 42]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ vmBulkSuspending,
+ vmBulkSuspended,
+ vmBulkResuming,
+ vmBulkMigrating,
+ vmBulkCrashed,
+ vmBulkDeleted
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of notifications for bulk notification of
+ changes to virtual machine state (vmOperState) as
+ reported by a given hypervisor."
+ ::= { vmGroups 9 }
+
+ END
+
+6.2. IANA-STORAGE-MEDIA-TYPE-MIB
+
+ IANA-STORAGE-MEDIA-TYPE-MIB DEFINITIONS ::= BEGIN
+
+ IMPORTS
+ MODULE-IDENTITY, mib-2
+ FROM SNMPv2-SMI
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC;
+
+ ianaStorageMediaTypeMIB MODULE-IDENTITY
+ LAST-UPDATED "201510120000Z" -- 12 October 2015
+ ORGANIZATION "IANA"
+ CONTACT-INFO
+ "Internet Assigned Numbers Authority
+ Postal: ICANN
+ 12025 Waterfront Drive, Suite 300
+ Los Angeles, CA 90094-2536
+ United States
+ Tel: +1 310-301-5800
+ Email: iana@iana.org"
+
+ DESCRIPTION
+ "This MIB module defines Textual Conventions
+ representing the media type of a storage device.
+
+ Copyright (c) 2015 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
+
+
+
+Asai, et al. Standards Track [Page 43]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ 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 "201510120000Z" -- 12 October 2015
+ DESCRIPTION
+ "The initial version of this MIB, published as
+ RFC 7666."
+ ::= { mib-2 237 }
+
+ IANAStorageMediaType ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "The media type of a storage device:
+
+ unknown(1) The media type is unknown, e.g., because
+ the implementation failed to obtain the
+ media type from the hypervisor.
+
+ other(2) The media type is other than those
+ defined in this conversion.
+
+ hardDisk(3) The media type is hard disk.
+
+ opticalDisk(4) The media type is optical disk.
+
+ floppyDisk(5) The media type is floppy disk."
+
+ SYNTAX INTEGER {
+ other(1),
+ unknown(2),
+ hardDisk(3),
+ opticalDisk(4),
+ floppyDisk(5)
+ }
+
+ END
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 44]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+7. IANA Considerations
+
+ This document defines the first version of the IANA-maintained
+ IANA-STORAGE-MEDIA-TYPE-MIB module, which allows new storage media
+ types to be added to the enumeration in IANAStorageMediaType. An
+ Expert Review, as defined in RFC 5226 [RFC5226], is REQUIRED for each
+ modification.
+
+ The MIB module in this document uses the following IANA-assigned
+ OBJECT IDENTIFIER values recorded in the SMI Numbers registry:
+
+ Descriptor OBJECT IDENTIFIER value
+ ---------- -----------------------
+
+ vmMIB { mib-2 236 }
+ ianaStorageMediaTypeMIB { mib-2 237 }
+
+8. Security Considerations
+
+ This MIB module is typically implemented on the hypervisor not inside
+ a virtual machine. Virtual machines, possibly under other
+ administrative domains, would not have access to this MIB as the SNMP
+ service would typically operate in a separate management network.
+
+ There are two objects defined in this MIB module,
+ vmPerVMNotificationsEnabled and vmBulkNotificationsEnabled, that have
+ a MAX-ACCESS clause of read-write. Enabling notifications can lead
+ to a substantial number of notifications if many virtual machines
+ change their state concurrently. Hence, such objects may be
+ considered sensitive or vulnerable in some network environments. The
+ support for SET operations in a non-secure environment without proper
+ protection can have a negative effect on the management system. It
+ is RECOMMENDED that these objects have access of read-only instead of
+ read-write on deployments where SNMPv3 strong security (i.e.,
+ authentication and encryption) is not used.
+
+ There are a number of managed objects in this MIB that may contain
+ sensitive information. The objects in the vmHvSoftware and
+ vmHvVersion list information about the hypervisor's software and
+ version. Some may wish not to disclose to others which software they
+ are running. Further, an inventory of the running software and
+ versions may be helpful to an attacker who hopes to exploit software
+ bugs in certain applications. Moreover, the objects in the vmTable,
+ vmCpuTable, vmCpuAffinityTable, vmStorageTable, and
+ vmNetworkTable list information about the virtual machines and their
+ virtual resource allocation. Some may wish not to disclose to others
+ how many and what virtual machines they are operating.
+
+
+
+
+Asai, et al. Standards Track [Page 45]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ It is thus important to control even GET access to these objects and
+ possibly to even encrypt the values of these objects when sending
+ them over the network via SNMP. Not all versions of SNMP provide
+ features for such a secure environment.
+
+ SNMPv1 by itself is not a secure environment. Even if the network
+ itself is secure (for example by using IPsec), there is no control as
+ to who on the secure network is allowed to access and GET/SET
+ (read/change/create/delete) the objects in this MIB module.
+
+ It is recommended that the implementers consider using the security
+ features as provided by the SNMPv3 framework. Specifically, the use
+ of the User-based Security Model [RFC3414] and the View-based Access
+ Control Model [RFC3415] is recommended.
+
+ It is then a customer/user responsibility to ensure that the SNMP
+ entity giving access to an instance of this MIB is properly
+ configured to give access to the objects only to those principals
+ (users) that have legitimate rights to indeed GET or SET
+ (change/create/delete) them.
+
+9. References
+
+9.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <http://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Structure of Management Information
+ Version 2 (SMIv2)", STD 58, RFC 2578,
+ DOI 10.17487/RFC2578, April 1999,
+ <http://www.rfc-editor.org/info/rfc2578>.
+
+ [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Textual Conventions for SMIv2",
+ STD 58, RFC 2579, DOI 10.17487/RFC2579, April 1999,
+ <http://www.rfc-editor.org/info/rfc2579>.
+
+ [RFC2580] McCloghrie, K., Ed., Perkins, D., Ed., and J.
+ Schoenwaelder, Ed., "Conformance Statements for SMIv2",
+ STD 58, RFC 2580, DOI 10.17487/RFC2580, April 1999,
+ <http://www.rfc-editor.org/info/rfc2580>.
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 46]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ [RFC2790] Waldbusser, S. and P. Grillo, "Host Resources MIB",
+ RFC 2790, DOI 10.17487/RFC2790, March 2000,
+ <http://www.rfc-editor.org/info/rfc2790>.
+
+ [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group
+ MIB", RFC 2863, DOI 10.17487/RFC2863, June 2000,
+ <http://www.rfc-editor.org/info/rfc2863>.
+
+ [RFC3413] Levi, D., Meyer, P., and B. Stewart, "Simple Network
+ Management Protocol (SNMP) Applications", STD 62,
+ RFC 3413, DOI 10.17487/RFC3413, December 2002,
+ <http://www.rfc-editor.org/info/rfc3413>.
+
+ [RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model
+ (USM) for version 3 of the Simple Network Management
+ Protocol (SNMPv3)", STD 62, RFC 3414,
+ DOI 10.17487/RFC3414, December 2002,
+ <http://www.rfc-editor.org/info/rfc3414>.
+
+ [RFC3415] Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
+ Access Control Model (VACM) for the Simple Network
+ Management Protocol (SNMP)", STD 62, RFC 3415,
+ DOI 10.17487/RFC3415, December 2002,
+ <http://www.rfc-editor.org/info/rfc3415>.
+
+ [RFC3418] Presuhn, R., Ed., "Management Information Base (MIB) for
+ the Simple Network Management Protocol (SNMP)", STD 62,
+ RFC 3418, DOI 10.17487/RFC3418, December 2002,
+ <http://www.rfc-editor.org/info/rfc3418>.
+
+ [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
+ IANA Considerations Section in RFCs", BCP 26, RFC 5226,
+ DOI 10.17487/RFC5226, May 2008,
+ <http://www.rfc-editor.org/info/rfc5226>.
+
+ [RFC6933] Bierman, A., Romascanu, D., Quittek, J., and M.
+ Chandramouli, "Entity MIB (Version 4)", RFC 6933,
+ DOI 10.17487/RFC6933, May 2013,
+ <http://www.rfc-editor.org/info/rfc6933>.
+
+9.2. Informative References
+
+ [IEEE8021-BRIDGE-MIB]
+ IEEE, "IEEE8021-BRIDGE-MIB", October 2008,
+ <http://www.ieee802.org/1/files/public/MIBs/
+ IEEE8021-BRIDGE-MIB-200810150000Z.txt>.
+
+
+
+
+
+Asai, et al. Standards Track [Page 47]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ [IEEE8021-Q-BRIDGE-MIB]
+ IEEE, "IEEE8021-Q-BRIDGE-MIB", October 2008,
+ <http://www.ieee802.org/1/files/public/MIBs/
+ IEEE8021-Q-BRIDGE-MIB-200810150000Z.txt>.
+
+ [libvirt] The libvirt developers, "The libvirt virtialization API",
+ <http://www.libvirt.org/>.
+
+ [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart,
+ "Introduction and Applicability Statements for Internet-
+ Standard Management Framework", RFC 3410,
+ DOI 10.17487/RFC3410, December 2002,
+ <http://www.rfc-editor.org/info/rfc3410>.
+
+ [VMware] VMware, Inc., "The VMware Hypervisor",
+ <http://www.vmware.com/>.
+
+ [Xen] The Xen Project, "The Xen Hypervisor",
+ <http://www.xenproject.org/>.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 48]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+Appendix A. State Transition Table
+
+ +--------------+----------------+--------------+--------------------+
+ | State | Change to | Next State | Notification |
+ | | vmAdminState | | |
+ | | at the | | |
+ | | hypervisor or | | |
+ | | (Event) | | |
+ +--------------+----------------+--------------+--------------------+
+ | suspended | running | resuming | vmResuming | |
+ | | | | vmBulkResuming |
+ | | | | |
+ | suspending | (suspend | suspended | vmSuspended | |
+ | | operation | | vmBulkSuspended |
+ | | completed) | | |
+ | | | | |
+ | running | suspended | suspending | vmSuspending | |
+ | | | | vmBulkSuspending |
+ | | | | |
+ | | shutdown | shuttingdown | vmShuttingdown | |
+ | | | | vmBulkShuttingdown |
+ | | | | |
+ | | (migration to | migrating | vmMigrating | |
+ | | other | | vmBulkMigrating |
+ | | hypervisor | | |
+ | | initiated) | | |
+ | | | | |
+ | resuming | (resume | running | vmRunning | |
+ | | operation | | vmBulkRunning |
+ | | completed) | | |
+ | | | | |
+ | paused | running | running | vmRunning | |
+ | | | | vmBulkRunning |
+ | | | | |
+ | shuttingdown | (shutdown | shutdown | vmShutdown | |
+ | | operation | | vmBulkShutdown |
+ | | completed) | | |
+ | | | | |
+ | shutdown | running | running | vmRunning | |
+ | | | | vmBulkRunning |
+ | | | | |
+ | | (if this state | migrating | vmMigrating | |
+ | | entry is | | vmBulkMigrating |
+ | | created by a | | |
+ | | migration | | |
+ | | operation (*) | | |
+ | | | | |
+
+
+
+
+Asai, et al. Standards Track [Page 49]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+ | | (deletion | (no state) | vmDeleted | |
+ | | operation | | vmBulkDeleted |
+ | | completed) | | |
+ | | | | |
+ | migrating | (migration | running | vmRunning | |
+ | | from other | | vmBulkRunning |
+ | | hypervisor | | |
+ | | completed) | | |
+ | | | | |
+ | | (migration to | shutdown | vmShutdown | |
+ | | other | | vmBulkShutdown |
+ | | hypervisor | | |
+ | | completed) | | |
+ | | | | |
+ | preparing | (preparation | shutdown | vmShutdown | |
+ | | completed) | | vmBulkShutdown |
+ | | | | |
+ | crashed | - | - | - |
+ | | | | |
+ | | (crashed) | crashed | vmCrashed | |
+ | | | | vmBulkCrashed |
+ | | | | |
+ | (no state) | (preparation | preparing | - |
+ | | initiated) | | |
+ | | | | |
+ | | (migrate from | shutdown (*) | vmShutdown | |
+ | | other | | vmBulkShutdown |
+ | | hypervisor | | |
+ | | initiated) | | |
+ +--------------+----------------+--------------+--------------------+
+
+ State Transition Table for vmOperState
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 50]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+Acknowledgements
+
+ The authors would like to thank Andy Bierman, David Black, Joe Marcus
+ Clarke, C.M. Heard, Joel Jaeggli, Tom Petch, Randy Presuhn, and Ian
+ West for providing helpful comments during the development of this
+ specification.
+
+ Juergen Schoenwaelder was partly funded by Flamingo, a Network of
+ Excellence project (ICT-318488) supported by the European Commission
+ under its Seventh Framework Programme.
+
+Contributors
+
+ Yuji Sekiya
+ The University of Tokyo
+ 2-11-16 Yayoi
+ Bunkyo-ku, Tokyo 113-8658
+ Japan
+
+ Email: sekiya@wide.ad.jp
+
+
+ Cathy Zhou
+ Huawei Technologies
+ Bantian, Longgang District
+ Shenzhen 518129
+ China
+
+ Email: cathyzhou@huawei.com
+
+
+ Hiroshi Esaki
+ The University of Tokyo
+ 7-3-1 Hongo
+ Bunkyo-ku, Tokyo 113-8656
+ Japan
+
+ Email: hiroshi@wide.ad.jp
+
+
+
+
+
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 51]
+
+RFC 7666 Virtual Machine Monitoring MIB October 2015
+
+
+Authors' Addresses
+
+ Hirochika Asai
+ The University of Tokyo
+ 7-3-1 Hongo
+ Bunkyo-ku, Tokyo 113-8656
+ Japan
+
+ Phone: +81 3 5841 6748
+ Email: panda@hongo.wide.ad.jp
+
+
+ Michael MacFaden
+ VMware Inc.
+
+ Email: mrm@vmware.com
+
+
+ Juergen Schoenwaelder
+ Jacobs University
+ Campus Ring 1
+ Bremen 28759
+ Germany
+
+ Email: j.schoenwaelder@jacobs-university.de
+
+
+ Keiichi Shima
+ IIJ Innovation Institute Inc.
+ 2-10-2 Fujimi
+ Chiyoda-ku, Tokyo 102-0071
+ Japan
+
+ Email: keiichi@iijlab.net
+
+
+ Tina Tsou
+ Huawei Technologies (USA)
+ 2330 Central Expressway
+ Santa Clara, CA 95050
+ United States
+
+ Email: tina.tsou.zouting@huawei.com
+
+
+
+
+
+
+
+
+Asai, et al. Standards Track [Page 52]
+