Mostrar mensagens com a etiqueta HDD. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta HDD. Mostrar todas as mensagens

sexta-feira, 5 de setembro de 2014

Porque é que os drives amovíveis ainda usam FAT32?

Prosseguindo nesta temática dos Sistemas de Ficheiros, apresentamos mais um pequeno artigo que ajuda a esclarecer uma questão prática importante.

O Microsoft Windows XP começou a usar o sistema de ficheiros NTFS como padrão para as suas unidades internas por volta de 2001. Mais de 12 anos depois, por que é que as Pen Drives USB, cartões SD e outros drives removíveis continuam a usar o FAT32?

Isto não é um erro dos fabricantes. Estas unidades podem ser formatadas num sistema de ficheiros diferente, como o NTFS, mas, provavelmente, vai querer mantê-las formatadas em FAT32.

Porque é que a Microsoft inventou o NTFS? 

A Microsoft criou o NTFS para melhorar o FAT32. Para percebermos porque o Windows utiliza o NTFS, vamos analisar alguns dos problemas do FAT32 e como o NTFS os resolveu:

  • O FAT32 apenas suporta ficheiros individuais até 4GB de tamanho e volumes até 2TB. P. ex., se tiver um ficheiro de vídeo maior que 4GB, não consegue gravá-lo em FAT32, assim como não consegue formatar um disco de 3TB como uma unidade única. O NTFS tem limites muito mais elevados.
  • O FAT32 não é um sistema de ficheiros que suporte journaling, o que significa que a corrupção de ficheiros pode acontecer com muito mais facilidade. Com o NTFS, as alterações são registadas num "diário" na unidade antes de serem realmente feitas. Se o computador for abaixo a meio duma operação de escrita dum ficheiro, o sistema não vai precisar de uma longa e exaustiva operação de scan do disco, para recuperar.
  • O FAT32 não suporta permissões de ficheiro. Com o NTFS, as permissões de ficheiro permitem maior segurança. Os ficheiros de sistema podem ser marcados como somente de leitura e os programas normais tão lhes podem mexer, os utilizadores podem ser impedidos de ver os ficheiros de outros utilizadores, e assim por diante.

Pelo acima exposto, existem muito boas razões para que o Windows utilize o NTFS nas partições de sistema. O NTFS é mais seguro, robusto e suporta ficheiros e drives maiores.

Mas estes não são problemas em unidades amovíveis

É claro que nenhuma das questões anteriores é realmente um problema em pens USB e cartões SD. Eis o porquê:

  • Para já, as pen drives USB ou cartões SD estão definitivamente abaixo de 2TB, pelo que não há problemas com o limite do tamanho do drive. Ocasionalmente pode ser necessário guardar um ficheiro maior que 4 GB. Esta é a única situação em que pode querer formatar o disco como NTFS.
  • Uma unidade amovível não necessita dum registo em diário como uma unidade de sistema. Na verdade, o journaling resulta em gravações adicionais que podem reduzir a vida útil da memória flash da unidade.
  • Um dispositivo amovível também não necessita de permissões de ficheiro. Na verdade, estas podem causar problemas quando se ligam os dispositivos amovíveis em máquinas diferentes. P.ex., os ficheiros podem ser marcados como acessíveis apenas por determinado ID de utilizador. Isto funciona bem se a unidade ficar dentro do mesmo computador. No entanto, se era uma unidade amovível, qualquer pessoa com o mesmo ID de utilizador pode aceder aos ficheiros, no outro computador. Neste caso, as permissões de ficheiro não aumentam realmente a segurança, apenas acrescentam uma complexidade adicional.

Não há realmente nenhuma razão para usar o NTFS em pen drives USB e cartões SD, a menos que seja realmente necessário suporte para ficheiros com mais de 4GB de tamanho. Nesse caso, terá que converter ou reformatar a unidade para NTFS.

Claro que hoje já se podem adquirir discos rígidos externos, com ligação USB, com mais de 2 TB de espaço de armazenamento e também é mais provável guardar ficheiros com mais de 4GB num discos destes. É natural que venham formatados em NTFS, para que possam usar o tamanho total do armazenamento em uma única partição. A menos que sejam construídos com tecnologia de memória flash (ainda muito caro), não há problema das operações de escrita adicionais do journaling.

Compatibilidade

