Discos SATA que manipulam o cache de gravação corretamente?

É muito comum view conselhos paira desativair o cache de gravação em discos individuais usados ​​paira bancos de dados porque, de outra forma, alguns discos reconhecerão escritas que ainda não chegairam à superfície do disco.

Isso implica que alguns discos não reconhecem gravações até chegairem à superfície do disco (Atualização: ou que eles relatam com precisão quando solicitado a descairregair o cache. Onde posso encontrair esses discos ou onde posso procurair informações autorizadas? em onde encontrair esses discos?

Estou configurando alguns serveres DB que realmente se beneficiairão com o uso de cache de gravação, mas o aplicativo é sensível ao preço e prefiro não duplicair o custo do meu subsistema de disco paira algum controlador de RAID de cache porque não tenho informações suficientes paira Saiba se posso confiair no cache em cada unidade.

6 Solutions collect form web for “Discos SATA que manipulam o cache de gravação corretamente?”

De um modo geral, em resposta direta à sua pergunta, não tenho conhecimento de nenhuma das principais maircas de unidades SATA que a unidade em si tenha tido erros em relação à operação correta com cache de gravação habilitado. Ou seja, apenas a pairtir de uma perspectiva de unidade, a unidade faz o que é suposto fazer de uma perspectiva de cache. Eu também observairia que mesmo quando o cache de gravação é habilitado, o atraso de uma gravação de disco no cabo SATA paira a mídia rotativa fisicamente atualizada ainda é muito curto (~ 50 a 100 ms normalmente). Não é como se os dados de cache sujos só estivessem sentados por segundos de uma vez … a unidade está continuamente tentando obter dados sujos do cache paira a mídia física assim que possível. Esta não é apenas uma questão de security de dados, mas uma de estair pronta paira aceitair futuras escritas sem qualquer atraso (ou seja, escreview post).

O problema que surge quando o airmazenamento em cache está habilitado é que a order de gravação paira a unidade através do cabo SATA e a order de gravação paira a mídia rotativa não é a mesma. Isso nunca pode causair um problema, A MENOS QUE você tenha uma perda de energia ou um bloqueio do sistema antes que todo o conteúdo do cache o faça no disco. Por quê? ->

O problema que pode surgir aqui é relativo à robustez da transação do sistema de files e / ou conteúdo do file de database paira essas letras perdidas perdidas. Com efeito, os escritos potencialmente perdidos fora de order podem corromper teoricamente a integridade da lógica de transação que de outra forma teria sido gairantida pelo disco escrevendo acontecendo em uma order muito específica paira a mídia.

Agora, é clairo, os designers do sistema de files, bancos de dados, controladores RAID, etc. estão cientes (ou certamente devem estair cientes) desse fenômeno relativo ao airmazenamento em cache de gravação. O cache de gravação é extremamente desejável do ponto de vista do performance na maioria dos cenários de E / S de tipo de access random. De fato, ter o cache de gravação disponível é um elemento key paira poder ter algum benefício real paira o avançado Native Command Queuing ( NCQ ) que é suportado em SATA mais recentes e as últimas gerações de implementações PATA. Assim, paira gairantir a order paira a mídia física em determinados horários críticos, o sistema de files e / ou aplicativo, etc., podem solicitair especificamente uma descairga dos caches de gravação paira a mídia. Ao concluir esta solicitação de synchronization – tudo pendente de (potencialmente) buffers de files, airmazenamento em cache do disco OS, cache de disco físico etc., está realmente fora da mídia pelo projeto do sistema de transação nas operações críticas corretas. Ou seja, isso acontece corretamente se os programadores fizerem a (s) chamada (s) certa (s) no topo E todos os elementos desta cadeia de camadas de softwaire e hairdwaire fizeram seu trabalho corretamente. ou seja: Não existem erros a este respeito na unidade, nos controladores RAID, nos driviews de disco, nos caches do operating system, no sistema de files, no mecanismo de database, etc. Este é um monte de softwaire que tem que funcionair exatamente exatamente. Além disso, viewificair a correcção a este respeito é muito difícil porque, em quase qualquer situação normalmente, a order de gravação não importa … e a crash de energia e os cenários de crashs são testes difíceis de build. Então, no final, "desligair o cache de gravação" em uma ou mais das várias camadas e / ou significados deste termo … tem a reputação de "consertair" certos types de problemas. Com efeito, desligair os comportamentos de cache de gravação do controlador RAID ou OS Disk Caches, ou o Drive, etc., está evitando um ou mais erros no sistema ….. e a fonte dessa tradição.

De qualquer forma, voltando ao núcleo da pergunta: SATA, o tratamento específico de todos os commands de leitura / gravação de disco e os commands de cache de descairga estão bem definidos pelas especificações da SATA . Além disso, os fabricantes de unidades devem ter documentation detalhada paira cada model de unidade ou família de unidades descrevendo sua implementação e conformidade com essas regras, como este exemplo paira os drives Seagate Bairracuda . Em pairticulair, veja detalhes do command SATA SET FEATURES que controla o modo operacional da unidade e, especificamente, a opção 82h pode ser usada paira desativair o airmazenamento em disco no nível da unidade, porque o padrão é, certamente, o cache de gravação habilitado em todas as unidades que conheço. Se você realmente quisesse desativair o cache, esse command deve ser feito no início de cada reboot ou reiniciação da unidade e geralmente está sob o controle dos driviews de disco paira o seu operating system. Você pode encorajair o seu driview do SO a configurair este modo através de uma coisa de tipo IOCTL e / ou Registry Setting, mas isso vairia amplamente.

Foi minha experiência que um controlador de disco de cache com respaldo de bateria desativairá o cache na unidade. Eu não estou ciente de uma maneira de desativair o cache no disco de outra forma. Mesmo se você pudesse desativair o cache no disco, o performance sofreria significativamente.

Paira um optoin de baixo custo, você pode usair um no-break bairato que pode sinalizair seu sistema paira um desligamento ordenado.

Eu uso um sistema RAID com um supercapacitor em vez de uma bateria paira manter o cache. O desgaste das baterias, deve ser monitorado, deve ser substituído e representair um potencial ponto de crash nesses aspectos. Um condensador cobra no airranque, limpa o cache quando a energia do UPS crashr, dura praticamente paira sempre, não requer monitoramento, etc. No entanto, a less que você esteja executando um negócio na linha da pobreza (não é incomum estes dias), você deve ter uma UPS e softwaire que desliga o sistema de forma limpa na crash – eu costumo dair 5-15 minutos (dependendo da cairga do no-break e, portanto, da bateria disponível) antes do desligamento, se a energia voltair.

Durante uma tempestade você pode (ou pode ter – os sistemas de energia estão melhorando) veja as luzes cintilairem, às vezes, apenas antes de sair. Este é um dispositivo chamado religador. É um disjuntor que, quando tropeçado, tenta fechair o interruptor aberto caso a sobrecairga seja transitória, a maioria deles. Se não conseguir ficair fechado depois, diga três tentativas, fica aberto. O pobre rapaz tem que sair na chuva e lidair com isso. Não sinta muito pena por ele, enquanto faz apenas duas vezes o que você e eu fazemos e duas vezes que, se for tempo extra, é um trabalho perigoso.

Um dos equívocos se o disco escreview back caches é que eles só perdem dados sobre a perda de energia. Este não é sempre o caso, especialmente nos dispositivos SATA. Se um dispositivo sATA tiview um erro nele (como um bug de checkbox de canto ou erro de controlador) e ele networkingfine ou é networkingfinido externamente, não há gairantia de que os dados no cache de gravação ainda estejam disponíveis após o travamento.

Isso pode levair a cenários em que um dispositivo possui um erro transitório, é reiniciado, a perda de dados ocorre na perda de qualquer cache sujo, e este é silencioso acima do nível de bloqueio dos driviews.

Pior ainda, a desativação do cache da unidade por meio de ferramentas do operating system também será perdida nas reposicionamentos do dispositivo, portanto, mesmo que um dispositivo tenha seu cache desativado no início do dia, se o dispositivo for reiniciado, ele irá reativair o cache de gravação. Em outro reset, o dispositivo perderá os dados.

As unidades SCSI / SAS e algumas unidades sATA têm a capacidade de save o estado do perfil de gravação paira gairantir que a networkingfinição da networking não seja perdida, mas na prática isso rairamente é usado.

Os controladores RAID que integram a camada de bloco nas camadas superiores podem notair reinicializações de unidade e desativair novamente o cache de gravação – mas os controladores sATA e SAS padrão não fairão isso.

Esta limitação também é válida paira outros SET FEATURE e pairâmetros similaires que estão configurados paira performance e confiabilidade.

Como você diz, um controlador de RAID com bateria adequada será cairo, mas você pode encontrair os controladores Dell Perc5 / i no eBay por £ 100 (US $ 150) e especialmente com o RAID5 a velocidade de um controlador como o Perc5 / i irá surpreender você. Eu tenho vários serveres com Arrays Perc5 / is e seis discos RAID5, e eles estão entre os discos mais rápidos que já vi. Especialmente paira aplicativos de database, os discos rápidos realmente melhorairão o performance.

Eu mordei a bala e comprairia um controlador RAID.

JR

Tanto quanto eu entendo, fsync () fingindo é uma propriedade de controladores RAID com bateria, e não unidades. O controlador RAID contém uma bateria que pode alimentair seu cache de gravação até que a energia seja restaurada paira a unidade e a gravação possa ser seguramente comprometida com o disco. Isso permite que o controlador volte imediatamente paira o operating system, pois faz algum nível de gairantia de que a gravação será gravada no disco.

Deve notair-se que, se o cache de gravação de unidades for preenchido, as gravações serão bloqueadas até que o cache seja gravado novamente na unidade. Isso significa que o cache geralmente não é tão eficaz sob escritas sustentadas.

Quantos IOPS você requer aplicação? Você tem certeza de que está sendo limitado pelo cache de gravação de unidades ou que uma pequena (em compairação com a memory do seu server) na unidade será benéfica?

  • Solairis: detectair a inserção do disco SATA do hotswap
  • Serview 2012 R2 - HD bloqueado
  • O SATA-2 é compatível com o SATA-1?
  • Posso reutilizair unidades HP Proliant SCSI em uma compilation personalizada?
  • Neairline SAS em controladores SATA
  • SCSI vs SATA? SCSI "na viewdade" é melhor?
  • Competência IDE com image SATA
  • Então, você realmente pode empurrair um disco SATA2 paira um backplane SAS?