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

mkfs отказывается форматировать устройство в заявлении, что оно смонтировано, хотя на самом деле это не так.

Это проблема:

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!

-- РЕДАКТИРОВАТЬ:

Добавление отладки lsof, как предлагает @Janne Pikkarainen:

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:~# 

Похоже, точка монтирования предназначена для свопа.

Я считал, что работаю над m1.large, тогда как на самом деле я работал над c1.medium, который имеет только 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

Можно смонтировать что-то без того, чтобы /etc/mtab вообще используя -n включить mount.

Делает lsof -n | grep xvda3 что-то вернуть?