A compatibilidade é provavelmente a principal razão para querer usar o sistema de ficheiros FAT32 nas unidades flash USB ou cartões SD. Enquanto as versões modernas do Windows suportam o NTFS, outros dispositivos podem não o conseguir da mesma forma:

  • O Mac OS X tem suporte nativo de leitura para unidades NTFS, mas necessita de drivers e ajustes adicionais para conseguir escrever.
  • O Linux já possui um suporte sólido de leitura/escrita em NTFS, mas durante muitos anos não foi assim.
  • Leitores DVD, Smart TVs, impressoras, câmaras digitais, leitores de média, Smartphones, qualquer coisa com uma porta USB ou slot de cartão SD: Aqui é que realmente começa a ficar complicado. Muitos dispositivos têm portas USB ou slots para cartões SD. Todos estes dispositivo estão projectados para trabalhar com FAT32, para que eles possam "funcionar simplesmente" e ser capazes de ler os seus ficheiros, desde que use FAT32. Alguns dispositivos até funcionarão com o NTFS, mas não pode contar com isso para todos. Na verdade, deve supor que a maioria dos dispositivos só pode ler FAT32 e não NTFS

É principalmente por isto que vai querer usar FAT32 nos seus discos amovíveis. Desta forma pode usá-los em praticamente qualquer dispositivo. Não há muito a ganhar com a utilização do NTFS numa pen drive USB, para além do suporte para ficheiros de mais de 4GB de tamanho.

Referências

http://www.howtogeek.com/177529/htg-explains-why-are-removable-drives-still-using-fat32-instead-of-ntfs/

Sistemas de Ficheiros: o que são e porque há tantos?

Introdução

Sistemas Operativos (SO) diferentes suportam Sistemas de Ficheiros diferentes. O disco que usa no MAC não funciona num PC Windows e o Linux tem os seus próprios sistemas de ficheiros também.

Neste artigo vamos falar um pouco sobre Sistemas de Ficheiros, o que são e porque há tantos diferentes.

Um comum utilizador de computadores não precisa saber a maioria destes detalhes - que deveriam ser transparentes e simples - mas conhecer o básico ajuda a compreender questões como: "Por que razão este disco formatado no Mac não funciona no meu PC Windows?" e "Devo formatar este drive USB como FAT32 ou NTFS?"

Conteúdo

O que são Sistemas de Ficheiros

O Sistema de Ficheiros é a forma de organização da informação num dado dispositivo de armazenamento de dados.

Sistemas de Ficheiros diferentes são simplesmente diferentes formas de organizar e armazenar ficheiros no disco rígido, unidade flash, ou qualquer outro dispositivo de armazenamento. Cada dispositivo tem uma ou mais partições de armazenamento e cada partição é formatada com um dado sistema de ficheiros.

Um sistema de ficheiros fornece uma forma de separar os dados na unidade de armazenamento em partes individuais, que são os ficheiros. Adicionalmente, fornece uma maneira de armazenar informação sobre estes ficheiros – p.ex., os seus nomes, permissões e outros atributos.

O sistema de ficheiros também fornece um índice - uma lista dos ficheiros na unidade e onde estão localizados – para o SO poder ver o que está na unidade num único lugar, em vez de ter que pesquisar todo o disco para encontrar um ficheiro.

O SO tem que conhecer o sistema de ficheiros do dispositivo, de forma a poder mostrar o seu conteúdo e abrir ou gravar ficheiros. Se o SO não entender o sistema de ficheiros de um dado dispositivo, é necessário instalar um driver que forneça suporte ao mesmo - ou simplesmente não vai ser possível usar o sistema de ficheiros com aquele SO específico.

Porque existem tantos Sistemas de ficheiros? 

Nem todos os sistemas de ficheiros são iguais. Sistemas de ficheiros diferentes têm diferentes formas de organizar os seus dados. Alguns sistemas de ficheiros são mais rápidos que outros, alguns têm características de segurança adicionais, outros oferecem suporte a unidades com maior capacidade de armazenamento. Alguns sistemas de ficheiros são mais robustos e resistentes à corrupção de ficheiros, enquanto outros trocam essa robustez por velocidade adicional.

Não existe um sistema de ficheiros que seja o melhor para todos os casos.

Cada SO tende a usar o seu próprio sistema de ficheiros, no qual trabalham os programadores do SO. Há muito trabalho envolvido na concepção de um sistema de ficheiros e isso pode ser feito de muitas maneiras diferentes. Um sistema de ficheiros não é como uma partição, que é simplesmente um pedaço de espaço de armazenamento. Um sistema de ficheiros especifica como os ficheiros são gravados, organizados, indexados, e como os metadados são associados a eles.

Troca de Sistema de Ficheiros 

