FreeBSD amazon ec2インスタンスのアタッチされたボリュームが表示されない

FreeBSD amazon ec2インスタンスのアタッチされたボリュームが表示されない

ドキュメントの手順に従って、新しい EBS ボリュームを作成し、それをインスタンス (1 つだけ) に接続しました。再起動してシャットダウン/起動を試みましたが、デバイスが FreeBSD インスタンス内に表示されません。 と しかありませ/dev/ada0/dev/ada0a

FreeBSDインスタンスでこれを動作させるには、他に何か必要な手順がありますか?Amazonが使用している抽象化レイヤーについては何も知りません。問題はFreeBSDにあると思います。デバイスの命名異なります。

答え1

@hasufell、あなたのコメントは正しいです。BSD インスタンス上のデバイスは、Linux/std AWS 命名規則を使用して命名されていません。私もあなたと同じデバイス名を取得しましたxbd5が、エントリのシステム ログを確認することでデバイス名を確認できます<Virtual Block Device>(grep dmesg/messages または AWS インスタンス コントロール パネルから - インスタンスを選択してから、[アクション] -> [インスタンス設定] -> [システム ログの取得])。100 GB のデバイスは、ログに次のように表示されることがあります。

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-bootmount /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

関連情報