これが問題です:
root@ip-10-126-247-82:~# mkfs.ext4 /dev/xvda3
mke2fs 1.41.14 (22-Dec-2010)
/dev/xvda3 is mounted; will not make a filesystem here!
そしてこれはデバッグです:
root@ip-10-126-247-82:~# mount
/dev/xvda1 on / type ext4 (rw)
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/xvda2はカーネルが再フォーマットし、xvda1、xvda2、xvda3は異なるデバイスです
root@ip-10-126-247-82:~# ls -la /dev/xvda*
brw-rw---- 1 root disk 202, 1 2011-12-21 18:54 /dev/xvda1
brw-rw---- 1 root disk 202, 2 2011-12-22 10:33 /dev/xvda2
brw-rw---- 1 root disk 202, 3 2011-12-21 18:54 /dev/xvda3
root@ip-10-126-247-82:~# cat /proc/partitions
major minor #blocks name
202 1 10485760 xvda1
202 2 356485632 xvda2
202 3 917504 xvda3
Xvda1をフォーマットしません(正しい)
root@ip-10-126-247-82:~# mkfs.ext4 /dev/xvda1
mke2fs 1.41.14 (22-Dec-2010)
/dev/xvda1 is mounted; will not make a filesystem here!
Xvda2をフォーマットします(正しい)
root@ip-10-126-247-82:~# mkfs.ext4 /dev/xvda2
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
22282240 inodes, 89121408 blocks
4456070 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
2720 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Xvda3をフォーマットしません(正しくありません)
root@ip-10-126-247-82:~# mkfs.ext4 /dev/xvda3
mke2fs 1.41.14 (22-Dec-2010)
/dev/xvda3 is mounted; will not make a filesystem here!
-編集:
@Janne Pikkarainenが示唆するように、lsofデバッグを追加します。
root@ip-10-126-247-82:~# lsof -n | grep '202,3'
root@ip-10-126-247-82:~# lsof -n | grep 'xvda3'
root@ip-10-126-247-82:~#
マウントポイントはスワップ用のようです。
実際にc1.mediumで作業していたとき、私はm1.largeで作業していたと信じていましたが、 1つの一時的なストレージ が接続されているだけです。
root@ip-10-126-247-82:~# python
Python 2.7.2+ (default, Oct 4 2011, 20:03:08)
[GCC 4.6.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import boto.utils
>>> boto.utils.get_instance_metadata()['block-device-mapping']
{'AMI': 'sda1', 'root': '/dev/sda1', 'ephemeral0': 'sda2', 'swap': 'sda3'}
ここでのマッピングは少し混乱しています(理由はわかりません)。 sda-> xvda。これから/ is mapped to /dev/xvda1
、ephemeral0 is mapped to /dev/xvda2
およびswap is mapped to /dev/xvda3
。スワップ領域はXenによって管理されていると思います。これが、再フォーマットやマウント解除ができない理由です。
これはさらに確認できます
root@ip-10-126-247-82:~# cat /proc/swaps
Filename Type Size Used Priority
/dev/xvda3 partition 917500 0 -1
しかし、スワップがmount
出力に表示されないため、スワップが使用されているかどうかはわかりません。
-編集:
EC2をグレードアップする一般的な情報、c1.mediumでは無料のスワップスペースを取得しますが、m1.largeでは取得しません。 「無料」とは、マウントを解除して、別の一時的なストレージとして再利用できることを意味します。
swapoff -a
mkfs.ext4 /dev/xvda3
mount /dev/xvda3 /mnt
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 9.9G 1.6G 7.8G 17% /
udev 849M 4.0K 849M 1% /dev
tmpfs 342M 172K 342M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 854M 0 854M 0% /run/shm
/dev/xvda3 882M 17M 821M 3% /mnt
mount
の/etc/mtab
スイッチを使用することで、-n
にまったく表示されずに何かをマウントすることができます。
lsof -n | grep xvda3
は何かを返しますか?