Cada partição é formatada com um dado sistema de ficheiros. Às vezes, é possível "converter" uma partição para um sistema de ficheiros diferente e manter os mesmos dados, mas raramente é uma opção fácil. Provavelmente, é preferível copiar os dados importantes para outra partição ou outro dispositivo, primeiro, como segurança.

Atribuir um novo sistema de ficheiros à partição, consiste simplesmente em formatá-la com esse sistema de ficheiros, no SO que o suporta. Por exemplo, uma unidade formatada para Linux ou Mac, pode ser formatada com o NTFS ou FAT32, para obter uma unidade para usar no Windows.

As partições também são automaticamente formatadas com o sistema de ficheiros adequado durante o processo de instalação do SO. P.ex., se quisermos instalar o Linux numa partição previamente formatada no Windows, o processo de instalação do Linux vai formatar essa partição NTFS ou FAT32 para o sistema de ficheiros Linux preferido pela distribuição escolhida.

Em conclusão, se quisermos alterar o sistema de ficheiros de um dispositivo de armazenamento, devemos começar por fazer um backup dos dados (para outro disco ou partição) e de seguida formatar essa unidade ou partição com uma uma ferramenta do tipo Gestão de Discos, no Windows, GParted no Linux ou Disk Utility no Mac.

 

Sistema de Ficheiros mais comuns 

Um pequeno resumo dos Sistemas de Ficheiros mais comuns no mercado.

Sistema de Ficheiros
Sistema Operativo
Descrição
MS-DOS
Windows
O FAT32 é um sistema de ficheiros antigo do Windows, mas ainda é usado em dispositivos de removíveis - apenas nos de menor capacidade, no entanto. Discos rígidos externos com 1 TB ou mais, provavelmente, são formatados de raíz com NTFS. O FAT32 só é usado em dispositivos pequenas ou para compatibilidade com outros equipamentos, como câmaras digitais ou consolas de jogos, que não suportam o sistema de ficheiros NTFS, mais recente
Windows
As versões mais modernas do Windows (a partir do Windows NT) passaram a usar o NTFS para a sua partição de sistema. As outras partições e discos externos podem ser formatadas em NTFS ou FAT32
Mac
Os SO da Apple usam HFS+ para as suas partições internas, bem como em discos externos – obrigatório se quisermos usar um drive externo com Time Machine. O Mac também pode ler e gravar em FAT32 nativamente e em NTFS após instalar o driver adequado
Linux
Estes são os sistemas de ficheiros mais usados no Linux. O Ext2 é um sistema de ficheiros antigo, que carece de recursos importantes como journaling. O Ext3 acrescenta estas características de robustez à custa de um pouco de velocidade. O Ext4 é mais moderno e mais rápido - é o sistema de ficheiros padrão na maioria das distribuições Linux de hoje em dia. O Windows e Mac não suportam estes sistemas de ficheiros – é necessária uma ferramenta de terceiros para aceder a ficheiros em ExtX.
Por esta razão, muitas vezes o ideal é formatar as partições do sistema Linux como Ext4 e deixar os dispositivos removíveis formatados com FAT32 ou NTFS, se for necessária compatibilidade com outros SO. O Linux pode ler e gravar em FAT32 ou NTFS
Linux
“B-Tree FS” ou “Better FS” é um novo sistema de ficheiros Linux, que ainda está em desenvolvimento. Ainda não é o padrão na maioria das distribuições Linux, mas pretende-se que venha a substituir o Ext4. O objetivo é fornecer recursos adicionais que permitam ao Linux escalar para uma maior quantidade de armazenamento

Nota: esta lista não é exaustiva. Há muitas mais opções diferentes, principalmente no reino do Linux e Unix.

Referências

http://pt.wikipedia.org/wiki/Sistema_de_ficheiros
http://en.wikipedia.org/wiki/Comparison_of_file_systems
http://en.wikipedia.org/wiki/List_of_file_systems

http://windows.microsoft.com/pt-pt/windows-vista/comparing-ntfs-and-fat-file-systems

http://www.howtogeek.com/196051/htg-explains-what-is-a-file-system-and-why-are-there-so-many-of-them/

sexta-feira, 29 de agosto de 2014

Escolher um sistema de RAID

Introdução

Quando se pensa em adquirir ou configurar um Servidor, uma das primeiras preocupações é escolher o sistema de RAID mais adequado.

Neste artigo não se pretende descrever exaustivamente as várias arquitecturas e níveis de RAID, mas sim apresentar uma comparação entre as opções mais utilizadas e tentar perceber qual a melhor opção para cada caso.

