What is VM storage?

Virtual Machine (VM) storage refers to the virtual disks that are allocated for virtual machines to store data associated with their operations. Just like a physical computer stores data on a hard drive, VMs need virtual disks to save data, applications, and system files.

What is VM storage?

VM storage enables several key functions:

  • Persistent storage for preserving VM system state and data when powered off
  • Space for installing operating systems, applications, and files
  • I/O operations for running workloads and tasks
  • Snapshots for reverting back to previous VM states

Types of VM storage

There are several main types of storage that can be used with virtual machines:

Block storage

Block storage carves out logical blocks from a storage area network (SAN) to serve as virtual drives for VMs. Key features:

  • Abstracted from server
  • Network-based
  • Able to leverage SAN capabilities like redundancy and high availability

File storage

File storage utilizes a dedicated file server or filer to provide a file system that VMs can mount/access. Features:

  • Centralized storage repository outside of VMs
  • Accessible over standard protocols like NFS or SMB

Object storage

Object storage manages data as objects in a flat pool rather than files in folders/directories. Beneficial for:

  • Scale-out storage architecture
  • Large amounts of unstructured data

Direct-attached storage

Direct-attached storage refers to storage media directly connected to the physical server hosting VMs via disk controllers. Typically provides the highest performance but less flexibility.

Key capabilities

VM storage enables some very important capabilities:

Portability – VMs can move between servers while retaining the same configuration and virtual disks, making VM storage highly portable.

Isolation – VM storage is separate from the underlying physical storage hardware, providing strong isolation for VMs.

Flexibility – Various tiers and types of storage can be allocated based on VM performance, capacity, and availability needs.

Virtual datastores – Hypervisors can create virtual datastore constructs spanning multiple storage devices, useful for resource pools.

Snapshots – VM state can be preserved in snapshots of VM storage for backup/restore needs.

Caching – Advanced VM storage subsystems provide intelligent caching for increased I/O performance.

Storage configuration

There are some key options available for configuring VM storage:

Virtual disk format – VMDK and VHD/VHDX are common VM virtual disk formats supported by major hypervisors.

Thin/thick provisioning – Thin provisioning allocates storage on-demand versus allocating full capacity upfront with thick disks.

Pre-allocation – For thin disks, pre-allocation commits storage capacity in advance for improved performance.

Storage tiers – Different tiers like HDD, SSD, SAN/NAS can be used based on the balance of performance vs. price needed.

RAID configurations – Multiple disks can employ RAID 0/1/5/10 for better capacity or redundancy behind a VM’s virtual disk.

Caching settings – I/O caching configurations optimize read/write handling between guest VMs and underlying storage hardware.

Sizing – Appropriately sizing storage to match VM workload demands is key to achieving application performance targets while minimizing unnecessary costs. Continuous monitoring of utilization over time can identify resizing needs.

Storage performance optimization

There are also techniques that can be applied to optimize storage performance for VMs:

Storage QoS policies – Implement QoS policies to constrain IOPs/bandwidth if certain “noisy neighbor” VMs are impacting others’ storage performance. This ensures fair allocation.

I/O scheduling – Tune I/O scheduler settings at the guest VM and hypervisor levels to achieve best storage efficiency for sequential versus random I/O handling.

Offload tasks – Features like hypervisor swapping, checksum offloads and TCP chimney offloads target specific CPU-intensive I/O functions to improve throughput at the storage subsystem level.

Caching settings – Fine-tuning caching block sizes and flushing mechanisms can significantly boost performance for read-intensive and write-intensive workloads depending on data access patterns.

VM spreading – Evenly spreading VMs across available datastores/LUNs and controllers avoids uneven resource contention. Hyperconverged infrastructure facilitates this process.

Careful planning, monitoring, and optimization best practices allow organizations to build robust yet versatile VM storage infrastructure able to keep pace with dynamic business application demands. The separation and flexibility inherent to VM storage unlocks infrastructure agility while supporting distributed workloads at enterprise-class scale.

Key takeaway

VM storage provides the critically important role of supplying persistent, resilient and efficient storage capacity for virtual machines to run workloads, store data and maintain state. Properly configuring and right-sizing VM storage using a combination of storage tiers aligned to performance needs allows it to deliver the speed, availability and scalability required even for large-scale and data-intensive cloud applications.

Conclusion

Virtualized infrastructure and cloud computing has placed increasing emphasis on shared storage and stateless systems. VM storage bridges the gap by providing protected isolation for VMs to own their boot volumes, applications, settings, snapshots and data.

