{"id":325,"date":"2012-08-09T14:15:46","date_gmt":"2012-08-09T17:15:46","guid":{"rendered":"http:\/\/linuxrs.com.br\/?p=325"},"modified":"2012-08-09T14:15:46","modified_gmt":"2012-08-09T17:15:46","slug":"tunando-sistemas-de-arquivos-para-gnulinux","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=325","title":{"rendered":"Tunando sistemas de arquivos para GNU\/Linux"},"content":{"rendered":"<table width=\"100%\" border=\"0\" cellspacing=\"3\" cellpadding=\"3\">\n<tbody>\n<tr>\n<td colspan=\"2\"><strong>Introdu\u00e7\u00e3o<\/strong><\/p>\n<div>\n<h1>O que \u00e9 &#8220;tunar&#8221; e o que \u00e9 Sistemas de Arquivos<\/h1>\n<p>Antes de come\u00e7ar a tratar sobre o assunto de <em>tunar<\/em> o sistema de arquivos, precisamos saber o que \u00e9 um sistema de arquivos.<\/p>\n<p>Um sistema de arquivos \u00e9 uma estrutura l\u00f3gica que \u00e9 utilizada para armazenar e organizar informa\u00e7\u00f5es no sistema. Caso queira aprofundar seus conhecimentos e saber mais sobre sistema de arquivos, leia o artigo do link abaixo:<\/p>\n<ul>\n<li>Artigo: <a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Sistemas-de-arquivos-para-GNU-Linux\/\">Sistemas de arquivos para GNU\/Linux<\/a><\/li>\n<\/ul>\n<p>&#8211; O que \u00e9 &#8220;tunar&#8221; um sistema de arquivos ?<\/p>\n<blockquote><p>Tunar um sistema de arquivos significa alterar caracter\u00edsticas do mesmo, permitindo que F.S. seja personalizado para fins diversos.<\/p>\n<p>Seja para uma otimiza\u00e7\u00e3o, deixando o sistema de arquivos mais r\u00e1pido, ou para uma personaliza\u00e7\u00e3o mais cautelosa, permitindo que o mesmo fique mais consistente e robusto, para n\u00e3o corromper os dados caso aconte\u00e7a algum erro ou falha.<\/p><\/blockquote>\n<p>O artigo ir\u00e1 abordar as pr\u00e1ticas de tunar os sistema de arquivos mais usados no pelas distribui\u00e7\u00f5es <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a> deixando os mesmos mais velozes, leves e\/ou mais consistentes.<\/p>\n<p>No final do artigo irei mostrar gr\u00e1ficos que representam um teste de desempenho de cada um ap\u00f3s a personaliza\u00e7\u00e3o para melhor desempenho, trata- se de uma benchmark (teste de desempenho) b\u00e1sico para dar uma ideia da velocidade que o mesmo pode obter em determinadas tarefas.<\/p>\n<h1>Observa\u00e7\u00f5es<\/h1>\n<p>Nas p\u00e1ginas seguintes, toda a personaliza\u00e7\u00e3o \u00e9 feita pela linha de comando, ent\u00e3o, se voc\u00ea n\u00e3o est\u00e1 seguro em fazer as altera\u00e7\u00f5es abordadas nas pr\u00f3ximas p\u00e1ginas, ou n\u00e3o gosta de linha de comando, pare por aqui mesmo, caso queira fazer as altera\u00e7\u00f5es e\/ou fazer uma boa leitura, continue.<\/p>\n<p>Algumas caracter\u00edsticas ser\u00e3o aplicadas antes da instala\u00e7\u00e3o da distribui\u00e7\u00e3o que ser\u00e1 usada, isto ser\u00e1 feito com o prop\u00f3sito de obter um melhor funcionamento desde o inicio. Essa \u00e9 a melhor op\u00e7\u00e3o.<\/p>\n<p>Os sistemas de arquivos foram tunados na distro <em>Debian<\/em> GNU\/Linux, vers\u00e3o 6.0.5.<\/p>\n<p>A m\u00e1quina usada possui um processador Intel\u00ae Core\u21222 Duo, quatro gigabytes de espa\u00e7o na RAM e um disco SATA 3.0 de 7200 RPMs.<\/p>\n<p>Antes de come\u00e7ar a colocar em pr\u00e1tica todo o trabalho, tenha em m\u00e3os um LiveCD do <em>Ubuntu<\/em>, <em>Linux Mint<\/em> ou <em>Parted Magic<\/em>, pois ser\u00e1 necess\u00e1rio.<\/p>\n<p>Todo o trabalho de &#8220;tunar&#8221; apresentando nas p\u00e1ginas seguintes foi testado.<\/p>\n<p>Caso sinta-se encorajado a fazer o trabalho, monte seu ambiente de testes para ter certeza de que as altera\u00e7\u00f5es ser\u00e3o \u00fateis para uso em produ\u00e7\u00e3o, para s\u00f3 ent\u00e3o, aplic\u00e1-las em definitivo.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><strong>Op\u00e7\u00f5es de montagem e vantagens e desvantagens de usar journal externo<\/strong><\/p>\n<div>Nesta parte do artigo, dedico a esclarecer qual \u00e9 a finalidade principal de cada op\u00e7\u00e3o de montagem que podem ser usadas para tunar os sistemas de arquivos abordados no artigo, podendo incluir as mesmas no &#8220;\/etc\/fstab&#8221;, al\u00e9m de explicar a vantagem de usar um <em>journal<\/em> externo.<\/p>\n<p>Op\u00e7\u00f5es:<\/p>\n<ul>\n<li><em>atime<\/em>: Op\u00e7\u00e3o usada para atualizar o tempo de acesso aos arquivos, este tipo de informa\u00e7\u00e3o \u00e9 armazenada nos inodes dos arquivos. Por exemplo, quando voc\u00ea clica com o bot\u00e3o direito e vai em &#8216;Propriedades&#8217; do arquivo, l\u00e1 tem o tempo de acesso.<\/li>\n<li><em>noatime<\/em>: Esta op\u00e7\u00e3o faz com que o sistema de arquivos n\u00e3o atualize o tempo de acesso aos arquivos. Caso habilite este comportamento no F.S., n\u00e3o conseguir\u00e1 obter o tempo preciso do \u00faltimo acesso feito aos arquivos gravados.<\/li>\n<li><em>async<\/em>: Op\u00e7\u00e3o usada para que o sistema de arquivos fa\u00e7a as opera\u00e7\u00f5es de forma ass\u00edncrona. A sincroniza\u00e7\u00e3o de dados (input\/output) ser\u00e1 feita depois, e n\u00e3o na hora da transfer\u00eancia de dados.\n<p>Por exemplo: Se voc\u00ea est\u00e1 gravando dados no seu disco externo, os dados somente ser\u00e3o gravados por completo, no momento que o sistema de arquivos for desmontado.<\/p>\n<p>Caso esque\u00e7a de desmontar o dispositivo, removendo o mesmo sem desmontar da forma correta, o risco de perder seus dados \u00e9 alto, este \u00e9 o comportamento padr\u00e3o dos sistemas de arquivos usados no <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a>.<\/li>\n<li><em>sync<\/em>: Op\u00e7\u00e3o usada para que o sistema de arquivos trabalhe de forma s\u00edncrona, fazendo a sincroniza\u00e7\u00e3o de dados (input\/output) no momento da transfer\u00eancia de dados.\n<p>Por exemplo: Voc\u00ea vai gravar alguns arquivos no pendrive com esta op\u00e7\u00e3o habilitada no sistema de arquivos do pendrive, toda a grava\u00e7\u00e3o dos dados ser\u00e1 feita na hora e n\u00e3o no momento de desmontar o sistema de arquivos.<\/p>\n<p>Este n\u00e3o \u00e9 o comportamento padr\u00e3o dos sistemas de arquivos usados no GNU\/Linux. Caso habilite esse comportamento, a transfer\u00eancia de dados ficar\u00e1 bem lenta, principalmente em transfer\u00eancia de dados grandes.<\/li>\n<li><em>diratime<\/em>: Esta op\u00e7\u00e3o \u00e9 similar ao <em>atime<\/em>, mas ao inv\u00e9s de atualizar o tempo de acesso aos arquivos, atualiza o tempo de acesso aos diret\u00f3rios.<\/li>\n<li><em>nodiratime<\/em>: Ao contr\u00e1rio da op\u00e7\u00e3o <em>diratime<\/em>, est\u00e1 op\u00e7\u00e3o n\u00e3o atualiza o tempo de acesso ao diret\u00f3rios, pode ser usada para ter um pouco mais de desempenho, j\u00e1 que toda a\u00e7\u00e3o de acesso n\u00e3o ser\u00e1 armazenada nos inodes.<\/li>\n<li><em>dirsync<\/em>: Similar a op\u00e7\u00e3o <em>sync<\/em>, mas ao inv\u00e9s da sincroniza\u00e7\u00e3o de dados (input\/outpu) serem feitas de forma s\u00edncrona nos arquivos, ser\u00e3o feitas nos diret\u00f3rios.<\/li>\n<li><em>relatime<\/em>: Op\u00e7\u00e3o usada para atualizar o tempo de acesso aos arquivos referentes \u00e0 modifica\u00e7\u00e3o\/altera\u00e7\u00e3o nos arquivos.\n<p>Caso habilite este comportamento no seu sistema de arquivos, o tempo de acesso aos arquivos s\u00f3 ser\u00e1 atualizado caso o tempo relativo \u00e0 modifica\u00e7\u00e3o for mais atual do que o antigo, ou seja, s\u00f3 ser\u00e1 atualizado caso haja alguma modifica\u00e7\u00e3o\/altera\u00e7\u00e3o nos arquivos, e n\u00e3o um simples acesso. Esta op\u00e7\u00e3o \u00e9 similar ao <em>noatime<\/em>. Caso deixe a mesma habilitada ter\u00e1 um ganho de desempenho.<\/li>\n<li><em>norelatime<\/em>: Esta op\u00e7\u00e3o desabilita o recurso <em>relatime<\/em>, pois n\u00e3o vai atualizar nos inodes o tempo de acesso relativo \u00e0 modifica\u00e7\u00e3o e\/ou altera\u00e7\u00e3o.<\/li>\n<li><em>barrier<\/em>: Este comportamento chama-se barreira, e \u00e9 usado em conjunto com journal.\n<p>Para entender melhor esta op\u00e7\u00e3o de comportamento do sistema de arquivos, temos que ter em mente o seguinte: toda altera\u00e7\u00e3o no sistema de arquivos que usa journaling, armazena primeiro os registros de altera\u00e7\u00f5es de sua estrutura, seja um arquivo ou diret\u00f3rio, no journal, para posteriormente fazer a grava\u00e7\u00e3o efetiva dos dados.<\/p>\n<p>Por\u00e9m, se os blocos de dados e\/ou registros de altera\u00e7\u00e3o de dados que ser\u00e3o feitos de forma efetiva n\u00e3o forem escritos antes no journal, seu sistema e arquivos poder\u00e3o comprometer as informa\u00e7\u00f5es armazenadas na sua estrutura.<\/p>\n<p>Habilitando o <em>barrier<\/em>, evita-se a grava\u00e7\u00e3o desordenada, evitando que os dados fiquem corrompidos no sistema, pois os blocos de dados e\/ou os registros s\u00e3o primeiro armazenados no journal para posteriormente, serem gravados efetivamente no sistema.<\/p>\n<p>Quando este comportamento \u00e9 habilitado, \u00e9 garantido que o F.S. tenha sua consist\u00eancia mantida, mas em compensa\u00e7\u00e3o, ter\u00e1 uma perda de desempenho. Caso deixe desabilitada, ganhar\u00e1 desempenho, por\u00e9m, tenha certeza que o mesmo poder\u00e1 ficar corrompido de forma mais f\u00e1cil do que quando este comportamento est\u00e1 habilitado, pois nenhum sistema de arquivos \u00e9 anti falhas, e sim tem uma toler\u00e2ncia \u00e0 falhas.<\/p>\n<p>Para habilitar, coloque no &#8220;\/etc\/fstab barrier=1&#8221;, ou &#8220;barrier=flush&#8221; (vai depender do F.S. usado). Caso queira deixar desabilitada, coloque no &#8220;\/etc\/fstab barrier=0&#8221;, ou &#8220;barrier=none&#8221; (relativo ao F.S. usado).<\/li>\n<\/ul>\n<h1>Vantagens de se usar Journal Externo<\/h1>\n<p>Antes de falar sobre as vantagens, primeiro vem a defini\u00e7\u00e3o de journal, que \u00e9 uma \u00e1rea reservada para armazenamento de registros\/log de a\u00e7\u00f5es feitas nos dados, tais como: leitura\/altera\u00e7\u00e3o e ou grava\u00e7\u00e3o de novos dados na estrutura do F.S.<\/p>\n<p>Para uma melhor compreens\u00e3o, acesse o artigo <a href=\"http:\/\/www.vivaolinux.com.br\/artigo\/Sistemas-de-arquivos-para-GNU-Linux\/?pagina=2\">Sistemas de arquivos para GNU\/Linux<\/a>, p\u00e1gina 2.<\/p>\n<p>O Journal do sistema de arquivos \u00e9 a parte mais acessada do seu disco r\u00edgido. Seja para qualquer a\u00e7\u00e3o que voc\u00ea fa\u00e7a o Journal \u00e9 acessado, ou seja, tanto nas opera\u00e7\u00f5es de leitura como de escrita.<\/p>\n<p>Desta forma, o disco precisa gravar os dados no journal (log) e no sistema de arquivos. Logo, nota-se que o disco tem que fazer dois movimentos: um para grava\u00e7\u00e3o no journal e outro no F.S. em si, al\u00e9m de ter um journal com tamanho limitado.<\/p>\n<p>Isto pode influenciar no desempenho, j\u00e1 que o log fica limitado pelo tamanho e tamb\u00e9m o Seek time \u00e9 maior.<\/p>\n<p><em>Seek time<\/em> \u00e9 o tempo gasto para movimentar a cabe\u00e7a do disco para ler e escrever no disco at\u00e9 a trilha\/setor desejado.<\/p>\n<p>No entanto, ao colocar o journal (\u00e1rea de log) em outro disco, tem-se um ganho quanto ao seek time, pois o mesmo disco que armazena o sistema, n\u00e3o precisar\u00e1 fazer dois movimentos (um no sistema de arquivos e outro journal).<\/p>\n<p>Com isso, ganha-se velocidade na leitura\/escrita de dados, al\u00e9m de poder deixar o Journal com um tamanho maior, permitindo armazenar mais dados (se necess\u00e1rio) de uma vez. Com isso, o ganho de desempenho \u00e9 garantido.<\/p>\n<p>Mesmo colocando o journal em outra parti\u00e7\u00e3o do mesmo disco onde est\u00e1 o sistema, tem-se um ganho de desempenho. N\u00e3o igual se comparado a colocar em outro disco, mas ganha.<\/p>\n<p>Lembre-se que, para cada parti\u00e7\u00e3o que usar\u00e1 com journal externo, dever\u00e1 ter uma parti\u00e7\u00e3o dedicada para armazenar o journal. Se pretende colocar o diret\u00f3rio &#8220;\/&#8221; e &#8220;\/home&#8221; em parti\u00e7\u00f5es separadas e usar a \u00e1rea de registro para ambas parti\u00e7\u00f5es com localiza\u00e7\u00e3o externa, ent\u00e3o dedique duas parti\u00e7\u00f5es para para receber o log, cada parti\u00e7\u00e3o para um diret\u00f3rio.<\/p>\n<h1>Desvantagem de usar Journal Externo<\/h1>\n<p>Se o disco r\u00edgido em que est\u00e1 o journal externo for acidentalmente desligado, voc\u00ea n\u00e3o poder\u00e1 iniciar o seu sistema, mas nenhum dado estar\u00e1 perdido!<\/p>\n<p>Nem mesmo dando boot pelo LiveCD, voc\u00ea ter\u00e1 acesso aos seus dados. Voc\u00ea precisar\u00e1 do Journal externo para ler os seus dados. Basta ent\u00e3o, religar o disco r\u00edgido em quest\u00e3o, na mesma ordem em que tudo foi configurado, que tudo volta ao normal.<\/p>\n<p>Se o disco r\u00edgido em que est\u00e1 o journal externo chegou ao fim de sua vida \u00fatil, ou est\u00e1 com defeitos irrepar\u00e1veis, voc\u00ea n\u00e3o poder\u00e1 acessar os seus dados e o que estiver fazendo no momento do problema pode estar perdido.<\/p>\n<p>A\u00ed voc\u00ea pode perguntar-se: Como ent\u00e3o eu volto a ter acesso aos meus dados?<\/p>\n<p>Resposta: Substitua o disco onde estava o journal da parti\u00e7\u00e3o, aplique o sistema de arquivos em uma nova parti\u00e7\u00e3o, e execute os comandos que ser\u00e3o usados nas p\u00e1ginas seguintes para preparar o HD para receber o journal externo, e anexar o journal do sistema no novo HD. Depois reinicie a m\u00e1quina e use o sistema.<\/p>\n<p>* NOTA: Nem todos os sistemas de arquivos abordados neste artigo poder\u00e3o migrar o seu journal externo para outro dispositivo, sem que o dispositivo anterior (dispositivo que continha o journal) esteja presente e\/ou sem formatar a parti\u00e7\u00e3o que cont\u00e9m o sistema.<\/p>\n<p>Independentemente do seu sistema de arquivos e das modifica\u00e7\u00f5es que voc\u00ea possa fazer no seu sistema, sempre fa\u00e7a backup antes de fazer as altera\u00e7\u00f5es instru\u00eddas nas p\u00e1ginas seguintes.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><strong>Tunando o sistema de arquivos ReiserFS<\/strong><\/p>\n<div>Ser\u00e3o abordadas duas formas de tunar o sistema de arquivos para um melhor desempenho e para torn\u00e1-lo mais robusto.<\/p>\n<p>Uma das formas que vou utilizar \u00e9 o journal externo, ou seja, o journal do sistema de arquivos ReiserFS vai estar em outra parti\u00e7\u00e3o. Por\u00e9m, voc\u00ea poder\u00e1 tamb\u00e9m coloc\u00e1-lo em uma parti\u00e7\u00e3o de outro disco.<\/p>\n<p>E a segunda forma vai ser com o journal interno, ou seja, na parti\u00e7\u00e3o onde est\u00e1 armazenado o sistema.<\/p>\n<p>Para aplicar o journal externo, particione o disco conforme sua necessidade. Contudo, usarei para explicar o seguinte particionamento do disco para instalar o S.O.:<\/p>\n<ul>\n<li>Parti\u00e7\u00e3o: \/dev\/sda1 &#8211; Diret\u00f3rio root &#8220;\/&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda5 &#8211; Swap;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda6 &#8211; Parti\u00e7\u00e3o usada para armazenar o journal externo da parti\u00e7\u00e3o \/dev\/sda1.<\/li>\n<\/ul>\n<p>NOTA: Este sistema de particionamento \u00e9 apenas um exemplo para fins did\u00e1ticos,n\u00e3o \u00e9 obrigat\u00f3rio. De forma que, n\u00e3o \u00e9 preciso usar o journal externo na parti\u00e7\u00e3o onde ficar root &#8220;\/&#8221;, ent\u00e3o, voc\u00ea pode particionar da forma que melhor atende \u00e0s suas necessidades, adicionando at\u00e9 mais parti\u00e7\u00f5es se for necess\u00e1rio.<\/p>\n<p>N\u00e3o vou abordar como particionar usando o <em>fdisk<\/em> e nem o <em>GParted<\/em>, pois existem muitos materiais que abordam o uso dessas ferramentas.<\/p>\n<h1>Tunando o ReiserFS usando journal externo<\/h1>\n<p>Antes de come\u00e7ar a parte pr\u00e1tica, tenha em m\u00e3os um LiveCD do Ubuntu, <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">Linux<\/a> Mint e ou Parted Magic, para aplicar as altera\u00e7\u00f5es. Caso n\u00e3o tenha no LiveCD (ou no sistema que est\u00e1 usando para particionar e aplicar o sistema de arquivos) suporte a ReiserFS, ent\u00e3o instale o pacote &#8220;reiserfsprogs&#8221;.<\/p>\n<p>Supondo que voc\u00ea j\u00e1 particionou o disco que armazenar\u00e1 o S.O., \u00e9 hora de aplicar o sistema de arquivos ReiserFS. Mas antes, desmonte as parti\u00e7\u00f5es que usar\u00e1 no procedimento de aplica\u00e7\u00e3o de F.S.<\/p>\n<p>1. Aplique o sistemas de arquivos em &#8220;\/dev\/sda1&#8221; com journal externo. O journal da parti\u00e7\u00e3o &#8220;\/dev\/sda1&#8221; ficar\u00e1 no dispositivo &#8220;\/dev\/sda6&#8221;, que ser\u00e1 a parti\u00e7\u00e3o raiz e que abrigar\u00e1 toda a estrutura de diret\u00f3rios.<\/p>\n<p><strong># mkreiserfs -j \/dev\/sda6 \/dev\/sda1<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/reiserfs1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_reiserfs1.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>No comando anterior, n\u00e3o especifiquei o tamanho do journal na parti\u00e7\u00e3o, ent\u00e3o, o tamanho assumido por padr\u00e3o, \u00e9 8193 blocos. Caso queira colocar um tamanho de journal acima do tamanho padr\u00e3o, use junto ao comando <em>mkreiserfs<\/em> a op\u00e7\u00e3o &#8220;-s&#8221;, ou &#8220;&#8211;journal-size&#8221;.<\/p>\n<p>Sabendo que o tamanho m\u00e1ximo do journal \u00e9 de 32749 para parti\u00e7\u00f5es com blocos de 4 kbytes.<\/p>\n<p>Ent\u00e3o, com a op\u00e7\u00e3o de tamanho ficaria assim:<\/p>\n<p><strong># mkreiserfs -s 8193 -t 1024 -j \/dev\/sda6 \/dev\/sda1<\/strong><\/p>\n<p>Onde &#8220;-s&#8221; especifica o tamanho do journal, e &#8220;-t&#8221; especifica o m\u00e1ximo de blocos que podem ser transferidos para o journal de uma vez. 1024 \u00e9 o m\u00e1ximo, n\u00e3o consegui fazer com valor superior, e o valor deve ser menor do que metade do tamanho do journal.<\/p>\n<p>Ap\u00f3s aplicar o sistema de arquivos, veja como fica a particionamento no GParted na imagem abaixo:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/reiserfs2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_reiserfs2.png\" alt=\"\" width=\"500\" height=\"377\" border=\"0\" \/><\/a><\/div>\n<p>2. Instala\u00e7\u00e3o do S.O. Debian <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a> 6.0.5<\/p>\n<p>NOTA: N\u00e3o tratarei a instala\u00e7\u00e3o por completo, apenas partes importantes para finalizar a mesma.<\/p>\n<p>2.1. Na primeira tela de instala\u00e7\u00e3o, escolha a op\u00e7\u00e3o &#8220;Advanced Options&#8221; e em seguida &#8220;Graphical Expert Install&#8221;. Depois carregue os m\u00f3dulos do sistema de arquivos ReiserFS:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/reiserfs3.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_reiserfs3.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<p>2.2. Em particionamento do disco, escolha a op\u00e7\u00e3o &#8220;Manual&#8221; e deixe a parti\u00e7\u00e3o Raiz conforme mostrado na imagem abaixo, ou seja, deixe marcado para usar o sistema de arquivos ReiserFS e adicione o ponto de montagem como root &#8220;\/&#8221;, mas marque para n\u00e3o formatar:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/reiserfs7.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_reiserfs7.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/reiserfs4.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_reiserfs4.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>Ao final, o particionamento ficar\u00e1 assim, depois aplique as altera\u00e7\u00f5es feitas:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/reiserfs5.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_reiserfs5.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>Ap\u00f3s a instala\u00e7\u00e3o do S.O com journal externo, voc\u00ea ter\u00e1 um sistema ReiserFS com mais velocidade, por\u00e9m, em um desktop que \u00e9 usado para acesso \u00e0 Internet e\/ou tarefas b\u00e1sicas, n\u00e3o nota-se diferen\u00e7a a princ\u00edpio. Ou seja, s\u00f3 repara-se diferen\u00e7a quando est\u00e1 fazendo opera\u00e7\u00f5es em massa, a\u00ed sim notar\u00e1 diferen\u00e7a.<\/p>\n<p>Agora, edite e acrescente algumas op\u00e7\u00f5es de montagem para alterar o comportamento do ReiserFS no arquivo &#8220;\/etc\/fstab&#8221;:<\/p>\n<p><strong># vim \/etc\/fstab<\/strong><\/p>\n<div>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0reiserfs\u00a0\u00a0\u00a0\u00a0notail,rw,data=writeback,relatim e\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/div>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/reiserfs6.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_reiserfs6.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<p>* <em>notail<\/em>: Por padr\u00e3o, esta op\u00e7\u00e3o j\u00e1 veio ativada ap\u00f3s a instala\u00e7\u00e3o, mas caso n\u00e3o esteja habilitada, coloque a mesma no <em>fstab<\/em>. Esta op\u00e7\u00e3o muda o comportamento do sistema de arquivos ReiserFS, fazendo com que o mesmo ganhe um pouco de desempenho.<\/p>\n<p>Explicando bem o que esta op\u00e7\u00e3o <em>notail<\/em> faz:<\/p>\n<p>Toda informa\u00e7\u00e3o que \u00e9 gravada no disco, \u00e9 armazenada em blocos de dados, cada bloco possui um espa\u00e7o para alocar informa\u00e7\u00f5es que \u00e9 determinado durante a aplica\u00e7\u00e3o do sistema de arquivos.<\/p>\n<p>Desta forma, se um arquivo possuir 17 kbytes de tamanho e for armazenado em um sistema de arquivos cujo tamanho do bloco \u00e9 4 kbytes, o arquivo iria ocupar cinco blocos de 4 kbytes. Assim, o \u00faltimo bloco ficaria com 3 kbytes de espa\u00e7o sobrando sem poder serem usados.<\/p>\n<p>Mas, com o recurso &#8220;tail packing&#8221;, este espa\u00e7o restante livre mencionado na explica\u00e7\u00e3o anterior, pode ser preenchido com os restos de dados de outros arquivos.<\/p>\n<p>Isto pode causar fragmenta\u00e7\u00e3o, mas como o sistema de arquivos est\u00e1 com a op\u00e7\u00e3o &#8220;notail&#8221; habilitada, a fragmenta\u00e7\u00e3o \u00e9 praticamente nula, e a velocidade de acesso aos dados torna-se r\u00e1pida, j\u00e1 que os &#8220;restos&#8221; de dados n\u00e3o ser\u00e3o armazenados em blocos com espa\u00e7os que est\u00e3o sobrando. Mas em compensa\u00e7\u00e3o, haver\u00e1 perda de espa\u00e7o.<\/p>\n<p>* <em>data=writeback<\/em>: Esta op\u00e7\u00e3o faz com que o sistema de arquivos ReiserFS atue no modo de opera\u00e7\u00e3o writeback, gravando no journal apenas os metadados a cada a\u00e7\u00e3o nos arquivos, sem for\u00e7ar a grava\u00e7\u00e3o dos metadados no sistema de arquivos ap\u00f3s a grava\u00e7\u00e3o no journal. Isto garante maior desempenho mas poder\u00e1 perder dados com maior facilidade.<\/p>\n<p>Uma outra forma de melhorar ainda mais o desempenho, por\u00e9m perdendo algumas informa\u00e7\u00f5es (como data de acesso a arquivos e diret\u00f3rios), seria adicionar no &#8220;\/etc\/fstab&#8221;:<\/p>\n<div>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0reiserfs\u00a0\u00a0\u00a0\u00a0notail,rw,data=writeback,noatim e,nodiratime\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/div>\n<p>As outras op\u00e7\u00f5es j\u00e1 foram abordadas na p\u00e1gina anterior.<\/p>\n<p>Lembre-se que, adicionando a op\u00e7\u00e3o de montagem &#8216;data=writeback&#8217;, o risco de perder dados \u00e9 maior, por\u00e9m, como o journal est\u00e1 externo j\u00e1 existe um ganho de desempenho.<\/p>\n<p>Podemos adicionar, ou retirar, algumas op\u00e7\u00f5es para mudar o comportamento do sistema de arquivos, fazendo o mesmo ficar mais consistente e\/ou continuar r\u00e1pido, mas mantendo um bom n\u00edvel de consist\u00eancia.<\/p>\n<p>Vejam s\u00f3 como ficaria as op\u00e7\u00f5es de montagem no &#8220;\/etc\/fstab&#8221;, deixando o sistema de arquivo num misto de consist\u00eancia e velocidade com journal externo:<\/p>\n<div>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0reiserfs\u00a0\u00a0\u00a0\u00a0notail,rw,relatime,barrier=flush&amp; nbsp;\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/div>\n<p>Ou, deixa manter os dados com o m\u00e1ximo de seguran\u00e7a sem importar-se com a velocidade. Veja o exemplo abaixo adicionado no &#8220;\/etc\/fstab&#8221;:<\/p>\n<div>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0reiserfs\u00a0\u00a0\u00a0\u00a0notail,rw,sync,barrier=flush\u00a0 ;\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/div>\n<p>Ap\u00f3s aplicar as altera\u00e7\u00f5es, notar\u00e1 que vai ficar lento, principalmente em atividades de grava\u00e7\u00e3o e transfer\u00eancia de dados.<\/p>\n<p>\u00c9 importante deixar bem claro que, caso o dispositivo que cont\u00e9m o journal externo do F.S. do sistema chegue ao fim de sua vida \u00fatil, ou seja danificado. O seu sistema n\u00e3o poder\u00e1 mais ser acessado enquanto n\u00e3o houver um novo journal externo.<\/p>\n<p>Para resolver isso, execute os comandos a seguir com o sistema de arquivo do sistema desmontado:<\/p>\n<p><strong># reiserfstune -f &#8211;no-journal-available &#8211;journal-new-device \/dev\/sdb2 \/dev\/sda1<\/strong><\/p>\n<p>No comando acima, estou supondo que o novo dispositivo que conter\u00e1 o journal do sistema \u00e9 &#8220;\/dev\/sdb2&#8221;, e o dispositivo que cont\u00e9m o sistema \u00e9 &#8220;\/dev\/sda1&#8221;.<\/p>\n<p>As op\u00e7\u00f5es:<\/p>\n<ul>\n<li><em>journal-new-device<\/em>: indica a nova localiza\u00e7\u00e3o do journal do F.S. do sistema.<\/li>\n<li><em>no-journal-available<\/em>: indica que o dispositivo &#8220;\/dev\/sda1&#8221;, ou seja, o dispositivo que cont\u00e9m o sistema, n\u00e3o tem journal.<\/li>\n<\/ul>\n<p>Voc\u00ea pode ainda mudar o tamanho do journal com a op\u00e7\u00e3o &#8220;-s&#8221;, junto ao comando <em>reiserfstune<\/em>.<\/p>\n<p>Mas tenha em mente que foi criado um novo journal e conte\u00fado, do antigo foi perdido, de maneira que se antigo log cont\u00e9m alguma informa\u00e7\u00e3o para ser recuperada, a mesma foi perdida com a cria\u00e7\u00e3o do novo journal.<\/p>\n<h1>Tunando o ReiserFS usando journal interno<\/h1>\n<p>Para tunar o sistema de arquivos com journal interno, o procedimento \u00e9 mais f\u00e1cil, pois n\u00e3o precisa fazer altera\u00e7\u00f5es especificas antes e durante a instala\u00e7\u00e3o do S.O., basta apenas manipular as informa\u00e7\u00f5es dentro o &#8220;\/etc\/fstab&#8221;, pois assim \u00e9 mais f\u00e1cil.<\/p>\n<p>As op\u00e7\u00f5es de montagem j\u00e1 usadas anteriormente podem ser usadas tamb\u00e9m com journal interno. E estarei usando o mesmo esquema de particionamento j\u00e1 visto com journal externo.<\/p>\n<p>Por exemplo, para um maior desempenho mesmo com o journal interno, poder\u00edamos fazer o ReiserFS trabalhar bem r\u00e1pido, adicionando as seguintes op\u00e7\u00f5es no &#8220;\/etc\/fstab&#8221;:<\/p>\n<div>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0reiserfs\u00a0\u00a0\u00a0\u00a0notail,rw,data=writeback,relatim e\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/div>\n<p>Ou, deixar o ReiserFS com mais ganho de desempenho, adicionando as seguintes linhas no &#8220;\/etc\/fstab&#8221;:<\/p>\n<div>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0reiserfs\u00a0\u00a0\u00a0\u00a0notail,rw,data=writeback,noatim e,nodiratime\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/div>\n<p>Ou, tunar o ReiserFS deixando-o mais robusto, por\u00e9m perdendo velocidade, para manter os dados de sua estrutura:<\/p>\n<div>\/dev\/sda1\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0reiserfs\u00a0\u00a0\u00a0\u00a0notail,rw,sync,barrier=flush\u00a0 ;\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/div>\n<p>Lembre-se que todas estas personaliza\u00e7\u00f5es tem que ser utilizadas para bons resultados junto \u00e0s caracter\u00edsticas positivas do ReiserFS.<\/p>\n<p>Exemplo: O ReiserFS trabalha melhor com arquivos pequenos.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><strong>Tunando o sistema de arquivos XFS<\/strong><\/p>\n<div>Antes de tunar o XFS, tenha em mente que ele foi desenvolvido para ser usado em sistemas grandes e uma de suas caracter\u00edsticas positivas \u00e9 trabalhar muito bem com arquivos grandes. Sendo que uma caracter\u00edstica negativa, \u00e9 n\u00e3o ter um bom desempenho com arquivos pequenos.<\/p>\n<p>Tamb\u00e9m \u00e9 necess\u00e1rio explicar como sua estrutura est\u00e1 organizada para um melhor entendimento. O XFS \u00e9 dividido em tr\u00eas partes, cada parte fica localizada uma se\u00e7\u00e3o.<\/p>\n<p>As se\u00e7\u00f5es s\u00e3o:<\/p>\n<ul>\n<li><em>A se\u00e7\u00e3o de dados<\/em>: Cont\u00e9m todos os metadados do sistema de arquivos (inodes, diret\u00f3rios), bem como os dados do usu\u00e1rio, como arquivos e at\u00e9 mesmo o aquivo de log, caso o journal seja interno. A se\u00e7\u00e3o de dados \u00e9 dividido em um n\u00famero de grupos de aloca\u00e7\u00e3o.\n<p>O n\u00famero e tamanho dos grupos de aloca\u00e7\u00e3o s\u00e3o determinados pelo comando <em>mkfs.xfs<\/em>. O n\u00famero de grupos de aloca\u00e7\u00e3o controla a quantidade de dados que podem ser transferidos paralelamente.<\/p>\n<p>Se n\u00e3o tiver uma m\u00e1quina &#8220;potente&#8221; (com uma boa quantidade de mem\u00f3ria dispon\u00edvel e processador com poder de processamento bom) o n\u00famero de grupos de aloca\u00e7\u00e3o n\u00e3o deve ser muito alto, pois isto pode causar sobrecarga no processador. Caso contr\u00e1rio, aumente este n\u00famero pois pode aumentar o desempenho.<\/li>\n<li><em>A se\u00e7\u00e3o de log<\/em>: \u00c9 usada para armazenar as altera\u00e7\u00f5es de metadados do sistema de arquivos enquanto o mesmo est\u00e1 sendo executado, at\u00e9 que as altera\u00e7\u00f5es sejam feitas pela a se\u00e7\u00e3o de dados.\n<p>Este \u00e9 escrito sequencialmente durante as opera\u00e7\u00f5es normais (enquanto o sistema est\u00e1 em uso) e lido apenas durante a montagem. Ao montar um sistema de arquivos, depois de um acidente, o log \u00e9 lido para opera\u00e7\u00f5es completas que estavam em curso no momento do acidente, e restaura a estrutura at\u00e9 onde \u00e9 poss\u00edvel.<\/li>\n<li><em>A se\u00e7\u00e3o de tempo real<\/em>: \u00c9 usada para armazenar os dados do sistema de arquivos em tempo real. Antes que qualquer dado seja escrito definitivamente no F.S.<\/li>\n<\/ul>\n<p>Assim como nos outros sistema de arquivos, vou apresentar duas formas de tunar: uma para desempenho e outra para maior consist\u00eancia, tanto usando journal externo quanto journal interno.<\/p>\n<p>Apresentando particionamento usado para aplicar as altera\u00e7\u00f5es:<\/p>\n<ul>\n<li>Parti\u00e7\u00e3o: \/dev\/sda1 &#8211; Diret\u00f3rio root &#8220;\/&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda2 &#8211; Diret\u00f3rio home &#8220;\/home&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda5 &#8211; Swap;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sdb2 &#8211; Parti\u00e7\u00e3o usada para armazenar o journal externo da parti\u00e7\u00e3o \/dev\/sda2.<\/li>\n<\/ul>\n<p>NOTA: Este \u00e9 apenas um exemplo de particionamento para explicar como fazer o trabalho, ou seja, apenas para fins did\u00e1ticos. O leitor pode tanto seguir este esquema como pode personalizar da forma que quiser.<\/p>\n<p>Preferi usar este particionamento, pois diret\u00f3rios como &#8220;\/home&#8221;, e outros que podem ser criados, podem armazenar uma grande quantidade de arquivos grandes, e XFS tem um bom desempenho com arquivos grandes.<\/p>\n<p>\u00c9 importante deixar bem claro tamb\u00e9m que, o sistema de arquivos XFS quando usa journal externo n\u00e3o tem outra forma de migrar seu journal de uma parti\u00e7\u00e3o de um dispositivo para outra parti\u00e7\u00e3o sem perda de dados.<\/p>\n<p>Para fazer tal migra\u00e7\u00e3o, \u00e9 necess\u00e1rio aplicar o F.S. na parti\u00e7\u00e3o onde est\u00e1 instalado o sistema que foi configurado para deixar o journal em outro dispositivo. Pelo menos, n\u00e3o encontrei nenhuma forma que n\u00e3o seja usando o comando <em>mkfs.xfs<\/em> apresentado no decorrer desta p\u00e1gina.<\/p>\n<p>Isto quer dizer que, caso o dispositivo que cont\u00e9m o journal fique defeituoso, ou chegue ao fim de sua vida \u00fatil, n\u00e3o ter\u00e1 como acessar os dados do sistema que tem o XFS usando journal externo, nem usando um LiveCD.<\/p>\n<p>A \u00fanica forma \u00e9 criar um novo journal usando o comando <em>mkfs.xfs<\/em>, por\u00e9m, este comando ir\u00e1 aplicar um novo sistema de arquivos ao sistema que n\u00e3o tem mais journal apagando toda informa\u00e7\u00e3o contida nele.<\/p>\n<p>Ent\u00e3o, se quer usar seu sistema usando o F.S. XFS, a melhor op\u00e7\u00e3o \u00e9 com journal interno, mas caso deseja usar o sistema com XFS e journal externo, \u00e9 melhor fazer backup de seus dados.<\/p>\n<h1>Tunando o XFS usando journal externo<\/h1>\n<p>N\u00e3o ser\u00e1 abordado como particionar e nem a instala\u00e7\u00e3o passo a passo, apenas detalhes importantes. Mas o esquema de particionamento usado ser\u00e1 o mesmo especificado acima. Ent\u00e3o, vamos \u00e0 pr\u00e1tica:<\/p>\n<p>1. Instala\u00e7\u00e3o do S.O. <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a> <em>Debian 6.0.5<\/em>. Na primeira tela de instala\u00e7\u00e3o, escolha a op\u00e7\u00e3o &#8220;Advanced options&#8221; e em seguida &#8220;Graphical Expert Install&#8221;:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs1.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>2. Depois, prossiga com a instala\u00e7\u00e3o normalmente e particione. Veja como ficou o particionamento usado no artigo:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs2.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>3. Ap\u00f3s instalar o sistema, o GRUB ou LILO, \u00e9 hora de fazer as partes mais importantes que merecem aten\u00e7\u00e3o total.<\/p>\n<p>* N\u00c3O finalize a instala\u00e7\u00e3o e escolha a op\u00e7\u00e3o de &#8220;Executar um shell&#8221; para entrar na linha de comando:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs3.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs3.png\" alt=\"\" width=\"500\" height=\"376\" border=\"0\" \/><\/a><\/div>\n<p>3.1. Na linha de comando, veja que o dispositivo que estou usando no artigo e que armazena &#8220;\/home&#8221; \u00e9 &#8220;\/dev\/sda2&#8221;, ent\u00e3o, desmonte o mesmo. Caso use outro, troque conforme sua necessidade:<\/p>\n<p><strong># mount<br \/>\n# umount \/dev\/sda2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs4.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs4.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>3.2. Agora vamos aplicar o sistema de arquivos XFS com Journal externo armazenado na parti\u00e7\u00e3o &#8220;\/dev\/sdb2&#8221;:<\/p>\n<p><strong># mkfs.xfs \/dev\/sdb2<br \/>\n# mkfs.xfs -f -l logdev=\/dev\/sdb2,size=1g -d agcount=4 -i maxpct=5 \/dev\/sda2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs5.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs5.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>Op\u00e7\u00f5es:<\/p>\n<ul>\n<li><em>-f<\/em> : Quando est\u00e1 op\u00e7\u00e3o \u00e9 usada, indica que j\u00e1 existe um sistema de arquivos XFS no dispositivo que ir\u00e1 ser formatado, o F.S. existente ser\u00e1 sobrescrito.<\/li>\n<li><em>-l<\/em> : Se\u00e7\u00e3o de op\u00e7\u00f5es de log. Estas op\u00e7\u00f5es especificam a localiza\u00e7\u00e3o, tamanho e outros par\u00e2metros da se\u00e7\u00e3o de log do sistema de arquivos.\n<p>Existem v\u00e1rios par\u00e2metros nesta se\u00e7\u00e3o, mas explicarei os usados:<\/p>\n<ul>\n<li><em>logdev<\/em> : Este par\u00e2metro indica o dispositivo que armazenar\u00e1 o log. Ele \u00e9 usado quando se deseja usar o journal externo em outra parti\u00e7\u00e3o do mesmo disco ou de outro disco. No comando anterior, armazenei o journal no dispositivo &#8220;\/dev\/sdb2&#8221;.<\/li>\n<li><em>size<\/em> : Par\u00e2metro usado para especificar o tamanho do log. No comando anterior, usei um gigabyte de tamanho para o journal (o m\u00ednimo \u00e9 512 blocos).<\/li>\n<\/ul>\n<\/li>\n<li><em>-d<\/em> : Se\u00e7\u00e3o de op\u00e7\u00f5es de dados. Estas op\u00e7\u00f5es especificam a localiza\u00e7\u00e3o, tamanho e outros par\u00e2metros da se\u00e7\u00e3o de dados do sistema de arquivos.\n<p>O par\u00e2metro usado nesta se\u00e7\u00e3o foi:<\/p>\n<ul>\n<li><em>agcount<\/em> : Este par\u00e2metro especifica o n\u00famero de grupos de aloca\u00e7\u00e3o. Como j\u00e1 foi explicado anteriormente, o XFS divide o a sua estrutura l\u00f3gica de arquivos em grupos de aloca\u00e7\u00e3o para aumentar o desempenho com leituras em paralelo dos blocos e inodes.\n<p>Mas cuidado ao escolher o n\u00famero de grupos de aloca\u00e7\u00e3o usados, pois colocando um n\u00famero muito alto e\/ou baixo demais poder\u00e1 perder desempenho de acordo com a carga do sistema e do desempenho da m\u00e1quina.<\/p>\n<p>O comando <em>mkfs.xfs<\/em> calcula o n\u00famero de &#8216;agcount&#8217; de acordo com o tamanho do dispositivo a ser formatado. Seus valores variam normalmente entre 4, 8, 16 e 32. Voc\u00ea tamb\u00e9m pode colocar outros valores como 2, 6 e 56, ou at\u00e9 mesmo n\u00fameros maiores.<\/p>\n<p>Recomendo testar em uma m\u00e1quina separada, para depois ser colocado em produ\u00e7\u00e3o a melhor configura\u00e7\u00e3o que atendeu \u00e0s necessidades. Na formata\u00e7\u00e3o usada no artigo usei o valor de &#8220;4&#8221;, mas usei o mesmo pois o espa\u00e7o da parti\u00e7\u00e3o em disco \u00e9 pequeno.<\/li>\n<\/ul>\n<\/li>\n<li><em>-i<\/em>: Par\u00e2metro usado para especificar op\u00e7\u00f5es de inodes. Esta op\u00e7\u00e3o especifica o tamanho do inode do sistema de arquivos, e outros par\u00e2metros de aloca\u00e7\u00e3o de inode.\n<ul>\n<li><em>maxpct<\/em> : Este par\u00e2metro especifica a porcentagem m\u00e1xima que o sistema de arquivos pode alocar com inodes. Os valores padr\u00f5es s\u00e3o: 25% para um sistema de arquivos com menos de 1TB, 5% para os menores que 50TB, e 1% para os acima dos 50TB.\n<p>Estes par\u00e2metros influenciam no espa\u00e7o em disco, podendo fazer voc\u00ea desperdi\u00e7ar espa\u00e7o em disco. Com isso, voc\u00eas podem notar que o XFS foi pensado para ser grande.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>3.3. Adicione o novo &#8220;UUID&#8221; da parti\u00e7\u00e3o &#8220;\/dev\/sda2&#8221; que armazena o home dos usu\u00e1rios do sistema instalado no final do arquivo &#8220;\/target\/etc\/fstab&#8221;. Este arquivo \u00e9 o &#8220;\/etc\/fstab&#8221; do Debian instalado.<\/p>\n<p>E em seguida, edite o <em>fstab<\/em> com as op\u00e7\u00f5es de montagem a seguir, trocando o &#8220;UUID&#8221; correspondente \u00e0 parti\u00e7\u00e3o Home pelo que foi enviado para o fim do arquivo.<\/p>\n<p>* NOTA: Troque o &#8220;UUID&#8221; informado pelo &#8220;UUID&#8221; da parti\u00e7\u00e3o do disco usado.<\/p>\n<p><strong># blkid \/dev\/sdb2 &gt;&gt; \/target\/etc\/fstab<br \/>\n# nano \/target\/etc\/fstab<\/strong><\/p>\n<div>UUID=68f06b5-1e92-4348-9a7f- 77c47801f6b\u00a0\u00a0\u00a0\u00a0\u00a0\/home\u00a0\u00a0\u00a0\u00a0xfs\u00a0\u00a0\u00a0\u00a0rw,logdev=\/dev\/sdb2,relatime,allocsi ze=64m\u00a0\u00a0\u00a00\u00a0\u00a0\u00a02<\/div>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs6.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs6.png\" alt=\"\" width=\"500\" height=\"376\" border=\"0\" \/><\/a><\/div>\n<p>Depois de aplicar as altera\u00e7\u00f5es, salve-as.<\/p>\n<p>As principais op\u00e7\u00f5es adicionadas ao fstab do sistema rec\u00e9m instalado:<\/p>\n<ul>\n<li><em>logdev<\/em> : Informa aonde se encontra o journal externo. Se esta op\u00e7\u00e3o n\u00e3o for especificada no fstab, o sistema de arquivos ficar\u00e1 impossibilitado de ser montado.<\/li>\n<li><em>allocsize<\/em>: Este par\u00e2metro especifica o tamanho final da pr\u00e9 aloca\u00e7\u00e3o do Buffer de I\/O. Seu tamanho varia de 64Kib a 1Gib.\n<p>Esta op\u00e7\u00e3o ajuda a diminuir a fragmenta\u00e7\u00e3o do disco e aumenta a velocidade de transfer\u00eancia de arquivos grandes. Se est\u00e1 usando o sistema de arquivos apenas para armazenar arquivos grandes, use 512 MB ou mais.<\/p>\n<p>Na pr\u00e1tica, quanto maior esse n\u00famero, melhor a taxa de transfer\u00eancia, mas o sistema pode ficar mais preso \u00e0 processos ao transferir muitos dados.<\/li>\n<\/ul>\n<p>3.4. Monte a parti\u00e7\u00e3o novamente e volte para a tela de op\u00e7\u00f5es, finalize a instala\u00e7\u00e3o escolhendo a op\u00e7\u00e3o: Finalizar a Instala\u00e7\u00e3o<\/p>\n<p><strong># mount -t xfs \/dev\/sda2 \/target\/home -o logdev=\/dev\/sdb2,rw<br \/>\n# exit<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs7.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs7.png\" alt=\"\" width=\"500\" height=\"372\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs8.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs8.png\" alt=\"\" width=\"500\" height=\"372\" border=\"0\" \/><\/a><\/div>\n<p>Depois da instala\u00e7\u00e3o do S.O e iniciar o mesmo, ainda pode acrescentar alguns comportamentos para melhorar o desempenho:<\/p>\n<div>UUID=68f06b5-1e92-4348-9a7f-77c47801f6b \/home xfs rw,logdev=\/dev\/sdb2,relatime,allocsize=64m,delaylog,logbsize=128\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a02<\/div>\n<p>* Note que, com algumas dessas op\u00e7\u00f5es, poder\u00e1 perder dados em caso de erros que aconte\u00e7am no sistema.<\/p>\n<ul>\n<li><em>delaylog<\/em> : Este par\u00e2metro atrasa a grava\u00e7\u00e3o das informa\u00e7\u00f5es no journal do XFS o m\u00e1ximo poss\u00edvel. O <em>delaylog<\/em> acelera muito o XFS, mas aumenta o risco de perda de dados no caso de uma queda de energia ou travamento do sistema.\n<p>O journal n\u00e3o est\u00e1 sendo desativado, apenas a grava\u00e7\u00e3o est\u00e1 sendo atrasada. Esta op\u00e7\u00e3o pode n\u00e3o funcionar em vers\u00f5es antigas do kernel ou do XFS, por isso, tenha um kernel sempre atual para usar esta op\u00e7\u00e3o junto com XFS, como o kernel 2.6.x ou 3.x.<\/li>\n<li><em>logbsize<\/em> : Par\u00e2metro que especifica o tamanho de cada buffer na mem\u00f3ria, podendo ser especificado em Bytes ou Kilobytes, sendo que o padr\u00e3o \u00e9 32k nas vers\u00f5es mais recentes do kernel.\n<p>Podendo aumentar este valor para 64k, 128k at\u00e9 o m\u00e1ximo de 256k. O logbsize pode ajudar muito o XFS a lidar com arquivos pequenos e aumenta o consumo de RAM. Usei o valor de 128 mas caso tenha um sistema maior use 256.<\/li>\n<\/ul>\n<p>Mas, se mesmo assim voc\u00ea n\u00e3o est\u00e1 satisfeito e quer mais velocidade sem se importar com perda de dados, fa\u00e7a:<\/p>\n<div>UUID=68f06b5-1e92-4348-9a7f-77c47801f6b \/home xfs<br \/>\nrw,logdev=\/dev\/sdb2,norelatime,allocsize=64m,delaylog,logbsize=128,noatime,nodiratime,nobarrier\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0 ;\u00a02<\/div>\n<p>Caso queira mais seguran\u00e7a, para seus dados sacrificando um pouco do desempenho, poder\u00e1 usar em seu fstab as op\u00e7\u00f5es abaixo:<\/p>\n<div>UUID=68f06b5-1e92-4348-9a7f-77c47801f6b \/home xfs rw,logdev=\/dev\/sdb2,allocsize=64m,logbsize=128\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a02<\/div>\n<p>Ou, se quer sacrificar mesmo o desempenho e manter seus dados com menor risco poss\u00edvel de perda de informa\u00e7\u00f5es, use:<\/p>\n<div>UUID=68f06b5-1e92-4348-9a7f-77c47801f6b \/home xfs rw,logdev=\/dev\/sdb2,allocsize=64m,sync\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a02<\/div>\n<h1>Tunando o XFS usando journal interno<\/h1>\n<p>Para tunar o XFS com journal interno, utilizarei o seguinte esquema de particionamento:<\/p>\n<ul>\n<li>Parti\u00e7\u00e3o: \/dev\/sda1 &#8211; Diret\u00f3rio root &#8220;\/&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda2 &#8211; Diret\u00f3rio home &#8220;\/home&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda5 &#8211; Swap.<\/li>\n<\/ul>\n<p>Seguindo o esquema de particionamento apresentando, execute os seguintes comandos para deixar ambas as parti\u00e7\u00f5es com um tamanho maior do journal interno:<\/p>\n<p><strong># mkfs.xfs -f -l internal,size=128m -d agcount=4 -i maxpct=5 \/dev\/sda1<br \/>\n# mkfs.xfs -f -l internal,size=128m -d agcount=4 -i maxpct=5 \/dev\/sda2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs9.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs9.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<p>Veja como ficou o particionamento ap\u00f3s aplica\u00e7\u00e3o dos comandos:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs10.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs10.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>As op\u00e7\u00f5es usadas j\u00e1 foram abordadas antes, por\u00e9m tenho que informar que o log ficou na mesma parti\u00e7\u00e3o do diret\u00f3rio &#8220;\/home&#8221; do sistema.<\/p>\n<p>Lembre-se que o &#8220;-l&#8221; indica a se\u00e7\u00e3o de log. Onde o journal est\u00e1 localizado e o tamanho do mesmo, al\u00e9m de outras informa\u00e7\u00f5es.<\/p>\n<ul>\n<li><em>internal<\/em>: Indica que o journal \u00e9 interno. Enquanto que a op\u00e7\u00e3o &#8220;size&#8221; informa o tamanho do mesmo. Usei 128 megabytes pois n\u00e3o posso exagerar quando o journal est\u00e1 localizado na mesmo volume, pois ocupar\u00e1 muito espa\u00e7o, podendo deixar o sistema muito lento. N\u00e3o darei explica\u00e7\u00f5es das outras op\u00e7\u00f5es usadas, pois as mesmas j\u00e1 foram explicadas anteriormente.<\/li>\n<\/ul>\n<p>Em seguida, instale o sistema operacional. Como explicado desde o in\u00edcio, estou usando o Debian 6.0.5 para aplicar as altera\u00e7\u00f5es.<\/p>\n<p>1. Na primeira tela de instala\u00e7\u00e3o, escolha a op\u00e7\u00e3o &#8220;Advanced options&#8221; e em seguida, &#8220;Graphical Expert Install&#8221;<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs1.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>2. Como n\u00e3o mostrarei detalhes da instala\u00e7\u00e3o, o pr\u00f3ximo passo \u00e9 o particionamento do sistema. Ent\u00e3o, prossiga com a instala\u00e7\u00e3o at\u00e9 chegar ao particionamento.<\/p>\n<p>Escolha a op\u00e7\u00e3o &#8220;Manual&#8221; e deixe a parti\u00e7\u00e3o raiz conforme mostrado na imagem abaixo, ou seja, deixe marcado para usar o sistema de arquivos XFS em ambas as parti\u00e7\u00f5es, e adicione o ponto de montagem para root &#8220;\/&#8221; e home &#8220;\/home&#8221;, mas marque para n\u00e3o formatar:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs11.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs11.png\" alt=\"\" width=\"500\" height=\"372\" border=\"0\" \/><\/a><\/div>\n<p>Particionamento de &#8216;\/dev\/sda1&#8243;, parti\u00e7\u00e3o com diret\u00f3rio root &#8220;\/&#8221;:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs12.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs12.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<p>Particionamento de &#8220;\/dev\/sda2&#8221;, parti\u00e7\u00e3o com diret\u00f3rio home &#8220;\/home&#8221;:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs13.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs13.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<p>Veja na imagem abaixo, como ficou o particionamento final:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/xfs14.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_xfs14.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>Conclua a instala\u00e7\u00e3o e em seguida, inclua as seguintes altera\u00e7\u00f5es no arquivo &#8220;\/etc\/fstab&#8221; do sistema:<\/p>\n<div>UUID=72fe0d80-ee18-4e8f-84da-8e5700d38c66 \/\u00a0\u00a0\u00a0\u00a0\u00a0xfs rw,relatime,attr2,delaylog,nobarrier,logbsize=256\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/p>\n<p>UUID=df045744-39ef-491c-85f6-13082112dce7 \/home xfs rw,relatime,attr2,delaylog,nobarrier,logbsize=256\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a02<\/p><\/div>\n<p>Usando estas op\u00e7\u00f5es, o XFS ter\u00e1 um bom desempenho, j\u00e1 que o tamanho do journal, mesmo localizado internamente \u00e9 grande. Mas existe risco de perda de dados. Mas, se n\u00e3o importa-se com isso e quer mais desempenho, coloque no seu fstab as seguintes op\u00e7\u00f5es:<\/p>\n<div>UUID=72fe0d80-ee18-4e8f-84da-8e5700d38c66 \/\u00a0\u00a0\u00a0\u00a0\u00a0xfs rw,norelatime,allocsize=64m,delaylog,logbsize=128,noatime,nodiratime,nobarrier\u00a0\u00a00\u00a0\u00a01<\/p>\n<p>UUID=df045744-39ef-491c-85f6-13082112dce7 \/home xfs rw,norelatime,allocsize=64m,delaylog,logbsize=128,noatime,nodiratime,nobarrier\u00a0\u00a00\u00a0\u00a02<\/p><\/div>\n<p>Desta forma, o desempenho ir\u00e1 aumentar, mas o risco de perda de dados tamb\u00e9m aumentar\u00e1.<\/p>\n<p>Veja que de acordo com as op\u00e7\u00f5es usadas, o XFS ir\u00e1 mudar seu comportamento padr\u00e3o e n\u00e3o ir\u00e1 atualizar nos inodes a data do \u00faltimo acesso em arquivos e diret\u00f3rios, assim como atrasar a grava\u00e7\u00e3o dos dados no journal.<\/p>\n<p>Veja uma forma de colocar um meio termo, entre seguran\u00e7a dos dados e desempenho:<\/p>\n<div>UUID=72fe0d80-ee18-4e8f-84da-8e5700d38c66\u00a0\/\u00a0\u00a0\u00a0\u00a0\u00a0xfs rw,allocsize=64m,logbsize=128\u00a0\u00a00\u00a0\u00a01<\/p>\n<p>UUID=df045744-39ef-491c-85f6-13082112dce7\u00a0\/home xfs rw,allocsize=64m,logbsize=128\u00a0\u00a00\u00a0\u00a02<\/p><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><strong>Tunando o sistema de arquivos JFS<\/strong><\/p>\n<div>Para tunar o JFS, usarei o esquema de particionamento descrito abaixo. Por\u00e9m, assim como nos outros sistemas de arquivos, farei uso do journal externo e interno para fazer este trabalho.<\/p>\n<p>Apresentando particionamento usado para aplicar as altera\u00e7\u00f5es:<\/p>\n<ul>\n<li>Parti\u00e7\u00e3o: \/dev\/sda1 &#8211; Diret\u00f3rio root &#8220;\/&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda2 &#8211; Diret\u00f3rio home &#8220;\/home&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda5 &#8211; Swap;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sdb1 &#8211; Parti\u00e7\u00e3o usada para armazenar o journal externo da parti\u00e7\u00e3o \/dev\/sda1;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sdb2 &#8211; Parti\u00e7\u00e3o usada para armazenar o journal externo da parti\u00e7\u00e3o \/dev\/sda2.<\/li>\n<\/ul>\n<h1>Tunando usando o journal externo<\/h1>\n<p>Diferente do que foi feito anteriormente, vou mostrar duas formas de deixar o sistema instalado com journal externo. Primeiro, vou mostrar como fazer antes da instala\u00e7\u00e3o do sistema.<\/p>\n<p>Para isso, d\u00ea boot pelo LiveCD, como o <em>Parted Magic<\/em> ou outro, e execute os comandos a seguir. Se no sistema que est\u00e1 usando para executar as tarefas n\u00e3o estiver instalado os comandos, ser\u00e1 necess\u00e1rio instalar o pacote &#8220;jfsutils&#8221;.<\/p>\n<p>1. Prepare as parti\u00e7\u00f5es que armazenar\u00e3o os logs com os comandos abaixo, desta forma, estamos dizendo que as parti\u00e7\u00f5es &#8220;\/dev\/sdb1&#8221; e &#8220;\/dev\/sdb2&#8221;, s\u00e3o parti\u00e7\u00f5es de journal externo:<\/p>\n<p><strong># jfs_mkfs -J journal_dev \/dev\/sdb1<br \/>\n# jfs_mkfs -J journal_dev \/dev\/sdb2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs1.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>2. Em seguida, aplique o sistema de arquivos JFS nas parti\u00e7\u00f5es onde ser\u00e1 armazenado o sistema, indicando que os dispositivos que cont\u00e9m os journals externos s\u00e3o &#8220;\/dev\/sdb1&#8221; e &#8220;\/dev\/sdb2&#8221;.<\/p>\n<p><strong># jfs_mkfs -J device=\/dev\/sdb1 \/dev\/sda1<br \/>\n# jfs_mkfs -J device=\/dev\/sdb2 \/dev\/sda2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs2.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>Veja como ficaram as parti\u00e7\u00f5es que receberam o journal:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs3.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs3.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>3. Na instala\u00e7\u00e3o do S.O., apenas abordarei as partes importantes que merecem ser destacadas.<\/p>\n<p>3.1. Escolha a op\u00e7\u00e3o na tela de boot &#8220;Advanced Options&#8221; e em seguida &#8220;Graphical Expert Install&#8221;<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs4.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs4.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>3.2. No particionamento, escolha a op\u00e7\u00e3o &#8220;Manual&#8221; para fazer as altera\u00e7\u00f5es, e em seguida, escolha as parti\u00e7\u00f5es onde ir\u00e1 instalar o sistema. Coloque o ponto de montagem para &#8220;\/dev\/sda1&#8221; e &#8220;\/dev\/sda2&#8221; e escolha o sistema de arquivos JFS com journaling.<\/p>\n<p>Mas, n\u00e3o marque para formatar a mesma, como mostram as imagens a seguir:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs5.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs5.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs6.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs6.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs7.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs7.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<p>3.3. Veja como ficou o particionamento ao final das altera\u00e7\u00f5es:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs8.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs8.png\" alt=\"\" width=\"500\" height=\"372\" border=\"0\" \/><\/a><\/div>\n<p>4. Agora, apresento a segunda forma de deixar as parti\u00e7\u00f5es do sistema com journal externo. Primeiro, certifique-se de que as parti\u00e7\u00f5es que usar\u00e3o journal externo estejam desmontadas.<\/p>\n<p>Logue usando um LiveCD, ou usando outro sistema <a href=\"http:\/\/www.vivaolinux.com.br\/linux\/\">GNU\/Linux<\/a> que tenha instalado no mesmo disco, ou em disco diferente, e execute os seguintes comandos:<\/p>\n<p><strong># jfs_mkfs -J journal_dev \/dev\/sdb1<br \/>\n# jfs_mkfs -J journal_dev \/dev\/sdb2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs9.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs9.png\" alt=\"\" width=\"500\" height=\"374\" border=\"0\" \/><\/a><\/div>\n<p>Estes comandos acima preparam os dispositivos &#8220;\/dev\/sdb1&#8221; e &#8220;\/dev\/sdb2&#8221; para armazenar o journal. E em seguida, use o comando <em>jfs_tune<\/em> para dizer ao sistema de arquivos JFS, que o log est\u00e1 anexado em uma parti\u00e7\u00e3o diferente do sistema:<\/p>\n<p><strong># jfs_tune -J device=\/dev\/sdb1 \/dev\/sda1<br \/>\n# jfs_tune -J device=\/dev\/sdb2 \/dev\/sda2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/jfs10.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_jfs10.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>Agora, edite e acrescente algumas op\u00e7\u00f5es no &#8220;\/etc\/fstab&#8221; para deixar o JFS com melhor desempenho. Veja que o UUID usado, \u00e9 da parti\u00e7\u00e3o que foi formatada para ambos. Mude o campo do UUID de sua parti\u00e7\u00e3o, pois com certeza \u00e9 diferente do atual:<\/p>\n<div>UUID=b8ff3909-37f7-431e-a634-873842017335 \/\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,errors=remount-ro,relatime<\/p>\n<p>UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 \/home\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,relatime<\/p><\/div>\n<p>Por\u00e9m, se quer ganhar mais desempenho ainda, sem importar-se com as atualiza\u00e7\u00f5es de tempo de acesso nos diret\u00f3rios e arquivos, coloque as seguintes op\u00e7\u00f5es no fstab:<\/p>\n<div>UUID=b8ff3909-37f7-431e-a634-873842017335 \/\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,errors=remount-ro,noatime,nodiratime<\/p>\n<p>UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 \/home\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,noatime,nodiratime<\/p><\/div>\n<p>* NOTA: \u00c9 muito importante deixar esclarecido que se o dispositivo que cont\u00e9m o journal externo chegar ao fim de sua vida \u00fatil, os dados que est\u00e3o contidos no sistema n\u00e3o poder\u00e3o mais ser acessados, ou montados, para escrita (somente para leitura) mesmo usando usando Live CD ou de outro sistema presente na mesma m\u00e1quina.<\/p>\n<p>Mas n\u00e3o fique desesperado caso isso aconte\u00e7a, pois poder\u00e1 instalar um novo disco e criar uma nova parti\u00e7\u00e3o que conter\u00e1 o journal do F.S. do sistema, fazendo com que o sistema seja acess\u00edvel novamente com journal na parti\u00e7\u00e3o do novo disco.<\/p>\n<p>Para isso, execute os seguintes comandos a partir de outro sistema na mesma m\u00e1quina, ou de um LiveCD:<\/p>\n<p><strong># jfs_mkfs -J journal_dev \/dev\/sdb1<br \/>\n# jfs_tune -J device=\/dev\/sdb1 \/dev\/sda1<\/strong><\/p>\n<p>No comando acima, estou supondo que o novo dispositivo que ir\u00e1 conter o journal \u00e9 &#8220;\/dev\/sdb1&#8221;, e que o sistema est\u00e1 no &#8220;\/dev\/sda1&#8221;. Depois de executar os comandos, \u00e9 s\u00f3 reiniciar a m\u00e1quina e voltar a usar seu sistema.<\/p>\n<p>Mas tenha em mente, que foi criado um novo journal e que o conte\u00fado do antigo foi perdido, de maneira que se o antigo log cont\u00e9m alguma informa\u00e7\u00e3o para ser recuperada, a mesma foi perdida.<\/p>\n<h1>Tunando usando journal interno<\/h1>\n<p>Mesmo com journal interno, podemos deixar o JFS com melhor desempenho, e para isso, farei uso do mesmo esquema de particionamento usado anteriormente.<\/p>\n<div>UUID=b8ff3909-37f7-431e-a634-873842017335 \/\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,errors=remount-ro,relatime<\/p>\n<p>UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 \/home\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,relatime<\/p><\/div>\n<p>Agora, vamos adicionar algumas op\u00e7\u00f5es ao &#8220;\/etc\/fstab&#8221; para deixar o JFS com uma melhor performance ainda:<\/p>\n<div>UUID=b8ff3909-37f7-431e-a634-873842017335 \/\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,errors=remount-ro,noatime,nodiratime<\/p>\n<p>UUID=22a6a838-e8af-450d-887c-f2c40c6bbfa3 \/home\u00a0\u00a0\u00a0\u00a0\u00a0jfs\u00a0\u00a0\u00a0rw,noatime,nodiratime<\/p><\/div>\n<p>Observe que s\u00e3o as mesmas op\u00e7\u00f5es usadas com o journal externo. Mas mesmo o journal estando interno, as op\u00e7\u00f5es <em>noatime<\/em> e <em>nodiratime<\/em> j\u00e1 trazem um benef\u00edcio no desempenho, pois os metadados n\u00e3o armazenar\u00e3o informa\u00e7\u00f5es referentes a acessos em arquivos e\/ou diret\u00f3rios. Sen\u00e3o, vai armazenar estas informa\u00e7\u00f5es, e com certeza n\u00e3o ir\u00e1 gravar as mesmas no journal.<\/p>\n<p>Lembre-se que n\u00e3o \u00e9 o forte do JFS ter transfer\u00eancias de dados de alta velocidade, principalmente quando for de tamanho pequeno.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><strong>Tunando os sistemas de arquivos ext3 e ext4<\/strong><\/p>\n<div>Aplicarei a pr\u00e1tica de tunar os sistemas de arquivos ext3 e ext4 na mesma p\u00e1gina, pois o procedimento \u00e9 igual para ambos os F.S. Usarei o journal externo e interno para ambos.<\/p>\n<p>Mas n\u00e3o aplicarei as altera\u00e7\u00f5es antes da instala\u00e7\u00e3o do sistema operacional usado, e sim depois da instala\u00e7\u00e3o. Pois al\u00e9m de ser poss\u00edvel, \u00e9 vi\u00e1vel, j\u00e1 que muitos administradores de sistemas e usu\u00e1rios usam estes sistemas de arquivos como padr\u00e3o em suas instala\u00e7\u00f5es.<\/p>\n<p>Apresentando particionamento usado para aplicar as altera\u00e7\u00f5es:<\/p>\n<ul>\n<li>Parti\u00e7\u00e3o: \/dev\/sda1 com sistema de arquivos ext3 &#8211; Diret\u00f3rio root &#8220;\/&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda2 com sistema de aquivos ext4 &#8211; Diret\u00f3rio home &#8220;\/home&#8221;;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sda5 &#8211; Swap;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sdb1 &#8211; Parti\u00e7\u00e3o usada para armazenar o journal externo da parti\u00e7\u00e3o \/dev\/sda1;<\/li>\n<li>Parti\u00e7\u00e3o: \/dev\/sdb2 &#8211; Parti\u00e7\u00e3o usada para armazenar o journal externo da parti\u00e7\u00e3o \/dev\/sda2.<\/li>\n<\/ul>\n<p>Caso tenha um particionamento diferente em sua m\u00e1quina e\/ou servidor, poder\u00e1 fazer as opera\u00e7\u00f5es do mesmo jeito. Por\u00e9m, aconselho que antes de aplicar as altera\u00e7\u00f5es em uma m\u00e1quina que est\u00e1 em produ\u00e7\u00e3o, fa\u00e7a em uma m\u00e1quina de testes, para poder avaliar quais altera\u00e7\u00f5es podem adequar- se \u00e0s suas necessidades.<\/p>\n<h1>Tunando o ext3 e ext4 usando journal externo<\/h1>\n<p>Usando este esquema de particionamento apresentado e supondo que a instala\u00e7\u00e3o j\u00e1 foi feita com sucesso, vamos \u00e0s altera\u00e7\u00f5es necess\u00e1rias para usar journal externo. Tenha em m\u00e3os um LiveCD para executar os passos seguintes.<\/p>\n<p>1. Certifique-se que o sistema de arquivos onde est\u00e1 instalado o sistema esteja desmontado. E em seguida, verifique o tamanho do bloco das parti\u00e7\u00f5es do sistema usando os comandos descritos abaixo:<\/p>\n<p><strong># tune2fs -l \/dev\/sda1 |grep -i &#8220;block size&#8221;<br \/>\n# tune2fs -l \/dev\/sda2 |grep -i &#8220;block size&#8221;<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/exts1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_exts1.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>\u00c9 necess\u00e1rio saber qual o tamanho do bloco do sistema de arquivos de cada parti\u00e7\u00e3o que ter\u00e1 seu journal externo, porque cada parti\u00e7\u00e3o que armazenar\u00e1 os logs precisar\u00e1 ter o mesmo tamanho de bloco.<\/p>\n<p>2. Prepare as parti\u00e7\u00f5es que receber\u00e3o os journals:<\/p>\n<p><strong># mke2fs -O journal_dev \/dev\/sdb1 -b 4096 -L journal-ext-sda1 105500<br \/>\n# mke2fs -O journal_dev \/dev\/sdb2 -b 4096 -L journal-ext-sda2 105500<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/exts2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_exts2.png\" alt=\"\" width=\"500\" height=\"373\" border=\"0\" \/><\/a><\/div>\n<p>As op\u00e7\u00f5es passadas ao comando mke2fs foram:<\/p>\n<ul>\n<li><em>-O<\/em> : Esta op\u00e7\u00e3o indica que ir\u00e1 ser adicionado e\/ou removido do sistema de arquivos caracter\u00edsticas espec\u00edficas, ou seja, ser\u00e1 habilitado alguns comportamentos com personaliza\u00e7\u00e3o. Diferentemente de quando usa-se os padr\u00f5es na aplica\u00e7\u00e3o de uma sistema de arquivos.<\/li>\n<li><em>journal_dev<\/em>: Indica qual parti\u00e7\u00e3o ser\u00e1 preparada e usada para armazenar o journal de outra parti\u00e7\u00e3o.<\/li>\n<li><em>-b<\/em>: Indica o tamanho do bloco do sistema de arquivos criado. Neste caso, o tamanho do bloco deve ser o mesmo da parti\u00e7\u00e3o que cont\u00e9m o sistema, pois estas parti\u00e7\u00f5es &#8220;\/dev\/sdb1&#8221; e &#8220;\/dev\/sdb2&#8221; ir\u00e1 armazenar os journals das parti\u00e7\u00f5es &#8220;\/dev\/sda1&#8221; e &#8220;\/dev\/sda2&#8221;.<\/li>\n<li><em>-L<\/em>: Este par\u00e2metro \u00e9 opcional, pois o mesmo adiciona um r\u00f3tulo, ou seja, um nome da parti\u00e7\u00e3o para identifica\u00e7\u00e3o.<\/li>\n<\/ul>\n<p>E por fim, o n\u00famero indicado no fim \u00e9 o tamanho do journal em blocos. Para calcular corretamente o tamanho do journal armazenado, tenha em mente que 1024 blocos equivale a 1 Megabyte. No comando anterior especifiquei 105500, ent\u00e3o o tamanho do log \u00e9 103 Megabytes.<\/p>\n<p>3. Agora, fa\u00e7a o ext3 e ext4 n\u00e3o terem mais journal interno, para poderem usar os que foram criados anteriormente.<\/p>\n<p><strong># tune2fs -O ^has_journal \/dev\/sda1<br \/>\n# tune2fs -O ^has_journal \/dev\/sda2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/exts3.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_exts3.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>Verifique se as parti\u00e7\u00f5es ainda t\u00eam journal:<\/p>\n<p><strong># tune2fs -l \/dev\/sda1 | grep -i has_journal<br \/>\n# tune2fs -l \/dev\/sda2 | grep -i has_journal<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/exts4.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_exts4.png\" alt=\"\" width=\"500\" height=\"376\" border=\"0\" \/><\/a><\/div>\n<p>Veja na imagem anterior, que os dispositivos n\u00e3o tem mais journal.<\/p>\n<p>4. Anexe os journals das parti\u00e7\u00f5es para &#8220;\/dev\/sda1&#8221; e &#8220;\/dev\/sda2&#8221; \u00e0s parti\u00e7\u00f5es que armazenaram o journal de ambas.<\/p>\n<p><strong># tune2fs -j -J device=\/dev\/sdb1 \/dev\/sda1<br \/>\n# tune2fs -j -J device=\/dev\/sdb2 \/dev\/sda2<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/exts5.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_exts5.png\" alt=\"\" width=\"500\" height=\"376\" border=\"0\" \/><\/a><\/div>\n<p>Execute os comando abaixo, e veja a nova localiza\u00e7\u00e3o dos journals para &#8220;\/dev\/sda1&#8221; e &#8220;\/dev\/sda2&#8221;:<\/p>\n<p><strong># tune2fs -l \/dev\/sda1 | grep -i journal<br \/>\n# tune2fs -l \/dev\/sda2 | grep -i journal<\/strong><\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/exts6.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_exts6.png\" alt=\"\" width=\"500\" height=\"376\" border=\"0\" \/><\/a><\/div>\n<p>Depois das altera\u00e7\u00f5es, veja como ficaram as parti\u00e7\u00f5es que receberam os logs:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/exts7.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_exts7.png\" alt=\"\" width=\"500\" height=\"375\" border=\"0\" \/><\/a><\/div>\n<p>Tanto ext3 quanto ext4 usados nas parti\u00e7\u00f5es do sistema, j\u00e1 est\u00e3o r\u00e1pidos com o logo externo, mas podemos deixar mais r\u00e1pido ainda, fazendo uso do comando <em>tune2fs<\/em> ou do arquivo &#8220;\/etc\/fstab&#8221; para habilitar os modos de opera\u00e7\u00e3o que os sistemas de arquivos ext3\/4 possuem.<\/p>\n<p>O padr\u00e3o \u00e9 <em>ordered<\/em>, assim como podemos habilitar outros comportamentos para os sistemas de arquivos usados.<\/p>\n<p>Farei uso arquivo &#8220;\/etc\/fstab&#8221; para aplicar estes comportamentos.<\/p>\n<p>No exemplo abaixo, estou indicando no ext3 (parti\u00e7\u00e3o raiz) e ext4 (parti\u00e7\u00e3o \/home), que o modo de opera\u00e7\u00e3o \u00e9 <em>writeback<\/em> executando o comando <em>tune2fs<\/em> e adiciono a op\u00e7\u00e3o <em>relatime<\/em> fazendo com que tenha um ganho de desempenho muito bom para ambos os F.S.:<\/p>\n<p><strong># tune2fs -o journal_data_writeback \/dev\/sda1<br \/>\n# tune2fs -o journal_data_writeback \/dev\/sda2<\/strong><\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/\u00a0\u00a0\u00a0\u00a0\u00a0ext3\u00a0\u00a0\u00a0\u00a0errors=remount- ro,relatime\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home\u00a0\u00a0\u00a0\u00a0ext4\u00a0\u00a0\u00a0\u00a0errors=continue,rw,relatime\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0&amp;nbs p;2<\/p><\/div>\n<p>Veja que o comportamento passado anteriormente, principalmente passado pelo comando <em>tune2fs<\/em> alterando o modo de opera\u00e7\u00e3o &#8216;data=writeback&#8217;, faz com ambos os F.S. fiquem mais vulner\u00e1veis \u00e0 perda de dados caso ocorra algum erro no sistema, e o mesmo seja for\u00e7ado a ser desligado de forma incorretamente. Mas, a perda de dados \u00e9 mais para o arquivos abertos.<\/p>\n<p>Por exemplo, voc\u00ea est\u00e1 editando um arquivo e no momento em que est\u00e1 fazendo a edi\u00e7\u00e3o, falta energia, ent\u00e3o, o conte\u00fado que n\u00e3o foi salvo, ser\u00e1 perdido.<\/p>\n<p>No exemplo abaixo, deixo ambos os F.S. com maior desempenho, mas deixando a desejar na consist\u00eancia:<\/p>\n<p><strong># tune2fs -o journal_data_writeback \/dev\/sda1<br \/>\n# tune2fs -o journal_data_writeback \/dev\/sda2<\/strong><\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/\u00a0\u00a0\u00a0\u00a0\u00a0ext3\u00a0\u00a0\u00a0errors=remount- ro,noatime,nodiratime,barrier=0,commit=40\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home\u00a0\u00a0\u00a0\u00a0\u00a0ext4\u00a0\u00a0\u00a0errors=continue,rw,noatime,nodiratime,barrier=0,commit=40\u00a0\u00a0\u00a0 \u00a00\u00a0\u00a0\u00a0\u00a02<\/p><\/div>\n<p>Observe que, al\u00e9m de estar usando o modo de opera\u00e7\u00e3o <em>writeback<\/em>, estou passando para o sistema de arquivos que n\u00e3o ser\u00e3o gravadas atualiza\u00e7\u00f5es de acesso a arquivo e nem a diret\u00f3rios, assim, como tamb\u00e9m desabilito o <em>barrier<\/em> que d\u00e1 mais desempenho.<\/p>\n<p>Por\u00e9m, deixa ext3 e ext4 com menos consist\u00eancia, deixando seu sistema de arquivos mais vulner\u00e1vel caso ocorra, por exemplo, quedas de energia.<\/p>\n<p>Mas, uma caracter\u00edstica ainda n\u00e3o abordada neste artigo e que acrescentei acima, \u00e9 a <em>commit<\/em>.<\/p>\n<h1>commit<\/h1>\n<p>Os sistemas de arquivos ext3\/4 podem ser configurados para sincronizar os dados e metadados a cada &#8220;n&#8221; segundos para o journal. Sendo que o valor padr\u00e3o \u00e9 5 segundos. Isto significa que, se usar o valor padr\u00e3o que \u00e9 5, e sua m\u00e1quina \u00e9 desligada incorretamente, como por exemplo em uma queda de energia, voc\u00ea ir\u00e1 perder apenas os \u00faltimos 5 segundos de trabalho, isto \u00e9, se o seu sistema de arquivos n\u00e3o for danificado.<\/p>\n<p>Mas gra\u00e7as ao journaling, este risco \u00e9 diminu\u00eddo. Se aumentamos o valor, o sistema de arquivos ficar\u00e1 mais r\u00e1pido j\u00e1 que o intervalo de sincroniza\u00e7\u00e3o e acesso ao journaling ir\u00e1 aumentar e n\u00e3o ser\u00e1 necess\u00e1rio fazer tantas sincroniza\u00e7\u00f5es em pouco tempo.<\/p>\n<p>Por\u00e9m, se deseja deixar seu sistema de arquivos ext3\/4 o mais consistente poss\u00edvel, perdendo muito desempenho, acrescente ao &#8220;\/etc\/fstab&#8221;, as seguintes op\u00e7\u00f5es:<\/p>\n<p><strong># tune2fs -o journal_data \/dev\/sda1<br \/>\n# tune2fs -o journal_data \/dev\/sda2<\/strong><\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/\u00a0\u00a0\u00a0\u00a0\u00a0ext3\u00a0\u00a0\u00a0errors=remount- ro,barrier=1,sync\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home\u00a0\u00a0\u00a0\u00a0\u00a0ext4\u00a0\u00a0errors=continue,rw,barrier=1,sync\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0&amp;nbs p;2<\/p><\/div>\n<p>Veja bem estas op\u00e7\u00f5es de montagem, pois seu sistema de arquivos ficar\u00e1 muito lento, mas em compensa\u00e7\u00e3o, estar\u00e1 mais consistente.<\/p>\n<p>Uma boa forma de colocar seu sistema de arquivos ext3\/4 ao meio termo, bom desempenho com consist\u00eancia, seria usar as seguintes op\u00e7\u00f5es de montagem:<\/p>\n<p><strong># tune2fs -o journal_data_writeback \/dev\/sda2<\/strong><\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/\u00a0\u00a0\u00a0\u00a0\u00a0ext3\u00a0\u00a0errors=remount- ro,barrier=1\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0\u00a0\u00a01<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home\u00a0\u00a0\u00a0\u00a0\u00a0ext4\u00a0\u00a0errors=continue,rw,barrier=1,commit=30\u00a0\u00a0\u00a0\u00a00\u00a0\u00a0&amp;nbs p;\u00a02<\/p><\/div>\n<p>Assim, mesmo com menos comportamentos habilitados e desabilitados, seu F.S. ter\u00e1 bom desempenho, pois ainda tem journal externo.<\/p>\n<p>* Observa\u00e7\u00e3o Importante: Caso a parti\u00e7\u00e3o que cont\u00e9m o journal do sistema fique danificada e n\u00e3o possa mais ser acessada, ou o disco que cont\u00e9m o journal chegue ao fim de sua vida \u00fatil, seu sistema n\u00e3o poder\u00e1 mais ser acessado, nem mesmo atrav\u00e9s de outros sistemas presentes no disco ou LiveCDs.<\/p>\n<p>Para resolver isso, basta executar os seguintes comandos abaixo, para deixar seu sistema com journal e acess\u00edvel mais uma vez. Mas antes, instale um novo disco que conter\u00e1 a parti\u00e7\u00e3o que ir\u00e1 armazenar o journal do sistema.<\/p>\n<p>Supondo que o dispositivo que cont\u00e9m o sistema \u00e9 &#8220;\/dev\/sda1&#8221;, e o novo dispositivo que ir\u00e1 armazenar o journal \u00e9 &#8220;\/dev\/sdc1&#8221;. Lembre-se de criar uma tabela de parti\u00e7\u00f5es para o novo disco e uma parti\u00e7\u00e3o.<\/p>\n<p>Primeiro, liste o tamanho do bloco do sistema de arquivos que cont\u00e9m o sistema:<\/p>\n<p><strong># tune2fs -l \/dev\/sda1 |grep -i &#8220;block size&#8221;<\/strong><\/p>\n<p>Em seguida, prepare a parti\u00e7\u00e3o que receber\u00e1 o log do sistema de arquivos que cont\u00e9m o sistema, usando o tamanho do bloco que foi obtido pelo comando anterior. Abaixo, estou supondo que \u00e9 4096, se for diferente:<\/p>\n<p><strong># mke2fs -O journal_dev \/dev\/sdc1 -b 4096 -L journal-ext-sda1 105500<\/strong><\/p>\n<p>Em seguida, retire o journal do sistema de arquivos que tem o sistema, e crie o novo journal usando os comandos:<\/p>\n<p><strong># tune2fs -O ^has_journal \/dev\/sda1<br \/>\n# tune2fs -j -J device=\/dev\/sdc1 \/dev\/sda1<\/strong><\/p>\n<p>Veja que j\u00e1 usei estes comandos no inicio da p\u00e1gina, mas n\u00e3o custa nada voltar a us\u00e1-los, principalmente quando \u00e9 necess\u00e1rio recriar o journal.<\/p>\n<p>Lembre-se que os logs armazenam informa\u00e7\u00f5es para recuperar dados do seu sistema, ent\u00e3o, se o seu sistema tiver alguma informa\u00e7\u00e3o corrompida, ou que precisa recuperar, ap\u00f3s a cria\u00e7\u00e3o do novo journal a informa\u00e7\u00e3o n\u00e3o poder\u00e1 mais ser recuperada.<\/p>\n<h1>Tunando o ext3 e ext4 usando journal interno<\/h1>\n<p>Para tunar o ext3 e ou ext4 com journal interno \u00e9 mais f\u00e1cil. Podemos usar comandos assim como usados anteriormente e o arquivo &#8220;\/etc\/fstab&#8221; para isso. Usarei o mesmo esquema de particionamento usado com journal externo.<\/p>\n<p>Primeiro, vamos mudar o modo de opera\u00e7\u00e3o via comando, e fazer com que ambos os sistemas de arquivos trabalhem em modo <em>writeback<\/em>:<\/p>\n<p><strong># tune2fs -o journal_data_writeback \/dev\/sda1<br \/>\n# tune2fs -o journal_data_writeback \/dev\/sda2<\/strong><\/p>\n<p>Como j\u00e1 alterei via comando o modo de opera\u00e7\u00e3o, n\u00e3o ser\u00e1 necess\u00e1rio alterar no &#8220;\/etc\/fstab&#8221;, mas mesmo assim acrescentarei algumas op\u00e7\u00f5es interessantes j\u00e1 explicadas.<\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/ ext3 errors=remount-ro,relatime 0 1<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home ext4 errors=continue,rw,relatime 0 2<\/p><\/div>\n<p>Para o kernel tratar o sistema de arquivos ext3\/4, que cont\u00e9m o diret\u00f3rio root (raiz) no modo de opera\u00e7\u00e3o alterado, no caso para <em>writeback<\/em>, teremos que incluir uma op\u00e7\u00e3o ao GRUB.<\/p>\n<p>Se tem mais de um sistema com ext3\/4 no seu diret\u00f3rio raiz &#8220;\/&#8221; e deseja mudar o modo de opera\u00e7\u00e3o apenas para alguns, ent\u00e3o edite o arquivo de configura\u00e7\u00e3o e coloque ao final da linha a op\u00e7\u00e3o:<\/p>\n<div>rootfkags=data=writeback<\/div>\n<p>Mas, se deseja incluir em todos os sistemas que usam ext3\/4 no seu diret\u00f3rio raiz &#8220;\/&#8221;, ent\u00e3o edite o arquivo &#8220;\/etc\/default\/grub&#8221;, usando seu editor favorito e deixe a linha abaixo:<\/p>\n<p><em>GRUB_CMDLINE_LINUX=&#8221;&#8221;<\/em><\/p>\n<p>Assim:<\/p>\n<div>GRUB_CMDLINE_LINUX=&#8221;rootfkags=data=writeback&#8221;<\/div>\n<p>E em seguida, execute como root o comando:<\/p>\n<p><strong># update-grub<\/strong><\/p>\n<p>Depois disso, o seu kernel tratar\u00e1 o sistema de arquivos no modo <em>writeback<\/em>, caso precise alterar o modo de opera\u00e7\u00e3o para outro journal (data), e\/ou <em>ordered<\/em>, precisar\u00e1 fazer as mesmas altera\u00e7\u00f5es no mesmo arquivo, isto porque o sistema de arquivos j\u00e1 teve seu comportamento alterado com o comando <em>tune2fs<\/em>.<\/p>\n<p>Por\u00e9m, se deseja alterar o modo de opera\u00e7\u00e3o em sistema de arquivos ext3\/4 de qualquer parti\u00e7\u00e3o que cont\u00e9m qualquer diret\u00f3rio, com exce\u00e7\u00e3o do raiz, n\u00e3o precisar\u00e1 fazer tais altera\u00e7\u00f5es nos arquivos editados anteriormente.<\/p>\n<p>* Lembrando que isso s\u00f3 vale para F.S ext3\/4 com journal interno.<\/p>\n<p>Para deixar o F.S. ainda mais r\u00e1pido, mas deixando a consist\u00eancia do mesmo mais vulner\u00e1vel, principalmente usando a op\u00e7\u00e3o <em>barrier<\/em>, deixe seu fstab como descrito abaixo. E se ainda n\u00e3o mudou o modo de opera\u00e7\u00e3o para <em>writeback<\/em>, execute o comando abaixo e fa\u00e7a as altera\u00e7\u00f5es j\u00e1 explicadas:<\/p>\n<p><strong># tune2fs -o journal_data_writeback \/dev\/sda1<br \/>\n# tune2fs -o journal_data_writeback \/dev\/sda2<\/strong><\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/ ext3 errors=remount-ro,noatime,nodiratime,barrier=0,commit=40 0 1<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home ext4 errors=continue,rw,noatime,nodiratime,barrier=0,commit=40 0 2<\/p><\/div>\n<p>* N\u00e3o esque\u00e7a de alterar o arquivo &#8220;\/etc\/default\/grub&#8221; e\/ou alterar manualmente o arquivo de configura\u00e7\u00e3o do GRUB.<\/p>\n<p>Mas, se deseja deixar o sistema de arquivos &#8220;\/ext3\/4&#8221; mais robusto perdendo desempenho, mude o &#8220;\/etc\/fstab&#8221; para o indicado abaixo, e altere o modo de opera\u00e7\u00e3o usando o comando <em>tune2fs<\/em>.<\/p>\n<p>No exemplo abaixo, deixo ambos os F.S. com mais desempenho, mas deixando a desejar na consist\u00eancia:<\/p>\n<p><strong># tune2fs -o journal_data \/dev\/sda1<br \/>\n# tune2fs -o journal_data \/dev\/sda2<\/strong><\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/ ext3 errors=remount-ro,barrier=1,sync 0 1<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home ext4 errors=continue,rw,barrier=1,sync 0 2<\/p><\/div>\n<p>Nesta \u00faltima forma de uso explicada, teria que mudar o arquivo de configura\u00e7\u00e3o do GRUB, e colocar no final da linha que descreve a localiza\u00e7\u00e3o do kernel a seguinte linha:<\/p>\n<div>rootfkags=data=journal<\/div>\n<p>Ou, editar o arquivo &#8220;\/etc\/default\/grub&#8221; usando seu editor favorito e alterar a seguinte linha:<\/p>\n<p><em>GRUB_CMDLINE_LINUX=&#8221;&#8221;<\/em><\/p>\n<p>Para:<\/p>\n<div>GRUB_CMDLINE_LINUX=&#8221;rootfkags=data=writeback&#8221;<\/div>\n<p>E depois, executar o comando:<\/p>\n<p><strong># update-grub<\/strong><\/p>\n<p>Para deixar o sistema de arquivos ext3\/4 em um meio termo, com um bom desempenho e consist\u00eancia mesmo usando journal interno, seria usado as seguintes op\u00e7\u00f5es no &#8220;\/etc\/fstab&#8221;:<\/p>\n<div>UUID=4ccfc585-1d20-4845-9c00-0d2a44bf8e0a \/ ext3 errors=remount-ro,barrier=1 0 1<\/p>\n<p>UUID=85eebfa7-88ae-4de8-8125-3cfbce5abe29 \/home ext4 errors=continue,rw,barrier=1,commit=40,relatime 0 2<\/p><\/div>\n<p>Pois a parti\u00e7\u00e3o que cont\u00e9m o diret\u00f3rio raiz iria manter o modo de opera\u00e7\u00e3o padr\u00e3o, assim como na parti\u00e7\u00e3o \/home, por\u00e9m, \/home teria uma ganho com as op\u00e7\u00f5es <em>commit<\/em> e <em>relatime<\/em>.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><strong>Benchmark b\u00e1sico depois de tunar os sistemas de arquivos para melhor desempenho<\/strong><\/p>\n<div>Depois de abordar como tunar cada sistema de arquivos citados no artigo, nada mais normal que testar o desempenho de cada um, para ver como cada um comporta-se diante dos testes.<\/p>\n<p>E at\u00e9 porque, dada a curiosidade sobre como comportar\u00e3o os sistemas de arquivos ap\u00f3s as altera\u00e7\u00f5es no comportamento, n\u00e3o \u00e9 mesmo? Mas, o melhor mesmo \u00e9 usar no dia a dia, a\u00ed sim poder\u00e1 ver realmente quais as vantagens ganhas.<\/p>\n<p>Aqui, vou mostrar v\u00e1rios gr\u00e1ficos que comparam o desempenho de cada um, trata-se de <em>benchmark<\/em> b\u00e1sico.<\/p>\n<p>Para esta s\u00e9rie de testes de desempenho, usei uma m\u00e1quina com:<\/p>\n<ul>\n<li>Processador Intel\u00ae Core\u21222 Duo;<\/li>\n<li>Placa m\u00e3e ASUS;<\/li>\n<li>Mem\u00f3ria RAM com capacidade 4 GB;<\/li>\n<li>HD Samsumg SATA 3;<\/li>\n<li>Sistema Debian 6.0.5;<\/li>\n<li>kernel 3.2.0-0.bpo.2-amd64.<\/li>\n<\/ul>\n<p>Todos os testes n\u00e3o informam o uso de CPU, apenas o tempo que foi necess\u00e1rio para concluir a tarefa, e foram feitos no prompt de comando.<\/p>\n<p>As caracter\u00edsticas usadas para cada sistema de arquivos que foram habilitadas para o benchmark:<\/p>\n<p>&#8211; ReiserFS:<\/p>\n<ul>\n<li>Journal externo;<\/li>\n<li>As op\u00e7\u00f5es para alterar o comportamento ReiserFS foram adicionadas ao &#8220;\/etc\/fstab&#8221;:\n<div>notail,rw,data=writeback,relatime<\/div>\n<\/li>\n<\/ul>\n<p>&#8211; XFS:<\/p>\n<ul>\n<li>Journal externo, criado com o seguinte comando:\n<p><strong># mkfs.xfs -f -l logdev=\/dev\/sdb2,size=1g -d agcount=4 -i maxpct=5 \/dev\/sda8<\/strong><\/li>\n<li>As op\u00e7\u00f5es para alterar o comportamento para XFS foram adicionas ao &#8220;\/etc\/fstab&#8221;:\n<div>rw,relatime,attr2,nobarrier,allocsize=64m,logdev=\/dev\/sda7<\/div>\n<\/li>\n<\/ul>\n<p>&#8211; JFS:<\/p>\n<ul>\n<li>Journal externo;<\/li>\n<li>As op\u00e7\u00f5es para alterar o comportamento para JFS foram adicionadas ao &#8220;\/etc\/fstab&#8221;:\n<div>rw,relatime<\/div>\n<\/li>\n<\/ul>\n<p>&#8211; ext3:<\/p>\n<ul>\n<li>Journal externo, o tamanho do journal criado \u00e9 de 105500;<\/li>\n<li>As op\u00e7\u00f5es para alterar o comportamento para ext3 foram adicionadas ao &#8220;\/etc\/fstab&#8221;:\n<div>errors=continue,rw,relatime,commit=30<\/div>\n<p>E alterei o modo de opera\u00e7\u00e3o para <em>writeback<\/em>, usando o comando abaixo:<\/p>\n<p><strong># tune2fs -o journal_data_writeback \/dev\/sda8<\/strong><\/li>\n<\/ul>\n<p>&#8211; ext4:<\/p>\n<ul>\n<li>Journal externo, o tamanho do journal criado \u00e9 de 105500;<\/li>\n<li>As op\u00e7\u00f5es para alterar o comportamento para ext3 foram adicionadas ao &#8220;\/etc\/fstab&#8221;:\n<div>errors=remount-ro,rw,relatime,commit=30<\/div>\n<p>E alterei o modo de opera\u00e7\u00e3o para <em>writeback<\/em> usando o comando abaixo:<\/p>\n<p><strong># tune2fs -o journal_data_writeback \/dev\/sda8<\/strong><\/li>\n<\/ul>\n<h1>Primeiro teste<\/h1>\n<p>Trata-se de criar trinta mil arquivos de texto comum, sem nenhum conte\u00fado usando o comando <em>touch<\/em>. Para isso, desenvolvi um script para fazer todo o trabalho e todos o sistemas de arquivos conclu\u00edram o trabalho em poucos segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench1.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench1.png\" alt=\"\" width=\"500\" height=\"285\" border=\"0\" \/><\/a><\/div>\n<p>Veja no gr\u00e1fico, que ext4 e ext3 foram respectivamente os mais r\u00e1pidos, seguido por ReiserFS, logo ap\u00f3s JFS e por \u00faltimo XFS. Mas lembre-se que XFS n\u00e3o trabalha bem com arquivos pequenos, e sim com arquivos grandes.<\/p>\n<h1>Segundo teste<\/h1>\n<p>Trata-se de listar todos os trinta mil arquivos criados anteriormente. Todos os F.S. conclu\u00edram o trabalho em poucos segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench2.png\" alt=\"\" width=\"500\" height=\"274\" border=\"0\" \/><\/a><\/div>\n<p>Veja que, mesmo todos usando o journal externo, o ReiserFS foi o mais r\u00e1pido, seguido por JFS e XFS, ext3 e ext4 foram os mais lentos neste teste.<\/p>\n<h1>Terceiro teste<\/h1>\n<p>Trata-se da remo\u00e7\u00e3o de todos os trinta mil arquivos criados anteriormente, usando o comando <em>rm<\/em>. E mais uma vez, a conclus\u00e3o da tarefa foi feita em poucos segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench3.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench3.png\" alt=\"\" width=\"500\" height=\"272\" border=\"0\" \/><\/a><\/div>\n<p>Veja que, mais uma vez o XFS mostrou que n\u00e3o trabalha bem com arquivos pequenos e foi o \u00faltimo com um tempo bem acima dos outros sistemas de arquivos. Os mais r\u00e1pidos foram ext3 seguido de ext4 e ReiserFS. O JFS n\u00e3o saiu-se bem no teste, pois o mesmo n\u00e3o trabalha bem com arquivos pequenos tamb\u00e9m.<\/p>\n<h1>Quarto teste<\/h1>\n<p>Trata-se da grava\u00e7\u00e3o de um arquivo de 1,3 Gigabytes de tamanho, e todos os sistemas de arquivos testados acabaram o trabalho em segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench4.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench4.png\" alt=\"\" width=\"500\" height=\"242\" border=\"0\" \/><\/a><\/div>\n<p>Os sistemas ext4 e XFS foram, respectivamente, mais r\u00e1pidos que os outro F.S. neste teste.<\/p>\n<h1>Quinto teste<\/h1>\n<p>Trata-se de empacotar e compactar usando o comando <em>tar zcf<\/em> o arquivo de 1,3 Gigabytes de tamanho, gravado anteriormente. Todos levaram quase um minuto para concluir o trabalho.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench6.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench6.png\" alt=\"\" width=\"500\" height=\"258\" border=\"0\" \/><\/a><\/div>\n<p>Neste teste, JFS e XFS foram os mais r\u00e1pidos, respectivamente. ReiserFS foi o mais lento de todos.<\/p>\n<h1>Sexto teste<\/h1>\n<p>Trata-se de desempacotar e descompactar o arquivo compactado e empacotado anteriormente de 1,3 gigabytes. Mais uma vez, todos conclu\u00edram o trabalho em segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench7.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench7.png\" alt=\"\" width=\"500\" height=\"256\" border=\"0\" \/><\/a><\/div>\n<p>XFS foi o mais r\u00e1pido outra vez, comprovando que com arquivos grandes ele trabalha bem, ext4 foi o segundo mais r\u00e1pido, seguido de ext3 e JFS. ReiserFS foi o que levou o maior tempo.<\/p>\n<h1>S\u00e9timo teste<\/h1>\n<p>Trata-se do tempo levado para remover o arquivo de 1,3 Gigabytes gravado no teste anterior. O trabalho foi conclu\u00eddo em segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench5.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench5.png\" alt=\"\" width=\"500\" height=\"259\" border=\"0\" \/><\/a><\/div>\n<p>O mais r\u00e1pido neste foi JFS, terminando a remo\u00e7\u00e3o do arquivo em incr\u00edvel um mil\u00e9simo de segundo, seguidos de ReiserFS e ext4.<\/p>\n<h1>Oitavo teste<\/h1>\n<p>Trata-se de criar trinta mil diret\u00f3rios usando o comando <em>mkdir<\/em>. Para isso, desenvolvi um script para este trabalho e o tempo de conclus\u00e3o para todos os sistemas de arquivos foi em segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench8.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench8.png\" alt=\"\" width=\"500\" height=\"256\" border=\"0\" \/><\/a><\/div>\n<p>ReiserFS foi o mais r\u00e1pido na cria\u00e7\u00e3o dessa avalanche de diret\u00f3rios, seguido de XFS e JFS. Os ext3\/4 ficaram para tr\u00e1s neste teste.<\/p>\n<h1>Nono teste<\/h1>\n<p>Trata-se de listar os trinta mil diret\u00f3rios criados anteriormente. Todos acabaram o trabalho de listagem em segundos.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench9.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench9.png\" alt=\"\" width=\"500\" height=\"258\" border=\"0\" \/><\/a><\/div>\n<p>ReiserFS foi o mais r\u00e1pido outra vez, seguido de JFS e XFS, que finalizaram o trabalho com o mesmo tempo. O ext4 foi o que levou mais tempo.<\/p>\n<h1>D\u00e9cimo teste<\/h1>\n<p>Trata-se de remover todos os diret\u00f3rios criados anteriormente. Todo o trabalho foi conclu\u00eddo em poucos segundos em todos o sistemas de arquivos testados.<\/p>\n<p>Veja no gr\u00e1fico abaixo o resultado:<\/p>\n<div><a href=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/bench10.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/img.vivaolinux.com.br\/imagens\/artigos\/comunidade\/thumb_bench10.png\" alt=\"\" width=\"500\" height=\"257\" border=\"0\" \/><\/a><\/div>\n<p>Neste \u00faltimo teste, os mais r\u00e1pidos foram ext3 e ext4, respectivamente. ReiserFS demostrou um \u00f3timo desempenho tamb\u00e9m. XFS foi o que levou mais tempo para concluir o trabalho.<\/p>\n<p>Nota-se neste benchmark b\u00e1sico, que alguns sistemas de arquivos, como XFS e ReiserFS, demostraram suas caracter\u00edsticas. XFS com um desempenho muito bom para arquivos grandes e ReiserFS para arquivos pequenos.<\/p>\n<p>D\u00e1 para perceber tamb\u00e9m, que alguns sistemas de arquivos tiveram melhor desempenho com journal externo do que outros.<\/p>\n<p>Veja o ext3\/4, teve em alguns testes, um desempenho abaixo do esperado, mas lembre-se de que a maioria dos testes foram feitos com trabalhos em massa, e que nem todas as caracter\u00edsticas foram habilitadas em todos os sistemas de arquivos testados.<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\"><strong>Considera\u00e7\u00f5es finais<\/strong><\/p>\n<div>O Sistema de arquivos com journal externo pode ganhar muito desempenho, mas lembre-se de que, se o dispositivo que armazena o journal n\u00e3o puder mais ser acessado, seja por qualquer motivo, o S.O. n\u00e3o poder\u00e1 mais ser usado. Para acess\u00e1-lo novamente, \u00e9 necess\u00e1rio criar um novo journal para o sistema de arquivos que cont\u00e9m o S.O.<\/p>\n<p>No benchmark realizado e mostrado na p\u00e1gina anterior, foram feitos v\u00e1rios testes, por\u00e9m, para poder avaliar e validar a verdadeira vantagem de tunar um sistema de arquivos, nada melhor do que voc\u00ea mesmo testar e ver se as altera\u00e7\u00f5es v\u00e3o atender \u00e0s suas necessidades.<\/p>\n<p>Veja tamb\u00e9m que algumas altera\u00e7\u00f5es abordadas no decorrer do artigo podem deixar o F.S. vulner\u00e1vel, podendo deixar voc\u00ea na m\u00e3o. Ent\u00e3o, antes de aplicar tais altera\u00e7\u00f5es na m\u00e1quina que est\u00e1 em produ\u00e7\u00e3o, ou mesmo n\u00e3o aplicando-as, fa\u00e7a BACKUP.<\/p>\n<h1>Recomenda\u00e7\u00f5es de uso<\/h1>\n<p>Para desktop que usa o diret\u00f3rio \/home em parti\u00e7\u00e3o separada da raiz e possui muitos arquivos pequenos. Use no diret\u00f3rio raiz o sistema de arquivos ReiserFS, e na \/home, use ext4 ou pr\u00f3prio ReiserFS.<\/p>\n<p>Caso tenha em um diret\u00f3rio v\u00e1rios arquivos grandes, use XFS com journal interno, como foi abordado no artigo. Pois o XFS tem um bom desempenho com arquivos grandes. N\u00e3o use XFS com o journal externo, pois apesar de poss\u00edvel seu uso saiba do risco que corre, caso a parti\u00e7\u00e3o que cont\u00e9m o journal ficar danificada, o seu sistema ficar\u00e1 inacess\u00edvel.<\/p>\n<p>E, para criar um novo journal externo para poder ter acesso outra vez aos seus dados, s\u00f3 aplicando outra vez o sistema de arquivos XFS na parti\u00e7\u00e3o que cont\u00e9m o sistema.<\/p>\n<p>Mas, se tem arquivos grandes em uma parti\u00e7\u00e3o e deseja usar journal externo, use o sistema de arquivos JFS, pois o mesmo trabalha bem com arquivos grandes e tem um bom desempenho com log externo.<\/p>\n<p>No caso de um servidor de rede que n\u00e3o armazena arquivos t\u00e3o importantes, como DHCP e\/ou proxy, deixe o diret\u00f3rio raiz com o sistema de arquivos ext4 ou ext3.<\/p><\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o O que \u00e9 &#8220;tunar&#8221; e o que \u00e9 Sistemas de Arquivos Antes de come\u00e7ar a tratar sobre o assunto de tunar o sistema de arquivos, precisamos saber o que \u00e9 um sistema de arquivos. Um sistema de arquivos \u00e9 uma estrutura l\u00f3gica que \u00e9 utilizada para armazenar e organizar informa\u00e7\u00f5es no sistema. Caso queira [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,42,51],"tags":[158,14,156,157],"class_list":["post-325","post","type-post","status-publish","format-standard","hentry","category-viazap","category-leitura-recomendada","category-linux-linuxrs","tag-arquivos","tag-linux","tag-sistema-de-arquivos","tag-tunando"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=325"}],"version-history":[{"count":2,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/325\/revisions"}],"predecessor-version":[{"id":327,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/325\/revisions\/327"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}