Назад | Перейти на главную страницу

mkfs не жалуется, что: «/ dev / sdb очевидно используется системой; здесь не будет файловой системы »

Это сервер Ubuntu 11.10.

/ dev / sdb не смонтирован (см. выходные данные ниже) и не используется никакими процессами, которые я вижу. Он также не используется для обмена. Это второй диск IDE на сервере, подключенный к вторичной среде IDE и настроенный в аппаратном рейде как массив 2.

Я не могу установить привод, так как получил жалобу, что он, возможно, уже используется. Я запустил fdisk, удалил все предыдущие разделы и создал один основной.

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)

Еще раз проверьте разбиение на разделы, но без указания / dev / sda:

# fdisk -l

Затем, если вы найдете в выводе что-то вроде /dev/md0, - это означает, что у вас есть sw-массив, и диск, который вы пытаетесь отформатировать, содержит метаданные этого массива.

В таком случае:

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

Очистить суперблок диска:

# mdadm --zero-superblock /dev/sdb

Удалить массив

# mdadm --remove /dev/md0

Нет, ты можешь работать со своим приводом.

/dev/sdb используется, потому что на нем есть разделы, о которых знает ОС. Если вы хотите создать на нем файловую систему (плохая идея, потому что это делается редко, поэтому администраторы могут запутаться, и это затруднит выполнение любого вида разделения или изменения размера), сначала удалите существующий раздел с помощью fdisk. Если вы хотите создать файловую систему на единственном разделе /dev/sdb1 (это то, что вам следует сделать, поскольку нет никакой пользы от прямого использования диска), а затем скажите, что вы имеете в виду: mkfs /dev/sdb1.

Это старый пост, но я столкнулся с той же проблемой. Когда я пытался создать файловую систему, система жалуется и говорит

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

Команды:

  • термоэлемент
  • lsof

ничего полезного не дало. Вот что я сделал, чтобы найти причину проблемы. Я зашел в / etc и поискал любые файлы, в которых упоминается диск sdc. Первая «находка» ничего не нашла, поэтому я расширил поиск на следующий уровень ниже и нашел нарушителя.

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

Насколько я знаю, эти файлы используются targetcli (серверная часть iSCSI), поэтому я отключаю это хранилище и повторно запускаю команду mkfs, на этот раз без каких-либо проблем.

Надеюсь это поможет.

Вы получаете это сообщение об ошибке, потому что /dev/sdb имеет перегородку (т.е. /dev/sdb1), и вызов mkfs также перезапишет всю или часть вашей таблицы разделов. В худшем случае ваша файловая система будет недоступна. Или вы «просто» потеряете таблицу разделов, которая может вам еще понадобиться. Поскольку файлы устройства разделов и таблица разделов на диске должны рассказывать одну и ту же историю, они, вероятно, «используются» ядром.

Таким образом, простое правило: если вы хотите создать свою файловую систему на всем дисковом устройстве, убедитесь, что все разделы удалены перед этим. Например:

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

Обычно инструмент создания разделов уведомляет ядро ​​об обновлении файлов устройства разделов. Но иногда (например, для устройств с обратной связью) может потребоваться их явное удаление (после удаления таблицы разделов), например через partx -dv mydev и / или kpartx -dv mydev.

Обратите внимание, что предыдущий kpartx -av mydev может создавать устройства раздела как /dev/mapper/mydev* вместо того /dev/mydev*. Когда они присутствуют, то точно так же жалуется mkfs.

В моем случае sudo umount /dev/sdb работал.

Попробуйте сначала полностью стереть жесткий диск с помощью:

sudo dc3dd wipe = / dev / sdb

Убедитесь, что выбрали правильный диск.