bubulindo Posted February 24, 2017 at 08:39 AM Report Share #602732 Posted February 24, 2017 at 08:39 AM 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). Obrigado desde já. include <ai se te avio> Mãe () { } Link to comment Share on other sites More sharing options...
M6 Posted February 24, 2017 at 09:41 AM Report Share #602733 Posted February 24, 2017 at 09:41 AM 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 More sharing options...
bubulindo Posted February 24, 2017 at 11:52 AM Author Report Share #602734 Posted February 24, 2017 at 11:52 AM 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 More sharing options...
M6 Posted February 25, 2017 at 10:37 AM Report Share #602740 Posted February 25, 2017 at 10:37 AM 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 More sharing options...
bubulindo Posted February 25, 2017 at 01:41 PM Author Report Share #602742 Posted February 25, 2017 at 01:41 PM 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 More sharing options...
M6 Posted February 27, 2017 at 10:14 AM Report Share #602765 Posted February 27, 2017 at 10:14 AM Ah, sendo um SQL Server (desculpa, percebi mal), podes escrever direto para raw partition. 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 More sharing options...
bubulindo Posted February 27, 2017 at 01:43 PM Author Report Share #602772 Posted February 27, 2017 at 01:43 PM 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 More sharing options...
M6 Posted February 27, 2017 at 03:49 PM Report Share #602774 Posted February 27, 2017 at 03:49 PM O que acho sempre "estúpido" nestas coisas é que com uns 50€ compras uma UPS e resolves o problema... 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 More sharing options...
bubulindo Posted February 28, 2017 at 06:32 AM Author Report Share #602779 Posted February 28, 2017 at 06:32 AM 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 More sharing options...
M6 Posted February 28, 2017 at 02:30 PM Report Share #602783 Posted February 28, 2017 at 02:30 PM 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 More sharing options...
bubulindo Posted February 28, 2017 at 04:04 PM Author Report Share #602785 Posted February 28, 2017 at 04:04 PM 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 More sharing options...
M6 Posted February 28, 2017 at 06:24 PM Report Share #602787 Posted February 28, 2017 at 06:24 PM Bem, tendo em conta essa questão, realmente não se pode dizer muito! :/ 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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now