これはUbuntuサーバー11.10です。
/ dev/sdbはマウントされておらず(以下の出力を参照)、私が確認できるどのプロセスでも使用されていません。スワップにも使用されません。これは、2番目のIDEドライブで、セカンダリに接続されていますIDEで、アレイ2としてハードウェアRAIDに設定されています。
ドライブがすでに使用されている可能性があるというクレームがあったため、ドライブをマウントできません。私はfdiskを実行し、以前のパーティションをすべて削除して、1つのプライマリパーティションを作成しました。
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
は、OSが認識しているパーティションがあるため使用されています。その上にファイルシステムを作成したい場合(これはめったに行われないため、管理者を混乱させ、あらゆる種類の分割やサイズ変更が困難になるため)は、最初にfdisk
。単一のパーティションにファイルシステムを作成する場合は/dev/sdb1
(ディスクを直接使用するメリットはないため、これを行う必要があります)、次に、意味を説明します:mkfs /dev/sdb1
。
/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は同じ方法で文句を言います。
これは古い投稿ですが、同じ問題が発生しました。私がファイルシステムを作成しようとしたとき、システムは不平を言って言います
> [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!
コマンド:
有用なものは何も得られませんでした。これが問題の原因を見つけるために私がしたことです。/etcに移動して、ドライブsdcを含むファイルを検索しました。最初の「見つける」では何も見つからなかったので、下の次のレイヤーに検索を拡張したところ、違反者が見つかりました
> [root@MASTER etc]# find ./* -maxdepth 1 -type f -execdir grep -l sdc '{}' +
./services
./saveconfig.json
これらのファイルがtargetcli(iSCSIバックエンド)で使用されていることを知っているので、そのストレージを切り離してmkfsコマンドを再実行しましたが、今回は問題なく実行されました。
お役に立てれば。
私の場合 Sudo umount /dev/sdb
機能しました。