Google Compute Engine safe_format_mount问题 - 指定文件系统类型错误

时间:2014-08-26 18:43:04

标签: mongodb google-compute-engine

我一直在关注从

使用带有GCE的MongoDB的教程

http://docs.mongodb.org/ecosystem/platforms/google-compute-engine/

我为MongoDB存储创建了一个单独的SSD磁盘并将其附加到实例但是当我尝试安全挂载时

sudo / usr / share / google / safe_format_and_mount \      -m" mkfs.ext4 -F -o defaults,auto,noatime,noexec" / dev / sdb / data

我收到此错误:

safe_format_and_mount: Running: fsck.ext4 -a /dev/sdb
safe_format_and_mount: fsck.ext4: Bad magic number in super-block while trying to open /dev/sdb
safe_format_and_mount: /dev/sdb: 
safe_format_and_mount: The superblock could not be read or does not describe a correct ext2
safe_format_and_mount: filesystem.  If the device is valid and it really contains an ext2
safe_format_and_mount: filesystem (and not swap or ufs or something else), then the superblock
safe_format_and_mount: is corrupt, and you might try running e2fsck with an alternate superblock:
safe_format_and_mount:     e2fsck -b 8193 <device>
safe_format_and_mount: 
safe_format_and_mount: Fsck could not correct errors on /dev/sdb
safe_format_and_mount: Running: mount -o discard,defaults /dev/sdb /data
safe_format_and_mount: mount: you must specify the filesystem type
/usr/share/google/safe_format_and_mount: line 83: file: command not found
safe_format_and_mount: Running: mkfs.ext4 -F -o defaults,auto,noatime,noexec /dev/sdb
safe_format_and_mount: mke2fs 1.42.5 (29-Jul-2012)
safe_format_and_mount: Discarding device blocks: done                            
safe_format_and_mount: mkfs.ext4: unknown os - defaults,auto,noatime,noexec
safe_format_and_mount: Format of /dev/sdb failed.
safe_format_and_mount: Running: mount -o discard,defaults /dev/sdb /data
safe_format_and_mount: mount: you must specify the filesystem type
safe_format_and_mount: Tried everything we could, but could not mount /dev/sdb.

但是当我删除默认值时,auto,noatime,noexec并且只使用mkfs.ext4 -F就可以了。

但是如果我设置了MongoDB的dbpath,那么MongoDB服务器就无法启动。如果我们运行MongoDB,它会产生坏扇区。

那么如何安装额外的磁盘并使用GCE创建一个合适的ext4文件系统?

1 个答案:

答案 0 :(得分:2)

看起来您提供的链接中存在拼写错误:

根据命令的帮助,正确的语法是:

/usr/share/google/safe_format_and_mount [-f fsck_cmd] [-m mkfs_cmd] [-o mount_opts] <device> <mountpoint>

正如您在那里看到的那样,-m参数用于指定分区设备的选项,但"mkfs.ext4 -F -o defaults,auto,noatime,noexec"混合了mkfs和mount参数。您需要先关闭双引号,并且命令应如下所示:

sudo /usr/share/google/safe_format_and_mount -m "mkfs.ext4 -F" -o defaults,auto,noatime,noexec /dev/sdb /data/