FreeBSD amazon ec2 实例的附加卷未显示

FreeBSD amazon ec2 实例的附加卷未显示

我按照文档中的步骤操作,创建了一个新的 EBS 卷并将其附加到实例(我只有一个)。我重新启动并尝试关机/启动,但设备未显示在 FreeBSD 实例内。我只有/dev/ada0/dev/ada0a

是否还有其他必要步骤才能使此功能适用于 FreeBSD 实例?我对亚马逊使用的抽象层一无所知。我猜问题可能是 FreeBSD设备命名是不同的。

答案1

@hasufell,您的评论是正确的 - BSD 实例上的设备未使用 Linux/std AWS 命名。我得到的设备名称与您相同 - xbd5- 但您可以通过查看系统日志中的条目来确认设备名称<Virtual Block Device>(grep dmesg/messages 或通过 AWS 实例控制面板 - 选择实例,然后选择操作 -> 实例设置 -> 获取系统日志)。100GB 设备可能会在日志中显示如下:

xbd5: 102400MB <Virtual Block Device> at device/vbd/51792 on xenbusb_front0

您也可以运行sysctl kern.disks,然后您应该会看到类似以下内容:

kern.disks: xbd5 ada0

...ada0您的第一个 EBS 卷在哪里,以及xbd5您的新附加卷在哪里。

然后只需挂载新卷:

newfs /dev/xbd5
mkdir /yourvol
mount /dev/xbd5 /yourvol

添加至/etc/fstab启动时挂载:

/dev/xbd5 /yourvol ufs rw 0 2

答案2

如果第一个分区的类型不是“freebsd-ufs”,则可能需要添加分区号。例如,如果您有来自计算机 A 的启动卷,出于维护目的,要将其安装到计算机 B,则第一个分区的类型可能是freebsd-boot,并且mount /dev/<device> /yourvol将失败并出现“无此文件或目录”错误。

作为通用解决方案,无论使用空白卷还是填充的新卷,也无论第一个分区是否是“freebsd-ufs”类型,您都可以按如下方式将分区添加到挂载操作:

  1. 运行gpart show以找到第一个类型为“freebsd-ufs”的分区

  2. 跑步mount /dev/<device>p<partition> /yourvol

例如,如果gpart show显示以下内容:

=>       3  31457269  xbd5  GPT  (15G)
         3       111     1  freebsd-boot  (56K)
       114      1600     2  efi  (800K)
      1714  31455558     3  freebsd-ufs  (15G)

然后你可以使用以下命令进行安装:

mount /dev/xbd5p3 /yourvol

相关内容