mercoledì 6 febbraio 2008

Cluster SQL su VMWARE

Recentemete per fare alcuni test ho avuto la necessità di mettere in piedi il più velocemente possibile un cluster SQL.

La soluzione ottimale in questi casi è creare due macchine virtuali su uno stesso host fisico in modo da poter condividere agevolmente i dischi necessari al cluster.

Dopo aver installato S.O (Ubuntu) e VmWare (1.0.3 server) sull'host ho creato una macchina virtuale con 2 dischi che non verranno condivisi e 3 da condividere (1 quorum e 2 dati).
Per creare il cluster è necessario che il S.O. non rilevi i dischi di sistema e quelli da condividere sullo stesso hardware, vanno quindi utilizzati due device scsi differenti e sui dischi deve essere disabilitato il lock.


Questa è la parte di configurazione riguardante i dischi nel winnetenterprise.vmx della macchina virtuale.


# CONFIGURAZIONE DISCHI


# LOCALI


scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"

scsi0:0.present = "TRUE"
scsi0:0.fileName = "SystemDisk.vmdk"
scsi0:1.present = "TRUE"
scsi0:1.fileName = "DiscoDati.vmdk"

scsi0:1.mode = "independent-persistent"
scsi0:0.redo = ""
scsi0:1.redo = ""

# CONDIVISI
scsi1.present = "TRUE"

scsi1.sharedBus = "virtual"
scsi1.virtualDev = "lsilogic"
scsi1:0.present = "TRUE"
scsi1:0.fileName =
"/virtual/TstClusterDisk/DiscoQ.vmdk"
scsi1:0.mode = "independent-persistent"

scsi1:1.present = "TRUE"
scsi1:1.fileName =
"/virtual/TstClusterDisk/DiscoK.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.fileName =
"/virtual/TstClusterDisk/DiscoL.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:2.redo = ""

# CONFIG. GENERICHE

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"

disk.locking = "FALSE"



Il FileSystem dell'host è quindi così strutturato

/Virtual/TstCluster01 = Path VM 1 con dischi locali
/Virtual/TstCluster02 = Path VM 2 con dischi locali
/Virtual/TstClusterDisk = Path Dischi condivisi

In pratica per i dischi "locali" ho utilizzato 2 LUN del device scsi 0, per i dischi "remoti" ho usato 3 LUN del device scsi 1.
In questo modo windows rileva i dischi su device scsi differenti e permette la creazione del cluster e il lock disabilitato sui dischi ne permette anche l'accesso da due macchine virtuali differenti.


La seconda macchina virtuale l'ho creata copiando tutta la cartella della prima dopo aver installato Win2003 Enterprise Ed.

Nessun commento: