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

Почему mount заставляет меня указывать -t ext4 для одного раздела, но не для другого?

У меня есть два очень похожих раздела: / dev / sdb1 (с меткой bigb) и / dev / sdc1 (с меткой bigc). Раньше я мог монтировать их обоих, используя mount -n -L bigX /mnt/donottouch/localX (с участием X будучи b или c). Тем не менее, недавно mount начал требовать от меня указать -t ext4 но только на bigc.

bigb монтирует просто отлично:

# mount -n -L bigb  /mnt/donottouch/localb -vvv
mount: fstab path: "/etc/fstab"
mount: mtab path:  "/etc/mtab"
mount: lock path:  "/etc/mtab~"
mount: temp path:  "/etc/mtab.tmp"
mount: UID:        0
mount: eUID:       0
mount: spec:  "/dev/sdb1"
mount: node:  "/mnt/donottouch/localb"
mount: types: "(null)"
mount: opts:  "(null)"
final mount options: '(null)'
mount: you didn't specify a filesystem type for /dev/sdb1
       I will try type ext4
mount: mount(2) syscall: source: "/dev/sdb1", target: "/mnt/donottouch/localb", filesystemtype: "ext4", mountflags: -1058209792, data: (null)
/dev/sdb1 on /mnt/donottouch/localb type ext4 (rw)

Но потом появились ошибки bigc:

# mount -n -L bigc  /mnt/donottouch/localc -vvv
mount: fstab path: "/etc/fstab"
mount: mtab path:  "/etc/mtab"
mount: lock path:  "/etc/mtab~"
mount: temp path:  "/etc/mtab.tmp"
mount: UID:        0
mount: eUID:       0
mount: spec:  "/dev/sdc1"
mount: node:  "/mnt/donottouch/localc"
mount: types: "(null)"
mount: opts:  "(null)"
final mount options: '(null)'
mount: you didn't specify a filesystem type for /dev/sdc1
       I will try all types mentioned in /etc/filesystems or /proc/filesystems
mount: you must specify the filesystem type

... если я не укажу -t ext4:

# mount -n -L bigc  /mnt/donottouch/localc -vvv -t ext4
mount: fstab path: "/etc/fstab"
mount: mtab path:  "/etc/mtab"
mount: lock path:  "/etc/mtab~"
mount: temp path:  "/etc/mtab.tmp"
mount: UID:        0
mount: eUID:       0
mount: spec:  "/dev/sdc1"
mount: node:  "/mnt/donottouch/localc"
mount: types: "ext4"
mount: opts:  "(null)"
final mount options: '(null)'
mount: mount(2) syscall: source: "/dev/sdc1", target: "/mnt/donottouch/localc", filesystemtype: "ext4", mountflags: -1058209792, data: (null)
/dev/sdc1 on /mnt/donottouch/localc type ext4 (rw)

Mount утверждает, что он попробует «все типы, упомянутые в / etc / filesystems или / proc / filesystems», но явно не делает этого, учитывая, что эти два файла содержат ext4:

# cat /etc/filesystems 
ext4
ext3
ext2
nodev proc
nodev devpts
iso9660
vfat
hfs
hfsplus

# cat /proc/filesystems 
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cpuset
nodev   tmpfs
nodev   devtmpfs
nodev   binfmt_misc
nodev   debugfs
nodev   securityfs
nodev   sockfs
nodev   usbfs
nodev   pipefs
nodev   anon_inodefs
nodev   inotifyfs
nodev   devpts
nodev   ramfs
nodev   hugetlbfs
        iso9660
nodev   pstore
nodev   mqueue
nodev   rpc_pipefs
nodev   nfs
nodev   nfs4
        ext4
nodev   fuse
        fuseblk
nodev   fusectl
nodev   autofs
nodev   nfsd
        ext3

Кроме того, почему он решил попробовать ext4 для bigb, но попробовать все типы файловых систем для bigc?

Чтобы добавить к этому странность, blkid может определять bigc как ext4:

# blkid -o value -s TYPE /dev/sdb1
ext4
# blkid -o value -s TYPE /dev/sdc1
ext4
# mount -V
mount from util-linux-ng 2.17.2 (with libblkid and selinux support)

tune2fs -l показывает, что оба раздела практически одинаковы, за исключением размера inode:

# tune2fs -l /dev/sdb1
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   bigb
Last mounted on:          /mnt/donottouch/localb
Filesystem UUID:          2ceadc5b-c302-43d1-b289-047069a15537
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent sparse_super large_file uninit_bg
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              122101760
Block count:              488378000
Reserved block count:     24418900
Free blocks:              101141916
Free inodes:              118086875
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      907
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   1024
Filesystem created:       Fri May 13 18:08:33 2011
Last mount time:          Fri Jul 19 11:59:32 2013
Last write time:          Fri Jul 19 11:59:32 2013
Mount count:              4
Maximum mount count:      39
Last checked:             Thu Mar 14 15:11:01 2013
Check interval:           15552000 (6 months)
Next check after:         Tue Sep 10 15:11:01 2013
Lifetime writes:          439 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               512
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      ad841c26-0111-4f32-bab5-e8ebc9616f18
Journal backup:           inode blocks

# tune2fs -l /dev/sdc1
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name:   bigc
Last mounted on:          /mnt/donottouch/localc
Filesystem UUID:          74d41e82-d431-4b3d-ae1a-01dcb363a047
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent sparse_super large_file uninit_bg
Filesystem flags:         signed_directory_hash 
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              122101760
Block count:              488378000
Reserved block count:     24418900
Free blocks:              103460007
Free inodes:              118032588
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      907
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Wed Apr 27 14:55:53 2011
Last mount time:          Fri Jul 19 12:01:47 2013
Last write time:          Fri Jul 19 12:01:47 2013
Mount count:              6
Maximum mount count:      35
Last checked:             Sat Mar  2 14:09:26 2013
Check interval:           15552000 (6 months)
Next check after:         Thu Aug 29 15:09:26 2013
Lifetime writes:          381 GB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      f36ed43e-46b4-473c-8af0-07dc2a8d90c8
Journal backup:           inode blocks

Некоторая дополнительная информация о системе:

# cat /etc/system-release
Scientific Linux release 6.4 (Carbon)
# uname -ar
Linux ml44 2.6.32-358.14.1.el6.x86_64 #1 SMP Tue Jul 16 14:24:33 CDT 2013 x86_64 x86_64 x86_64 GNU/Linux

lsblk --fs кажется, что икота на bigc:

# lsblk --fs /dev/sdb1
NAME FSTYPE LABEL UUID                                 MOUNTPOINT
sdb1 ext4   bigb  2ceadc5b-c302-43d1-b289-047069a15537 /mnt/donottouch/localb
# lsblk --fs /dev/sdc1
NAME FSTYPE LABEL UUID MOUNTPOINT
sdc1                   /mnt/donottouch/localc
# e2label /dev/sdc1
bigc

Ни того, ни другого нет в / etc / fstab или / etc / mtab. Оба они чистые по e2fsck. Любые идеи? Единственное недавнее существенное изменение, о котором я могу думать, - это обновление Scientific Linux 6.1 до 6.4.

Я думаю, что тип раздела sdb1 установлен на 83, что указывает на Linux fs, например Ext4. Хотя для sdc1, похоже, установлен какой-то другой тип, в соответствии с вашим выводом lsblk.

вы можете изменить тип раздела с помощью таких утилит, как fdisk или cfdisk. если я правильно помню, в fdisk вы можете изменить его, используя t команду, а затем введите 83.