Vamos apenas referir que um sistema RAID é composto por um conjunto de 2 ou mais unidades de disco iguais, com dois objectivos base:

  • Maior rapidez de leitura e escrita (I/O) dos dados (striping)
  • Maior segurança dos dados e tolerância a falhas (mirror)

Para quem queira perceber melhor o que é o RAID e as várias opções disponíveis, a Wikipédia oferece uma explicação muito clara e concisa, aqui.

Conteúdo

Níveis de RAID e utilização de discos

Embora não seja o objectivo deste artigo a descrição detalhada das tecnologias de RAID, é útil apresentar uma tabela com a utilização de discos para cada nível.

Nível
Designação
Redundância
Utilização Discos p/ Dados
Nº Mínimo Discos
0
Striping
Não
100%
2 (n*2)
1
Mirror
Sim
50%
2 (n*2)
5
Paridade
Sim
66.6% – 97%
3 (n+1)
6
Paridade (recente)
Sim
50% – 88%
4 (n+2)
01 / 10
Striping + Mirror
Sim
50%
4 (n*2*2)
50
Paridade + Striping
Sim
66.6% – 97%
2 (n*2)
100
Striping + Mirror + Striping
Sim
50%
8 (n*2*2*2)

Nota: não são apresentados os níveis RAID 2, 3 e 4, porque caíram em desuso

Níveis de RAID base

RAID 0

Divide-se a gravação dos dados por dois ou mais discos, em simultâneo, aumentando assim a velocidade de I/O. Num sistema de dois discos, p.ex., o tempo que leva a gravar 1 byte num só disco, permite a gravação simultânea de 2 bytes (um em cada disco). Quantos mais discos tiver o sistema de RAID, mais rápida será a velocidade.

Toda a capacidade dos discos é aproveitada para os dados, todavia, se um dos discos falhar, todo o sistema falha, com perda total dos dados.

RAID 1

Cada disco, onde os dados são gravados, tem outro igual que funciona como espelho (mirror). Neste nível de RAID, os discos são sempre instalados aos pares.

Apesar de cada par ter discos iguais, somente a capacidade de um deles é aproveitada para guardar os dados. Todavia, se um dos discos falhar, o outro entra imediatamente em funcionamento, não havendo falhas no sistema.

RAID 5

Neste nível o foco também está na redundância e recuperação dos dados, mas em vez de existir um disco completo como réplica, a própria unidade garante a protecção dos dados. Isto permite uma poupança de recursos em relação ao RAID 1, podendo, inclusivamente, configurar-se RAID 5 num número ímpar de discos.

A redundância é obtida recorrendo a algoritmos de paridade. Os dados gravados no disco são divididos em pequenos blocos e cada um deles recebe um bit adicional – o bit de paridade, de acordo com a seguinte regra: se a quantidade de bits '1' do bloco for par, seu bit de paridade é '0'; se a quantidade de bits '1' for ímpar, o bit de paridade é '1'.

Estes bits de paridade são gravados numa área específica do próprio disco cujo tamanho é proporcional à quantidade de blocos de dados a controlar. Quando há uma falha (bit desconhecido), basta contar a quantidade de bits ‘1’ do bloco + bit paridade. Se for par, o bit em falta é ‘0’, se for ímpar, o bit em falta é ‘1’.

Tipicamente, numa configuração multidiscos, o espaço reservado para a paridade corresponde ao tamanho de um disco individual. Assim, numa configuração de 3 discos de 500 GB, ficamos com 1 TB para dados e 500 GB para paridade (33.33%).

RAID 0+1 vs RAID 1+0

A combinação dos níveis RAID 0 e RAID 1, permite obter o melhor de dois mundos:

  • O mirror dá-nos o mais alto nível de disponibilidade e os mais rápidos tempos de reconstrução, quando um disco falha;
  • O striping é a base da alta performance de I/O.

A combinação destes dois níveis, pode ser feita de duas formas:

  • RAID 01: primeiro fazemos o stripe e depois o mirror;
  • RAID 10: primeiro fazemos o mirror e depois o stripe.

À primeira vista parece que os processos são semelhantes e comutativos, mas não são. Vamos perceber porquê (exemplos para 3+3 discos):

RAID 0+1 ou RAID 01

Primeiro faz-se o stripe dos discos:

E depois faz-se o mirror do conjunto de discos em stripe:

 

RAID 1+0 ou RAID 10 

Primeiro faz-se o mirror de cada um dos discos:

E depois faz-se o stripe pelos pares de discos em mirror:

 

Diferenças

