Adicionar e executar pacote para desfragmentar um volume Ext3 fragmentado no BusyBox no Synology CS407? Como?
Observação: Desmascarando o mito de que os sistemas de arquivos Linux não ficam fragmentados. http://www.webupd8.org/2010/03/install-defrag-defragmentation.html
Mas isso é um equívoco comum eem alguns casos, você precisa desfragmentar seus sistemas de arquivos Linux. Isso é mesmoconfirmado por um desenvolvedor Ubuntu em uma postagem muito recenteEu tropecei há apenas alguns minutos sobre o ureadahead nos fóruns do ubuntu.De:Postagem nos fóruns do Ubuntu:http://ubuntuforums.org/showthread.php?t=1434502
A única maneira de evitar isso é desfragmentar o disco.Mas os sistemas de arquivos Linux não precisam de desfragmentação!
Quem te disse isso está profundamente enganado, esse é um dos mitos mais comuns do Linux.
O que é verdade é queOs sistemas de arquivos Linux evitam, sempre que possível, fragmentar suas tabelas de inode. Isso significa que o índice de como os arquivos são divididos (fragmentados) no disco e onde estão essas partes tende a ser mantido junto como um todo.
Isso é uma coisa boa; a fragmentação de tabelas de inodes é um grande problema para outros sistemas de arquivos (FATs nesse sistema de arquivos, etc.), portanto, ao mantê-los juntos, obtém-se muito desempenho.
Mas oos dados em si ainda estão fragmentados, eespalhe por todo o seu disco em uma ordem aleatória. E, infelizmente, durante a inicialização, são os dados que precisamos.
Uma das coisas futuras que queremos fazer é usar a análise ureadahead do que precisamos durante a inicialização para alimentar um desfragmentador, para que tudo o que precisamos esteja em um grande bloco no disco.
Atualizar:
Aparentemente, o CS407 usa um processador Marvel 88f5281, então pode precisar primeiro de algo como um optware/entware especialmente construído. Por favor, oriente mais nessa direção, se possível.
https://forum.synology.com/enu/viewtopic.php?t=66550
https://forum.synology.com/enu/viewtopic.php?f=39&t=83186#p339475
Com base nas etapas e lições nesses 2 links, executei o seguinte (coisas principais marcadas e em negrito com Asterix duplo):
Versão do Busybox:
BusyBox v1.16.1 (2011-04-08 10:15:04 CST) built-in shell (ash) Enter 'help' for a list of built-in commands.
Entrada e saída de linha de comando:
CubeStation> /usr/syno/etc.defaults/rc.d/S80samba.sh stop
CubeStation> df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/md0 2451064 478484 1870180 20% / /tmp 63396 288 63108 0% /tmp
/dev/md2 2879637816 2336710312 542825104 81% /volume1
CubeStation> unmount /volume1 -ash: unmount: not found
CubeStation> sudo unmount /volume1 -ash: sudo: not found
CubeStation> syno_poweroff_task
CubeStation> df
Filesystem 1K-blocks Used Available Use% Mounted on /dev/md0 2451064 478460 1870204 20% / /tmp 63396 284 63112 0% /tmp CubeStation> vgdisplay CubeStation> e2fsck -v -n -f /dev/md2
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity
/lost+found not found. Create? no
Pass 4: Checking reference counts Pass 5: Checking group summary information 1.41.12-1613: ********** WARNING: Filesystem still has errors **********
42150 inodes used (0.02%)
3618 non-contiguous files (8.6%)
20 non-contiguous directories (0.0%)
# of inodes with ind/dind/tind blocks: 20326/8705/71 595654428 blocks used (81.44%) 0 bad blocks 114 large files 36634 regular files 4434 directories 0 character device files 0 block device files 0 fifos 1 link 1073 symbolic links (1073 fast symbolic links) 0 sockets
- Não sou um especialista em *Nix, mas tenho experiência em CS e TI e estou bem em executar coisas na linha de comando. Eu li muito, mas gostaria apenas de reunir os pacotes/componentes compatíveis corretos (para este sistema) e as etapas aqui.
- Suponho que possam estar faltando alguns pacotes/componentes que me fornecerão a capacidade de executar um Defrag.
- Devo/posso instalá-los (os vinculados acima)? Quais e como?
- Qual a melhor forma de executá-los?
O que posso fazer para DEFRAG o volume FS e os dados não contíguos?
Responder1
Ao executar comandos da Internet, é sempre uma boa ideia verificar o que os comandos fazem com a página de manual.
No seu caso específico, seu comando e2fsck:
e2fsck -v -n -f /dev/md2
Se verificarmos o que este comando faz nopágina de manual do e2fsckVocê vai ver:
-n Abra o sistema de arquivos somente leitura e assuma uma resposta 'não' para todas as perguntas. Permite que o e2fsck seja usado de forma não interativa. (Nota: se as opções -c, -l ou -L forem especificadas além da opção -n, então o sistema de arquivos será aberto para leitura e gravação, para permitir que a lista de blocos defeituosos seja atualizada. No entanto, nenhum outro alterações serão feitas no sistema de arquivos.)
Portanto, o que o sinalizador -n faz é verificar o disco sem reparar nenhum problema encontrado. Você gostaria de remover esse sinalizador para permitir a reparação de problemas. Você receberá avisos para cada problema encontrado pelo e2fsck e tentará repará-lo. Se você deseja que o e2fsck apenas repare tudo sem avisos, adicione o sinalizador -p:
-p Repara automaticamente (“preen”) o sistema de arquivos sem qualquer dúvida.