Various VM storage constructs ranging from SANs to virtualized datastores to direct-attached disks provide flexible options to match price, performance and availability requirements. Features like pre-allocation and thin provisioning optimize utilization, while snapshots, replication, and backup capabilities increase data protection and disaster recovery.

By following best practices around profiling workloads, monitoring usage over time, and spreading resource access, the full capabilities of modern VM storage subsystems can be leveraged. For these reasons VM storage remains a foundational technology for successfully operating virtualized infrastructure.

FAQS

  1. What types of storage can you use for VMs?
    Common storage options for VMs include SAN, NAS, DAS, object storage, as well as virtual datastores aggregating multiple storage devices into pooled capacity.

  2. How is VM storage presented to guest VMs?
    Hypervisors emulate disk controllers to surface VM storage to guest VMs, which see the virtual disks as locally attached even if network storage provides the backend capacity.

  3. What is thick vs thin provisioning?
    Thick provisioning pre-allocates the full virtual disk capacity upfront. Thin provisioning starts small and grows on-demand, saving storage capacity. Pre-allocation further commits thin disk capacity in advance.

  4. What virtual disk formats work with VMs?
    Common virtual disk formats include VMDK (VMware virtual machine disk) and VHD/VHDX (Microsoft virtual hard disk/virtual hard disk extended).

  5. How can you optimize VM storage performance?
    Optimizing VM storage performance involves spreading I/O, using storage QoS, tuning I/O scheduling, caching, and offloading CPU-intensive storage tasks via paravirtualization drivers.

  6. What is a VM storage snapshot?
    A VM storage snapshot captures the state of a VM’s virtual disks at an instant in time, useful for backup/recovery needs. Snapshots use delta disks to store changes since snapshot creation.

  7. How can VM storage be tiered?
    VM storage can be tiered by placing more performance-sensitive VMs on SSD/flash while less I/O intensive VMs use lower-cost HDD capacity.

  8. Why properly size VM storage?
    Right-sizing VM storage avoids wasting capacity, reduces storage costs, and improves performance by eliminating disk contention. Monitoring usage over time informs proper sizing.

  9. How does VM storage provide data protection?
    VM storage facilitates data protection via array-based replication and snapshots for online/offline backup needs. Virtual disk redundancy also improves availability similar to RAID for DAS.

  10. What is VM storage portability?
    VM storage portability allows VM images containing entire systems to easily move across servers/locations while maintaining consistent identity and configuration – a key VM benefit.

  11. Can you use local disk, SAN and NAS for VMs simultaneously?
    Yes – a combination of storage types can be utilized based on VM needs. Fast DAS may support transactional VMs, while shared SANs/NAS provide versatility for general-purpose capacity.

  12. How is VM storage isolated?
    VM storage is isolated from both the physical server and from other VMs at the hypervisor virtualization layer for stronger compartmentalization as well as centralized management.

  13. What is vSphere datastore storage?
    vSphere datastore construct logical abstractions facilitating shared storage resources pooling from available storage hardware backing all connected ESXi hosts.

  14. How can VM storage be resilient?
    VM storage resilience leverages vSphere features like Storage DRS for automated load balancing, storage-based replication, RAID0+1 redundancy, effective caching and QoS throttle settings.

  15. What is VVol storage?
    VMware Virtual Volumes (VVols) allow finer granularity control over external SAN/NAS storage QoS, snapshots and policies compared to traditional datastores.

  16. Why use VM storage instead of containers?
    Containers provide operating system-level virtualization unlike VMs that virtualize hardware for fully isolated Guest OS instances and user stateful applications.

  17. What are vDisks?
    vDisks are specialized persistent virtual disks storing master images in desktop virtualization solutions like Citrix Virtual Desktop Infrastructure (VDI).

  18. How does vMotion work with VM storage?
    vMotion allows live migration of VMs between hosts while maintaining storage accessibility, enabled by shared storage connectivity to VM storage from all servers in the cluster.

  19. What is VMware vSAN?
    vSAN provides hypervisor-converged storage for VMs by aggregating direct-attached capacity across hosts into a pooled and redundant shared datastore with intelligence for caching and storage policies.

  20. How can you monitor VM storage capacity?
    Monitoring tools like vRealize Operations Manager track VM storage use over time, forecast capacity growth rates, and model “what-if” scenarios to optimize and right-size VM storage.

Leave a Comment