web-dev-qa-db-fra.com

MKFS échoue à se plaindre que: "/ dev / sdb est apparemment utilisé par le système; ne créera pas un système de fichiers ici"

Ceci est Ubuntu Server 11.10.

/ dev/SDB n'est pas monté (voir les sorties ci-dessous) et n'est utilisé aucun processus que je peux voir. Sa non utilisée pour le swap aussi. Ceci est un 2ND IDE lecteur sur le serveur, connecté au secondaire IDE et configuré dans le matériel de matériel en tant que tableau 2.

Je ne peux pas monter le lecteur car je reçois une plainte, il pourrait déjà être utilisé. J'ai exécuté FDISK, supprimé toutes les partitions précédentes et créé un seul primaire.

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)
7
Harel

Vérifiez votre partitionnement une fois de plus, mais sans spécifier/dev/sda:

# fdisk -l

Ensuite, si vous trouvez en sortie quelque chose comme /dev/md0, - Cela signifie que vous avez une matrice SW, et un disque que vous essayez de formater contient des métadonnées de ce tableau.

Dans ce cas:

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

Superblock clair du disque:

# mdadm --zero-superblock /dev/sdb

Supprimer la matrice

# mdadm --remove /dev/md0

Non, vous pouvez travailler avec votre lecteur.

5
Yura

/dev/sdb est utilisé car il y a des partitions sur le fait que le système d'exploitation est au courant. Si vous souhaitez créer un système de fichiers à ce sujet (une mauvaise idée, car il est rarement fait afin de confondre les administrateurs, et cela rendra difficile de faire une sorte de division ou de redimensionnement), supprimez d'abord la partition existante avec fdisk. Si vous souhaitez créer un système de fichiers sur la seule partition /dev/sdb1 (C'est ce que vous devriez faire, car il n'y a aucun avantage à utiliser le disque directement), puis dites ce que vous voulez dire: mkfs /dev/sdb1.

Vous obtenez ce message d'erreur car /dev/sdb a une partition (c'est-à-dire /dev/sdb1) et l'appel MKFS écraserait également tout ou partie de votre table de partition. Dans le pire des cas, votre système de fichiers ne serait pas utilisable alors. Ou vous êtes juste en vrac une table de partition que vous pourriez encore avoir besoin. Étant donné que les fichiers de périphérique de partition et la table de partition de disque réelle doivent indiquer la même histoire, ils sont sans doute "utilisés" par le noyau.

Ainsi, la règle simple est la suivante: si vous souhaitez créer votre système de fichiers sur l'ensemble du périphérique de disque, assurez-vous que toutes les partitions sont supprimées avant. Par exemple:

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

Habituellement, l'outil de partitionnement s'occupe de notifier le noyau pour mettre à jour ses fichiers de périphérique de partition. Mais parfois (par exemple pour les périphériques de bouclage), il peut être nécessaire de les supprimer explicitement (après la suppression de la table de partition), par ex. passant par partx -dv mydev et/ou kpartx -dv mydev.

Notez qu'un précédent kpartx -av mydev peut créer les périphériques de partition comme /dev/mapper/mydev* à la place de /dev/mydev*. Quand ils sont présents, alors MKFS se plaint de la même manière.

1
maxschlepzig

C'est un ancien post mais j'ai rencontré le même problème. Lorsque j'ai essayé de créer un système de fichiers, le système se plaint et dit

> [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!

Les commandes:

  • fusion
  • lsof

n'a rien donné d'utile. Voici ce que j'ai fait pour trouver la cause du problème. Je suis allé sur le/etc et cherché à tous les fichiers qui mentionnent le lecteur SDC. La première "trouvaille" n'a rien trouvé, j'ai donc développé la recherche au prochain calque ci-dessous et qui a trouvé le délinquant

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

Comme je sais que ces fichiers sont utilisés par TargetCli (Backend ISCSI), donc je détache ce stockage et réexécuter la commande MKFS et cette fois-ci sans aucun problème.

J'espère que cela t'aides.

1
oogway

Dans mon cas Sudo umount /dev/sdb travaillé.

0
Ben