OK, a arquitectura interna pode ser um pouco diferente, mas o resultado final é o mesmo: usamos o mesmo número de discos, temos o mesmo disco lógico, fazemos striping por 3 discos (velocidade a triplicar) e temos redundância de dados. Porque é que nos temos que preocupar?

Temos que nos preocupar porque a grande diferença está na tolerância a falhas.

Relembremos que o RAID 1 tem uma tolerância de 1 disco por cada par em mirror.

Na configuração em RAID 01, temos apenas um mirror (de um stripe de 3 discos), pelo que o sistema apenas permite falha num dos discos físicos. Se um disco falhar, o sistema, automaticamente, começa a usar o outro bloco do mirror. Se falhar um segundo disco, desse bloco, o sistema pára.

No caso do RAID 10, temos 3 mirrors, pelo que o sistema permite a falha de um disco em cada par. Por exemplo, podem falhar os discos 1, b e 3 e o sistema continuar a funcionar. Claro que se falharem dois discos do mesmo par em mirror (p.ex. 1 e a) o sistema pára também.

A conclusão é que temos mais vantagem em usar o RAID 10 em vez do RAID 01 porque, com o mesmo número de discos, obtemos a mesma performance mas uma melhor tolerância a falhas.

RAID 10 vs RAID 50

RAID 50

De forma análoga ao RAID 10, numa configuração de RAID 50, primeiro faz-se RAID 5 e de seguida faz-se stripe aos discos já com redundância.

Diferenças

Performance
Uma configuração RAID 50 permite leituras mais rápidas que numa RAID 10, com o mesmo número de discos. No entanto, as operações de escrita em RAID 50 são mais lentas do que em RAID 10. Esta diferença torna-se muito significativa em operações de escrita intensiva (p.ex. bases de dados).

A correcção de performance de um sistema em RAID 50 é cara, exigindo ou a compra de muito mais discos RAID 5 do que aqueles inicialmente previstos, ou a conversão num sistema RAID 10, que tem um menor custo por operação de escrita.

Uma configuração RAID 50, apesar de ser tolerante à falha de uma disco, sofre uma degradação massiva de performance quando isto ocorre. Numa configuração RAID 10, se um disco falhar, o sistema continua a funcionar sem qualquer degradação de performance.

Redundância
Uma configuração RAID 10 oferece mais redundância de dados que uma RAID 50. 

Arquitectura
Uma configuração RAID 10 oferece maior flexibilidade de arquitectura do que uma RAID 50. Para além disso, a quantidade de espaço livre também é minimizada ao usar uma configuração RAID 10.

Controlador
Uma configuração RAID 5 exige uma placa controladora de alto desempenho. Se a implementação de RAID 5 estiver a ser feita pelo sistema operativo,  então o resultado será o de abrandar o desempenho do computador. No caso de uma configuração RAID 10, qualquer controlador de hardware pode ser utilizado.

Ocorrência falhas
Uma configuração RAID 50 tem uma probabilidade de falha, pelo menos, 3 vezes superior a uma configuração RAID 10 equivalente. E quanto maior for o número de discos RAID 5, mais aumenta esta probabilidade.

Recuperação de dados
A recuperação de dados numa configuração RAID 5 vai consumir cerca de metade da capacidade de IOPS (Operações de I/O por segundo) e ainda alguns ciclos do controlador ou do CPU. A recuperação de dados numa configuração RAID 10 é tão simples como copiar um disco.

Custos
A principal motivação para o aparecimento do RAID 5 foi o elevado custo por byte dos discos, para fazer RAID 1. Mas isso foi conseguido à custa do sacrifício da performance. Hoje em dia o custo dos discos já não é tão significativo e a exigência de um controlador mais sofisticado provoca que os sistemas em RAID 50 não ofereçam vantagens económicas significativas em relação ao RAID 10.

Conclusões

Pelo que foi exposto, na grande maioria dos cenários, uma configuração RAID 10 é a que apresenta mais vantagens.

O RAID 01 não oferece qualquer vantagem sobre o RAID 10 e o RAID 50 tem graves problemas de performance nas operações de escrita. Este último poderá ser equacionado quando há um pequeno número de discos (até 3) ou em sistemas em que o peso está nas operações de leitura.

Em qualquer dos casos, deve-se fazer sempre uma análise cuidadosa do cenário, requisitos e recursos disponíveis para implementar uma solução de RAID.

Referências

http://www.zdnet.com/blog/storage/raid-10-is-the-cadillac-of-raid/131

http://www.miracleas.com/BAARF/RAID5_versus_RAID10.txt

http://www.miracleas.com/BAARF/1.Millsap2000.01.03-RAID5.pdf