Eu fiz uma pergunta sobre ext4lazyinit aqui . Pelo que li e compreendi, ele simplesmente permite que você comece a usar o disco rígido sem criar todos os inodes para o seu sistema de arquivos.
A única maneira que você sabe ou medida lata está monitorando ext4lazyinit
no iotop
. Existe uma maneira de obter seu progresso como uma porcentagem?
Respostas:
Verifique esta discussão do patch . Você pode inicializar o sistema sem o lazyinit, mas não pode medi-lo. Se você tiver tempo para esperar, apenas espere. Você pode tentar o patch da discussão, mas, de acordo com o Patchwork, o estado "rejeitou".
fonte
Parece que encontrei uma maneira de aproximar o progresso do ext4lazyinit.
TL; DR: veja o script abaixo.
Esse método pressupõe que o disco nunca foi desconectado (nem o sistema foi reinicializado) desde a primeira vez em que a partição foi montada e que você gravou exatamente tantos dados na partição quanto em uso nela (portanto, nenhuma exclusão) ou modificação de arquivos).
Etapa 1 : Compare o tamanho da partição no fdisk (convertido em kiB) com o número de blocos de 1K mostrados em df. Subtraia (número de blocos de 1K) de (tamanho da partição em kiB) para obter (tamanho aproximado da tabela de inodes).
EDIT: Exemplo, fdisk:
df:
11720976351 setores * 512 bytes / setor / 1024 = 5860488175,5 kiB (quase 5,5 TiB, como diz o fdisk). Menos 5813233164 de DF é igual a 47255011,5 kiB (cerca de 45 GiB) para o tamanho aproximado da tabela de inodos.
Etapa 2 : obter (total de kiB gravado na partição):
Escolha a linha certa para sua partição e converta-a em kiB.
EDIT: exemplo:
Usando sdd1 no meu caso, kiB total gravado = 2530108940 setores * 512 bytes / setor / 1024 = 1265054470 kiB (quase 1,2 TiB).
Etapa 3 : necessário apenas se você já tiver gravado dados no sistema de arquivos. Subtraia (número de blocos de 1K USADO, mostrado em df) de (total de kiB gravado na partição) para obter (aproximadamente kiB gravado na tabela de inodes).
EDIT: exemplo: kiB aproximado gravado na tabela de inode = 1265054470 (da etapa 2) - 1217095176 (consulte a saída df na etapa 1) = 47959294 kiB (45,7 GiB)
Etapa 4 : divida (aproximadamente kiB gravado na tabela de inodes) por (tamanho aproximado da tabela de inodes em kiB) e multiplique por 100 para obter o progresso como uma porcentagem.
EDIT: exemplo: progresso aproximado = 47959294 / 47255011,5 * 100% = 101,5%
Roteiro
Ou para escrever isso como um script parcial (onde eu me recuso a escrever uma chamada para o fdisk, por razões de segurança):
Ligue com $ 1 = "nome da partição" (por exemplo, sdd1), $ 2 = "setores da partição de acordo com o fdisk", $ 3 = "ponto de montagem sem barra"
Resultado dos testes
Eu só testei meu método uma vez. Configuração:
Partição de 6 TB
criptografia usando cryptsetup
sistema de arquivos criado com parâmetros padrão, exceto -m 0
279 GiB de arquivos gravados na partição antes da ext4lazyinit ser concluída.
Resultado : uma leitura de 99,7% no momento da conclusão :-)
EDIT: mesmo disco, depois de gravar quase outro TiB de dados, agora produz uma estimativa de 101,5%. Preciso o suficiente para ser útil, eu acho.
fonte