Skip to content
Luca Dell'Oca Principal Cloud Architect @Veeam
Virtual To The Core Virtual To The Core

Virtualization blog, the italian way.

  • Media
  • About me
Virtual To The Core
Virtual To The Core

Virtualization blog, the italian way.

[IT] L’allineamento delle VM, problemi e soluzioni

Luca Dell'Oca, November 9, 2011November 7, 2011

In una struttura VMware, esistono tre differenti livelli di storage che astraggono i dischi fisici dello storage su su fino alla virtual machines (le immagini sono prese da un whitepaper per ESX 3, Recommendations for Aligning VMFS Partitions):

Ogni livello organizza le informazioni secondo le proprie logiche, e non sempre queste sono coerenti tra di loro. Una SAN potrà formattare lo spazio in blocchi da 128kb, VMFS formatterà la LUN che gli viene presentata in blocchi 64kb, e infine all’interno della VM il sistema operativo formatterà i dischi virtuali secondo sue logiche.

Il risultato, quasi sicuramente, è che i tre livelli non sono praticamente mai allineati tra di loro, e una lettura/scrittura di un singolo blocco a livello VM potrebbe interessare sullo storage fino a 3 blocchi:

Questo ovviamente porta a un degrado prestazionale, o quantomeno a un eccesso di I/O sullo storage non necessario. Se i tre livelli fossero allineati, avremmo una soluzione simile a questa:

dove quindi l’attività su un cluster a livello VM comporta l’uso di un solo blocco dello storage, massimizzando le prestazioni.

Il problema, spesso, non risiede nel VMFS, in quanto questo viene allineato in fase di creazione a 64k, il che è compatibile con la maggior pate degli storage vendor (è opportuno comunque verificare il proprio caso specifico).

Dove avviene il degrado quindi? Solitamente nel file system delle virtual machines. Ad esempio Windows effettua un allieamento differente a seconda del sistema operativo. Valutando i valori di NTFS con quelli di VMFS, ci possiamo accorgere che:

Windows 2003: allineamento a 32k, sopra a VMFS a 64k -> 32k / 64k = 0,5 -> Non allineato

Windows 2008: allineamento a 1024k, sopra a VMFS a 64k -> 1024k / 64k = 16 -> Allineato

E’ possibile ovviamente effetuare questa verifica anche per molti altri sistemi operativi: fintanto che il risultato della divisione non è una frazione, la partizione è allineata.

Quindi, se un Windows 2008 è già allineato (ATTENZIONE: solo le installazioni native, non eventuali aggiornamenti da sistemi precedenti!), ciò non vale per tutti gli altri.

 

Come è possibile verificare l’allineamento? Esistono diverse possbilità, anche se le due più comode sono:

– Vizioncore vOptimizer Wastefinder Utility

– da pochi giorni la spettacolare UBERAlign, creata da Nicholas Weaver.

Per capire cosa è in grado di fare UBERAlign, e le spettacolari funzioni che Nick ha inserito nel tool (completamente gratuito!), leggetevi il link che ho indicato. UBERAlign non solo è in grado di analizzare lo stato di allineamento delle VM, ma anche di procedere al loro allineamento stesso. Vi indico solo alcune delle funzioni più interessanti:

– gestisce partizioni linux e windows; anche i dischi C: che altri tool non supportano, primarie o estese, anche con lettere non convenzionali

– è in grado di liberare spazio disco mentre si effettua l’allineamento, ad esempio convertendo un disco da thick a thin

– gestisce fino a 6 job contemporanei

– effettua tutte le operazioni IN-PLACE, senza quindi dover creare copie dei dischi

– crea automaticamente delle snapshot delle VM prima di allineare, così se qualcosa va storto è sufficiente effettuare un revert

Sto installando l’applicazione (distribuita come virtual appliance + console) nel mio lab, a breve farò un articolo con dei casi reali!

Share this:

  • Click to share on X (Opens in new window) X
  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on LinkedIn (Opens in new window) LinkedIn
  • Click to email a link to a friend (Opens in new window) Email
  • Click to share on Tumblr (Opens in new window) Tumblr
  • Click to share on Pinterest (Opens in new window) Pinterest
  • Click to share on Reddit (Opens in new window) Reddit
  • Click to share on WhatsApp (Opens in new window) WhatsApp
  • Click to share on Pocket (Opens in new window) Pocket
Tecnologia allineamentouberalignVM

Post navigation

Previous post
Next post

Search

Sponsors

Latest Posts

  • Migrate WSL (Windows Subsystem for Linux) to a new computer
  • Pass keystrokes to a pfSense virtual machine to install it automatically
  • Automatically deploy pfSense with Terraform and Ansible
  • My Automated Lab project: #6 Create a S3 Bucket with Terraform
  • My Automated Lab project: #5 Deploy a Linux vSphere VM with Terraform and custom disks
©2025 Virtual To The Core | WordPress Theme by SuperbThemes
We use cookies to ensure that we give you the best experience on our website, and to collect anonymous data regarding navigations stats using 3rd party plugins; they all adhere to the EU Privacy Laws. If you continue to use this site we will assume that you are ok with it.OkNoPrivacy Policy