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.5 | VCSA 6.7 | Usado para | Montando en |
VMDK1 | 12GB | 12GB | 12GB | Partición root 10.9GB Partición de aranque 132MB Swap 1GB | / /boot [SWAP] |
VMDK2 | 1.2GB | 1.8GB | 1.8GB | Paquetes RPM del VCSA | No se monta luego de la instalación |
VMDK3 | 25GB | 25GB | 25GB | Swap | sda2 |
VMDK4 | 25GB | 25GB | 25GB | Core | /storage/core |
VMDK5 | 10GB | 10GB | 10GB | Logs | /storage/log |
VMDK6 | 10GB | 10GB | 10GB | Base de datos | /storage/db |
VMDK7 | 5GB | 15GB | 15GB | Logs de base de datos | /storage/dblog |
VMDK8 | 10GB | 10GB | 10GB | Estadisticas, eventos y tareas (SEAT) | /storage/seat |
VMDK9 | 1GB | 1GB | 1GB | Net Dumper | /storage/netdump |
VMDK10 | 10GB | 10GB | 10GB | Auto Deploy | /storage/autodeploy |
VMDK11 | No Existe * | 10GB | 10GB | Image Builder | /storage/imagebuilder |
VMDK12 | No existe | 100GB | 100GB | Update Manager | /storage/updatemgr |
VMDK13 | No existe | No existe | 50GB | Write-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