VMware

Estructura de discos VMDK en VCSA 6.0 / 6.5 / 6.7

En versiones anteriores a 6.0 la arquitectura de discos de los VCSA solamente tenia 2 VMDKs. El primero era usado tanto por el OS de vCenter como para aplicaciones como vpxd, vSphere Web Client, etc. La segunda partición era donde todos los datos de aplicaciones eran almacenados, tales como VCDB, SSO, DB, logs. etc.

Con este diseño hubieron desafíos grandes, ya que no se podía aumentar fácilmente la capacidad del disco para un componente de aplicación en particular. Si necesitábamos más almacenamiento para el VCDB pero no para sus logs u otras aplicaciones, no teníamos mas remedio que aumentar todo el volumen. Esto era un completo dolor de cabeza porque VMware no utilizaba la funcionalidad Logical Volume Manager (LVM) de linux en sus VCSAs para administrar los discos. 

Esto significaba que debíamos detener el servicio de vCenter Server (vpxd), agregar un nuevo disco, formatearlo y luego copiar todos los datos del volumen anterior al nuevo. Una completa tragedia!

Otra grave limitante con el diseño anterior era que no se podían aplicar políticas de almacenamiento en datos importantes, como por ejemplo para VCDB, donde se desea un un nivel más rápido de almacenamiento y al mismo tiempo poner los logs en un nivel de almacenamiento más lento y económico, ya que las políticas de almacenamiento se aplican directamente a los VMDKs.

Estructura VMDK en VCSA 6.0 / 6.5 / 6.7

La estructura VMDK en VCSA 6.0 llego para simplificar la manera de segmentar las diversas funciones en sus propias particiones de disco que comprenden 11 VMDKs en comparación con el diseño de 2 VMDKs. Esto no solo le permite aumentar la capacidad para una partición específica, sino que ahora también puede utilizar políticas de almacenamiento por VMDK específicos.

VCSA 6.5 tiene una estructura de discos muy similar a vCenter Server Appliance 6.0. Cada VMDK es utilizado para una función especifica dentro de su propia partición en Photon OS. En VCSA 6.5 se incluyeron 2 nuevas particiones para un total de 12 VMDKs, 2 mas en comparación con VCSA 6.0. Estas particiones nuevas son utilizadas para Update Manager (VUM) e image Builder. Por ultimo y no menos importante VCSA 6.7 incluye un nuevo disco para un total de 13, el cual es utilizado para Write-Ahead Logging.

En la siguiente tabla podemos comparar la estructura VMDK de VCSA 6.x basado en una instalación Tiny

Disco VCSA 6.0 VCSA 6.5VCSA 6.7Usado paraMontando en
VMDK1 12GB12GB12GB Partición root  10.9GB
Partición de aranque 132MB
Swap 1GB
/
/boot
[SWAP]
VMDK21.2GB1.8GB1.8GBPaquetes RPM del VCSANo se monta luego de la instalación
VMDK325GB25GB25GBSwapsda2
VMDK425GB25GB25GBCore/storage/core
VMDK510GB10GB10GBLogs/storage/log
VMDK610GB10GB10GBBase de datos/storage/db
VMDK75GB15GB15GBLogs de base de datos/storage/dblog
VMDK810GB10GB10GBEstadisticas, eventos y tareas (SEAT)/storage/seat
VMDK91GB1GB1GBNet Dumper/storage/netdump
VMDK1010GB10GB10GBAuto Deploy/storage/autodeploy
VMDK11No Existe *10GB10GBImage Builder/storage/imagebuilder
VMDK12No existe100GB100GBUpdate Manager/storage/updatemgr
VMDK13No existeNo existe50GBWrite-Ahead Logging (WAL)/storage/archive

Nota: VMDK11 en VCSA 6.0 tenia un tamaño de 5GB y estaba montado en /storage/invsvc. En VCSA 6.5 esa particion no es mas requerida la cual es reemplazada por /storage/imagebuilder.

Actualización 08/16/2019: En algunas ocasiones el mapeo de los discos mostrados en el cliente web de vCenter no concuerdan en el orden mostrado en la tabla de distribución de discos mostrada arriba en el shell de VCSA. Para eso debemos de hacer un chequeo cruzado del controlador SCSI de cada disco contra la información mostrada en el shell de nuestro VCSA. En este articulo de mi blog están los detalles para realizar este verificación.

En circunstancias normales donde el orden de los discos y el controlador SCSI están correctos, tenemos algunos comandos útiles para poder ver la información detallada en la tabla mostrada arriba:

lsscsi
lsblk

