mkfs falha reclamando que: “/ dev / sdb está aparentemente em uso pelo sistema; não fará um sistema de arquivos aqui ”

5

Este é o servidor Ubuntu 11.10.

/ dev / sdb não está montado (veja as saídas abaixo) e não é usado por nenhum processo que eu possa ver. Não é usado para swap também. Esta é uma segunda unidade IDE no servidor, conectada ao IDE secundário e configurada em RAID de hardware como array 2.

Não consigo montar a unidade quando recebo uma reclamação de que já esteja em uso. Fiz o fdisk, apaguei todas as partições anteriores e criei uma única primária.

root@sargent:/home/harel# fdisk -l /dev/sdb

Disk /dev/sdb: 122.9 GB, 122942324736 bytes
226 heads, 63 sectors/track, 16864 cylinders, total 240121728 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00083711

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   240121727   120059840   83  Linux


root@sargent:/home/harel# mkfs -t ext4 /dev/sdb
mke2fs 1.41.14 (22-Dec-2010)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
/dev/sdb is apparently in use by the system; will not make a filesystem here!

root@sargent:/home/harel# cat /proc/swaps 
Filename                Type        Size    Used    Priority
/dev/sda5                               partition   2619388 0   -1

root@sargent:/home/harel# mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
    
por Harel 02.01.2012 / 22:54

5 respostas

3

/dev/sdb está em uso porque há partições que o sistema operacional está ciente. Se você quiser criar um sistema de arquivos nele (uma má idéia, porque isso raramente é feito, irá confundir os administradores e dificultará qualquer tipo de divisão ou redimensionamento), primeiro remova a partição existente com fdisk . Se você quiser criar um sistema de arquivos na partição única /dev/sdb1 (é isso que você deve fazer, já que não há nenhum benefício em usar o disco diretamente), então diga o que você quer dizer: mkfs /dev/sdb1 .

    
por 02.01.2012 / 23:52
3

Verifique seu particionamento novamente, mas sem especificar / dev / sda:

# fdisk -l

Então, se você encontrar na saída algo como /dev/md0 , - significa que você tem sw array, e o disco que você está tentando formatar contém metadados dessa matriz.

Neste caso:

# umount /dev/md0
# mdadm --stop /dev/md0

Limpar superbloco de disco:

# mdadm --zero-superblock /dev/sdb

Remover matriz

# mdadm --remove /dev/md0

Não, você pode trabalhar com sua unidade.

    
por 02.03.2015 / 12:54
1

Este é um post antigo, mas eu encontrei o mesmo problema. Quando tentei criar um sistema de arquivos, o sistema reclama e diz

[root@MASTER ~]# mkfs.ext4 -L squid_cache -m2 /dev/sdc1 mke2fs 1.42.9 (28-Dec-2013) /dev/sdc1 is apparently in use by the system; will not make a filesystem here!

Os comandos:

  • fuser
  • lsof

não produziu nada útil. Aqui está o que eu fiz para encontrar a causa do problema. Fui ao / etc e procurei por algum arquivo que mencionasse o drive sdc. O primeiro 'find' não encontrou nada, então eu expandi a pesquisa para a próxima camada abaixo e encontrei o ofensor

[root@MASTER etc]# find ./* -maxdepth 1 -type f -execdir grep -l sdc '{}' +
./services ./saveconfig.json

Como eu sei que esses arquivos estão sendo usados pelo targetcli (iSCSI backend), então eu desanexei esse armazenamento e executei novamente o comando mkfs e desta vez sem nenhum problema.

Espero que isso ajude.

    
por 10.10.2018 / 07:53
1

Você recebe esta mensagem de erro porque /dev/sdb tem uma partição (ou seja, /dev/sdb1 ) e a chamada mkfs também substituiria todas ou partes de sua tabela de partições. Na pior das hipóteses, o seu sistema de arquivos não seria utilizável. Ou você simplesmente perderá uma tabela de partições que talvez ainda precise. Como os arquivos do dispositivo de partição e a tabela de partições reais no disco devem contar a mesma história, eles estão indiscutivelmente 'em uso' pelo kernel.

Assim, a regra simples é: se você quiser criar seu sistema de arquivos em todo o dispositivo de disco, certifique-se de que todas as partições sejam excluídas antes. Por exemplo:

# ls /dev/sdb*
/dev/sdb /dev/sdb1
# sfdisk --delete /dev/sdb
# sfdisk --list /dev/sdb
# ls /dev/sdb*
/dev/sdb

Normalmente, a ferramenta de particionamento cuida de notificar o kernel para atualizar seus arquivos de dispositivos de partição. Mas por vezes (por exemplo, para dispositivos de loopback) pode ser necessário removê-los explicitamente (após a remoção da tabela de partições), e. via partx -dv mydev e / ou kpartx -dv mydev .

Observe que um kpartx -av mydev anterior pode criar os dispositivos de partição como /dev/mapper/mydev* em vez de /dev/mydev* . Quando eles estão presentes, então o mkfs reclama da mesma forma.

    
por 11.11.2018 / 10:38
-1

Tente limpar completamente o disco rígido primeiro com:

sudo dc3dd wipe = / dev / sdb

Certifique-se de escolher a unidade correta.

    
por 28.08.2017 / 05:40