mkfs é extremamente lento

3

A formatação dos volumes do xfs no Ubuntu 16.04 é extremamente lenta em nosso hipervisor do Virtualbox, mas não no vm rodando dentro do Nutanix.

Virtualbox
100 GB = > segundos
2 TB = > segundos

Nutanix (HyperConverged)
100 GB = > 4 minutos
2 TB = > 30+ minutos

parted -l -s | grep "Error: * unrecognised disk label"
Error: /dev/sdg: unrecognised disk label

parted /dev/sdg mklabel gpt
Information: You may need to update /etc/fstab.

parted -- /dev/sdg mkpart primary xfs 1 -1
Information: You may need to update /etc/fstab.

time mkfs.xfs /dev/sdg1
meta-data=/dev/sdg1              isize=512    agcount=4, agsize=6553472 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=26213888, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=12799, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

real     4m7.653s
user    0m0.004s
sys       0m0.028s

Por que demora tanto em um hipervisor para formatar uma unidade com mkfs , enquanto, por outro, é quase instantânea?

    
por spuder 14.02.2017 / 06:17

2 respostas

3

Isso se deve ao fato de o hipervisor hiperconvergente usar SSDs. O comando mkfs formata com NODISCARD (também conhecido como TRIM) por padrão.

Para executar o mkfs sem trim, use a opção -K no XFS e -E nodiscard no ext4

XFS

mkfs.xfs -K /dev/sdx 

EXT4

mkfs.ext4 -E nodiscard 

Aviso: use apenas -K ou -E em novos volumes sem dados existentes.

O uso das opções -K ou -E em unidades com dados existentes fará com que o espaço seja desperdiçado até que os dados sejam sobrescritos.

    
por 14.02.2017 / 06:17
1

mkfs -t xfs / dev / md6 este comando leva FOREVER no Ubuntu e é bem rápido no RHEL.

mkfs.xfs -K / dev / sdx parece ser muito rápido ... mas parece que apenas produz informação ... melhor usar o comando time para ver se algum trabalho foi realmente feito.

tempo mkfs.xfs -K / dev / md6 mkfs.xfs: / dev / md6 parece conter um sistema de arquivos existente (xfs). mkfs.xfs: Use a opção -f para forçar a sobregravação.

real 0m0.005s usuário 0m0.000s sys 0m0.000s

tempo mkfs.xfs -K / dev / md6 -f metadados = / dev / md6 isize = 512 cont. = 32, tamanho = 24416912 blks          = sectsz = 512 attr = 2, projid32bit = 1          = crc = 1 finobt = 1, esparso = 0 dados = bsize = 4096 blocos = 781340832, imaxpct = 5          = sunit = 16 swidth = 32 blks nomeando = versão 2 bsize = 4096 ascii-ci = 0 ftype = 1 log = log interno bsize = 4096 blocos = 381520, versão = 2          = sectos = 512 sunit = 16 blks, preguiçoso = 1 tempo real = nenhum extsz = 4096 blocos = 0, rtextents = 0

real 0m0.572s usuário 0m0.000s sys 0m0.188s

    
por 09.03.2018 / 02:10

Tags