我按照文档中的步骤操作,创建了一个新的 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”类型,您都可以按如下方式将分区添加到挂载操作:
运行
gpart show
以找到第一个类型为“freebsd-ufs”的分区跑步
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