Como configurar o ataque SSD e o suporte TRIM?


9

Eu estou olhando para configurar um novo servidor. Só posso usar ssds MLC Intel 520 Series 240gb MLC ou discos padrão Seagate 7200rpm.
Estas são as opções não negociáveis.

Naturalmente, como isso funcionará no MySQL, sua principal tarefa será um servidor MySQL. Como o maior gargalo de desempenho em E / S de disco, eu preferiria usar os SSDs.

Preciso ter perto de 1 TB de espaço em disco. Agora, o RAID5 não oferece o melhor desempenho e há rumores de que não é o melhor para SSDs, então estou vendo uma configuração de Raid 10 (1 + 0) que me daria 720gb (240gb * 3)

Preciso saber como posso configurar isso no Ubuntu 12.04.01 LTS usando o software raid e garantir que o suporte ao TRIM (descartar, acho que é chamado no Linux) está ativado para a configuração do raid.

Alguém não faz isso com sucesso? Qualquer informação de instruções e coisas a observar e basicamente quais ferramentas usar e assim por diante seriam de grande ajuda.

Idealmente, também preciso inicializar a matriz de ataques SSD.

Alguém pode me apontar na direção certa ?

Obrigado.


11
Recentemente, houve um grande problema ao usar o TRIM no SSD no RAID. Bug fez o TRIM zerar arquivos ativos aleatoriamente. Diz-se que apenas os SSDs da Samsung são afetados, mas o AFAIK é porque apenas os SSDs da Samsung foram testados. Para isso, sugiro fortemente que você pense em usar o BTRFS RAID10 em vez de mdadmou o LVM.
Barafu Albino

Respostas:


4

A resposta é "depende" e você realmente deve entender o que a TRIM faz antes de afirmar uma posição tão inflexível.

http://www.spinics.net/lists/raid/msg39641.html

O MD RAID precisa de suporte específico para encaminhar solicitações de DISCARD e isso nem foi proposto até 3.6, portanto, o suporte não estará no kernel preciso. Eu apenas olhei, não está lá.

https://lkml.org/lkml/2012/3/11/261

Os SSDs são ótimos e tudo, mas são mais econômicos quando combinados com armazenamento magnético de alta RPM. Por exemplo, use uma matriz SSD RAID 1 para hospedar o diário do sistema de arquivos enquanto o sistema de arquivos é suportado por um RAID 10 que consiste em 15K discos.

http://insights.oetiker.ch/linux/external-journal-on-ssd/

Quanto maior o RPMS, menor é o pior tempo de busca, e as cargas aleatórias de E / S se beneficiam mais com os repositórios de alta RPM. O SQL pode ser intensivo em gravação, portanto, qualquer cálculo de paridade é uma má ideia, por exemplo, RAID 4 e 5.

A organização do RAID e do sistema de arquivos é tão importante quanto o armazenamento de backup.

Você sempre pode TRIMAR seus discos manualmente, semanalmente é bom iniciar, você deve observar qual é o impacto no desempenho antes de executá-lo com mais frequência. Ah, eles vão se esgotar, então seria uma boa ideia estimar quantos ciclos de gravação / exclusão seus SSDs possuem e atender ao RAID 1 uma perna por vez.

https://wiki.archlinux.org/index.php/Solid_State_Drives#Apply_TRIM_via_cron


4

Eu sei que estou sendo um Johnny, ultimamente, para essa pergunta, mas gostaria de ver se consigo esclarecer isso para quem estiver procurando.

Primeiro, a resposta da @ ppetraki é excelente.

A resposta curta para "Posso RAID SSDs e inicializá-los a partir deles" é "Sim!". Aqui estão as instruções para 14.04. As instruções para configuração do RAID no 12.04.x ​​são idênticas, mas este tutorial usando o 9.10 possui imagens. A seguir, algumas dicas e detalhes importantes que tive que descobrir da maneira mais difícil, através da experiência pessoal:

Estou executando o Ubuntu 12.04.5 com o kernel 3.8 em uma configuração MD RAID0 e o sistema de arquivos Btrfs compatível com SSD. Eu corro fstrim como um cron semanal.

Minhas opções extras de montagem do Btrfs do fstab:

defaults,ssd,ssd_spread,space_cache,compress=no,noatime

O kernel 3.8 é necessário se você deseja usar compress=nocomo uma opção de montagem Btrfs e também pode ser necessário para o uso do fstrimcomando trim manual usado para trim programado.

Você também deve alinhar manualmente as partições (em qualquer configuração de múltiplas partições, invasão ou não) nos SSDs ANTES de inicializar no instalador, pois dependendo do tamanho da página do seu SSD, apenas a primeira partição estará alinhada corretamente (demorei um pouco capturá-lo) e isso pode afetar gravemente a vida útil da unidade. Você pode fazer isso em um prompt de comando no instalador ou em um disco / usb ativo antes de tentar a instalação. Advertência: Faça as contas você mesmo. O Fdisk mentirá sobre o alinhamento.

Leitura adicional: Eu acho que o Btrfs pode até criar suas próprias matrizes de ataque .

Em relação ao TRIM:

É indiscutivelmente desnecessário graças ao excesso de provisionamento

O 14.04 é a primeira versão a habilitar o suporte TRIM imediatamente, mas é trivial habilitar em distribuições anteriores, desde que você esteja usando o kernel 2.6.33+.

Dependendo do seu sistema de arquivos escolhido, você pode habilitar a guarnição / descarte por editar o seu fstab e definindo a opção montar o apropriado. A diferença entre fazer isso e executá-lo via cron é que o primeiro cortará / descartará on-the-fly e o segundo o fará em um aglomerado em uma programação. Eu uso o segundo.

Isso importa? Supostamente, o descarte on-line (usando a opção de montagem) não é maravilhosamente implementado e é lento, portanto "não é recomendado". Posso dizer-lhe que minhas luzes "hdd" (hehe) ficam loucas por 10 a 20 minutos quando o trabalho semanal do cron é executado, mas a capacidade de resposta do sistema operacional não é afetada quase completamente.

Inicializando a partir da matriz

Embora eu não veja isso em uma verificação rápida das instruções do ubuntu 14.04, tive que criar uma partição primária adicional que NÃO faz parte dos meus arrays de ataque. O disco 0 possui uma partição primária de 500mb do ext3fs. Durante a instalação, eu disse ao instalador que deveria ser montado em "/ boot" e configurei o sinalizador inicializável. O carregador de inicialização é instalado aqui para que o sistema operacional possa iniciar e montar o RAID. O espaço restante no disco 0 é dividido entre duas partições que são usadas posteriormente para as matrizes MD que se tornam "/" e "/ swap". O disco 1 tem o mesmo, mas nenhuma partição de inicialização. Além disso, eu apenas criei a troca caso precise dela algum dia e o btrfs não suporta arquivos de troca. Essa partição nunca é montada; após a instalação, comentei no meu fstab.

Perdoe todas as edições, apenas tentando divulgar tudo.


Obrigado por esta informação perspicaz. Vou tentar isso na minha próxima implantação do sistema
Steed
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.