Jump to content

Configuração de write cache em servidor


bubulindo

Recommended Posts

Viva, 

Eu tenho uma dúvida que gostaria de confirmação acerca da configuração da cache dos discos duros num servidor. O problema é que a localização onde está o servidor fica regularmente sem electricidade e ao reiniciar uma base de dados MS SQL aparece corrompida. 

A solução da UPS está a ser projectada e em princípio deve ser colocada em funcionamento dentro em breve, mas ao pesquisar um pouco sobre o assunto um dos motivos para a corrupção duma base de dados tem a ver com a write-cache que ao perder a electricidade perde os dados que ainda estão em cache. 

Ao ver a configuração do Windows e do bloco RAID, notei que as configurações não parecem consistentes, mas gostaria da opinião de alguém que tenha mais experiência com isto. 

Alguém tem alguma ideia se a configuração parece correcta?? Eu acho estranho no Windows estar activado, mas o bloco RAID estar desactivado, mas certamente que haverá uma razão para isto (mesmo que seja incompetência de quem fez o setup do servidor). 

 

 DhmPDMD.png

 

Obrigado desde já.

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Se bem percebi tens uma storage por trás do Windows e é isso que te dá disco para o MySQL, certo?

Partindo desse principio tens duas camadas, a do Windows, onde o SO faz o que tem a fazer e a da storage, onde efetivamente os dados são guardados. A storage, por sua vez, também pode fazer write cache. 

Nessa situação desligaria ambas (pelo que percebo só o do Windows é que ainda está ativo), de forma a "garantir" que os dados são efetivamente escritos, sabendo à priori que mesmo assim uma falha de eletricidade não garante que não se percam dados.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

O servidor tem 2 discos colocados em RAID 1, e nesse bloco temos duas partições (C para OS e D para Dados). Não percebi muito bem o que entendes por camadas, se o OS estaria num disco aparte e os dados num RAID array, ou se referias apenas à partição lógica dos dados. 

Sim, em caso de falha de electricidade existe sempre a probabilidade de perda de dados. O problema é mesmo ter de reparar a base de dados devido a corrupção. 

Já agora, este servidor é usado para guardar dados históricos (trends e alarmes) num processo industrial. Uma coisa que reparei foi que o servidor tem uma slot disponível no RAID array. Agora a questão é se essa slot seria mais bem empregue para instalar uma SSD e meter lá o sistema operativo, ou se meter lá outro disco e marcar como um hot swap no RAID. 

Alguma opinião?

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Então o servidor tem discos locais é isso? Pensei que estaria ligado a uma storage que era o que disponibilizava os discos.
A questão do RAID parece-me irrelevante, uma vez que o que acontece é que sendo 1, tens apenas salvaguardado o facto de que o que está num disco, estará no outro, pelo que tirares o SO para um SSD poderá, no máximo, dar-te mais performance ao nível do SO (algo que poderá não ser uma questão critica uma vez que a questão se coloca nos dados do MySQL). Se lá meteres mais um disco para fazer hot swap, também não me parece que acrescente mais valias, uma vez que a questão da corrupção dos dados MySQL continua a existir, mesmo que possas trocar o disco em funcionamento.
Já agora, se o RAID é feito por software são mais uns milisegundos onde a coisa pode correr mal...

Voltando à vaca-fria, eu diria que desligar o write cache em todo o lado em que ele aparecesse 😄
Se queres uma solução mais radical, seria colocares os dados do MySQL em raw partition, mas não sei se o MySQL suporta.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Não... é um servidor normal. Um computador metido numa rack de 19"...

Não é MySQL... é mesmo MS SQL Server.

Obrigado pela opinião, eu estou inclinado para isso também, mas gostava de alguém com mais experiência no assunto.

Não... é um servidor normal. Um computador metido numa rack de 19"...

Não é MySQL... é mesmo MS SQL Server.

Obrigado pela opinião, eu estou inclinado para isso também, mas gostava de alguém com mais experiência no assunto.

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Hmmm, isso é interessante. 

Obrigado, infelizmente a Siemens (ou qualquer outro fabricante) no que toca a aplicações de história nunca revelam nada e ficam-se pela configuração mais básica. 

Ter um SSD para o sistema operativo é apenas uma vantagem em caso de haver uma falha. Aplicar uma imagem a um SSD de 60 ou 120Gb demora uns 40 minutos no total, mas aplicar uma imagem com duas partições com 500 Gb no total em RAID1 já leva horas... Se bem que com RAID1 estamos cobertos no que toca a falhas no disco... mas nem por isso no que toca a falhas no controlador RAID. 

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Não é assim tão simples como comprar uma UPS de 50€...  a UPS existe, mas como quem a projectou não sabia dimensionar uma UPS para uso industrial, não quiseram comprar algo decente, acabaram por "destrui-la" esvaziando-a repetidamente.

A UPS vai estava a alimentar o controlo dum processo quimico, mais 4 servidores e, estupidamente, 4 ecras e uma televisão. Isso está agora a ser mudado para tentarmos que uma UPS de 8 ou 10kVA dure mais de 30 minutos (idealmente devia ser uma hora... mas não há dinheiro). 

Já agora, sabes se o SQL Server se dá bem a desligar por um processo exterior? Neste caso quando a bateria da UPS estiver abaixo de x % os servidores vão ser desligados automaticamente (por software).

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Se tivessem comprado uma UPS de 50€ enquanto decidem o que fazer, já te tinha poupado muita dor de cabeça! 😄

Matar o SQL Server só por si não sei se faz sentido. Quando o SO recebe ordem de shutdown, começa o procedimento de shutdown de todos os processos, incluindo o do SQL Server. Se quiseres mesmo podes mandar parar o serviço do SQL Server (podes usar o comando "net stop" para isso se quiseres algo de linha de comando).

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Tendo em conta que na fabrica em questao nao havia dinheiro para salarios... nao posso propriamente dizer muito.

O que me chocou foi mesmo a inocencia de quem projectou a capacidade e a distribuicao da UPS... quando cheguei aqui e disse que onde trabalhei anteriormente um teste de 30 minutos nao alterava a capacidade da bateria, toda a gente achou que era doido. Agora esta tudo com medo de ter de comprar algo decente (que nao sai barato). 

Suponho que ao dar a ordem de desligar o servidor nao haja problema... a Siemens e que tem definido como processo parar a aplicacao que recolhe os dados e passa para a DB, mas claro que nao existe um procedimento de desligar automaticamente. 

Obrigado pela ajuda. 

include <ai se te avio>

Mãe () {

}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.