VCSA 6.0

VCSA:~ # lsscsi
[0:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[0:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb
[0:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc
[0:0:3:0]    disk    VMware   Virtual disk     1.0   /dev/sdd
[0:0:4:0]    disk    VMware   Virtual disk     1.0   /dev/sde
[0:0:5:0]    disk    VMware   Virtual disk     1.0   /dev/sdf
[0:0:6:0]    disk    VMware   Virtual disk     1.0   /dev/sdg
[0:0:8:0]    disk    VMware   Virtual disk     1.0   /dev/sdh
[0:0:10:0]   disk    VMware   Virtual disk     1.0   /dev/sdi
[0:0:12:0]   disk    VMware   Virtual disk     1.0   /dev/sdj
[0:0:14:0]   disk    VMware   Virtual disk     1.0   /dev/sdk
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR00 1.00  /dev/sr0

VCSA:~ # lsblk
NAME                              MAJ:MIN RM   SIZE RO MOUNTPOINT
sda                                 8:0    0    12G  0
├─sda1                              8:1    0   132M  0 /boot
├─sda2                              8:2    0     1G  0 [SWAP]
└─sda3                              8:3    0  10.9G  0 /
sdb                                 8:16   0   1.5G  0
sdc                                 8:32   0    25G  0
└─swap_vg-swap1 (dm-8)            253:8    0    25G  0 [SWAP]
sdd                                 8:48   0    25G  0
└─core_vg-core (dm-7)             253:7    0    25G  0 /storage/core
sde                                 8:64   0    10G  0
└─log_vg-log (dm-6)               253:6    0    10G  0 /storage/log
sdf                                 8:80   0    10G  0
└─db_vg-db (dm-5)                 253:5    0    10G  0 /storage/db
sdg                                 8:96   0     5G  0
└─dblog_vg-dblog (dm-4)           253:4    0     5G  0 /storage/dblog
sdh                                 8:112  0    10G  0
└─seat_vg-seat (dm-3)             253:3    0    10G  0 /storage/seat
sdi                                 8:128  0     1G  0
└─netdump_vg-netdump (dm-2)       253:2    0  1016M  0 /storage/netdump
sdj                                 8:144  0    10G  0
└─autodeploy_vg-autodeploy (dm-1) 253:1    0    10G  0 /storage/autodeploy
sdk                                 8:160  0     5G  0
└─invsvc_vg-invsvc (dm-0)         253:0    0     5G  0 /storage/invsvc
sr0                                11:0    1  1024M  0

VCSA 6.5

root@vcsa1 [ ~ ]# lsscsi
[0:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR00 1.00  /dev/sr0
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc
[2:0:3:0]    disk    VMware   Virtual disk     1.0   /dev/sdd
[2:0:4:0]    disk    VMware   Virtual disk     1.0   /dev/sde
[2:0:5:0]    disk    VMware   Virtual disk     1.0   /dev/sdf
[2:0:6:0]    disk    VMware   Virtual disk     1.0   /dev/sdg
[2:0:8:0]    disk    VMware   Virtual disk     1.0   /dev/sdh
[2:0:9:0]    disk    VMware   Virtual disk     1.0   /dev/sdi
[2:0:10:0]   disk    VMware   Virtual disk     1.0   /dev/sdj
[2:0:11:0]   disk    VMware   Virtual disk     1.0   /dev/sdk
[2:0:12:0]   disk    VMware   Virtual disk     1.0   /dev/sdl


root@vcsa1 [ ~ ]# lsblk
NAME                           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                              8:0    0   12G  0 disk
├─sda1                           8:1    0  128M  0 part /boot
├─sda2                           8:2    0    1G  0 part [SWAP]
├─sda3                           8:3    0 10.9G  0 part /
└─sda4                           8:4    0    3M  0 part
sdb                              8:16   0  1.8G  0 disk
sdc                              8:32   0   25G  0 disk
└─swap_vg-swap1                252:1    0   25G  0 lvm  [SWAP]
sdd                              8:48   0   25G  0 disk
└─core_vg-core                 252:3    0   25G  0 lvm  /storage/core
sde                              8:64   0   10G  0 disk
└─log_vg-log                   252:8    0   10G  0 lvm  /storage/log
sdf                              8:80   0   10G  0 disk
└─db_vg-db                     252:5    0   10G  0 lvm  /storage/db
sdg                              8:96   0   15G  0 disk
└─dblog_vg-dblog               252:6    0   15G  0 lvm  /storage/dblog
sdh                              8:112  0   10G  0 disk
└─seat_vg-seat                 252:9    0   10G  0 lvm  /storage/seat
sdi                              8:128  0    1G  0 disk
└─netdump_vg-netdump           252:7    0 1016M  0 lvm  /storage/netdump
sdj                              8:144  0   10G  0 disk
└─autodeploy_vg-autodeploy     252:0    0   10G  0 lvm  /storage/autodeploy
sdk                              8:160  0   10G  0 disk
└─imagebuilder_vg-imagebuilder 252:2    0   10G  0 lvm  /storage/imagebuilder
sdl                              8:176  0  100G  0 disk
└─updatemgr_vg-updatemgr       252:4    0  100G  0 lvm  /storage/updatemgr
sr0                             11:0    1 1024M  0 rom

VCSA 6.7

root@vcsa1 [ ~ ]# lsscsi
[0:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR00 1.00  /dev/sr0
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc
[2:0:3:0]    disk    VMware   Virtual disk     1.0   /dev/sdd
[2:0:4:0]    disk    VMware   Virtual disk     1.0   /dev/sde
[2:0:5:0]    disk    VMware   Virtual disk     1.0   /dev/sdf
[2:0:6:0]    disk    VMware   Virtual disk     1.0   /dev/sdg
[2:0:8:0]    disk    VMware   Virtual disk     1.0   /dev/sdh
[2:0:9:0]    disk    VMware   Virtual disk     1.0   /dev/sdi
[2:0:10:0]   disk    VMware   Virtual disk     1.0   /dev/sdj
[2:0:11:0]   disk    VMware   Virtual disk     1.0   /dev/sdk
[2:0:12:0]   disk    VMware   Virtual disk     1.0   /dev/sdl
[2:0:13:0]   disk    VMware   Virtual disk     1.0   /dev/sdm


root@vcsa1 [ ~ ]# lsblk
NAME                           MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                              8:0    0   12G  0 disk
├─sda1                           8:1    0  128M  0 part /boot
├─sda2                           8:2    0    1G  0 part [SWAP]
├─sda3                           8:3    0 10.9G  0 part /
└─sda4                           8:4    0    3M  0 part
sdb                              8:16   0  1.9G  0 disk
sdc                              8:32   0   25G  0 disk
└─swap_vg-swap1                252:1    0   25G  0 lvm  [SWAP]
sdd                              8:48   0   25G  0 disk
└─core_vg-core                 252:6    0   25G  0 lvm  /storage/core
sde                              8:64   0   10G  0 disk
└─log_vg-log                   252:9    0   10G  0 lvm  /storage/log
sdf                              8:80   0   10G  0 disk
└─db_vg-db                     252:8    0   10G  0 lvm  /storage/db
sdg                              8:96   0   15G  0 disk
└─dblog_vg-dblog               252:5    0   15G  0 lvm  /storage/dblog
sdh                              8:112  0   10G  0 disk
└─seat_vg-seat                 252:10   0   10G  0 lvm  /storage/seat
sdi                              8:128  0    1G  0 disk
└─netdump_vg-netdump           252:7    0 1016M  0 lvm  /storage/netdump
sdj                              8:144  0   10G  0 disk
└─autodeploy_vg-autodeploy     252:0    0   10G  0 lvm  /storage/autodeploy
sdk                              8:160  0   10G  0 disk
└─imagebuilder_vg-imagebuilder 252:2    0   10G  0 lvm  /storage/imagebuilder
sdl                              8:176  0  100G  0 disk
└─updatemgr_vg-updatemgr       252:3    0  100G  0 lvm  /storage/updatemgr
sdm                              8:192  0   50G  0 disk
└─archive_vg-archive           252:4    0   50G  0 lvm  /storage/archive
sr0                             11:0    1 1024M  0 rom

Espero que este articulo les haya ayudado a comprender acerca de la estructura de discos VMDK en VCSA 6.x

Si quieren saber como incrementar el tamaño de estas particiones:

Aumentar tamaño de discos utilizando LVM autogrow VCSA 6.0
Aumentar tamaño de discos utilizando LVM autogrow VCSA 6.5 / 6.7

Escribe tu comentario

Este sitio utiliza Akismet para disminuir el spam. Aprenda más de como sus comentarios son procesados.

Oscar Zuñiga

Oscar Zuñiga

Senior Virtualization and Cloud Engineer | vExpert | Trainer | Blogger
Especialista en SDDC y Cloud Computing con mas de 5 años de experiencia en IT. Oscar también es instructor técnico para cursos de AWS, VMware, Juniper y Cisco.
EnglishPortugueseSpanish