回答:
うん、それはとても簡単です:
/dev/sda1
もちろん、これは代替EBSボリュームが起動可能であることを前提としています-起動可能なOSイメージが含まれている必要があります。
/dev/sda
も/dev/sda1
私のために働いたが、し/dev/xvda
なかった。
/dev/sda
-機能しませんでした。/dev/sda1
、dev/sdf
-動作しましたが、インスタンスが起動しませんでした。/dev/xvda
働いた。
aws ec2 describe-instances --instance-id i-XXXXXXX | grep -i rootDeviceName
私の場合/dev/xvda
選択した回答にコメントを追加するのに十分な担当者がいませんが、私にとっては機能/dev/sda1
しなかった(rootとして接続されなかった)が、/dev/xvda
機能した(rootとして接続された)ことを指摘したいと思います。インスタンスは、HVMを使用する新しいt2.microのインスタンスの1つです。
/dev/sda1
AWSがインスタンスの起動を拒否します。代替ルートデバイス名を使用するために構成する必要がある他の設定はありますか?
/dev/sda
無効であるが、/dev/sda1
大丈夫です。
承認された回答のコメントスレッドでDiomidis Spinellisのコメントを詳しく説明するには、新しいルートデバイスとして切り替えようとしているデバイスのファイルシステムラベルを確認することが重要です。自分のサーバー移行のトラブルシューティング中に、インスタンスが起動する前に以下を実行する必要がありました。
e2label
コマンドを使用して、新しいルートデバイス用に作成したext2 / ext3 / ext4ファイルシステムのラベルを変更します。
まず、現在のルートデバイスのファイルシステムラベルを確認します。
$ sudo e2label /dev/xvda1
cloudimg-rootfs
新しいデバイスを同じファイルシステムラベルを持つように設定します。
$ sudo e2label /dev/xvdg 'cloudimg-rootfs'
私の場合、ラベルはでしたcloudimg-rootfs
。時々それは単にになります/
。
e2labelの仕組みを理解することが重要です。詳細man e2label
については、マシンを確認するか、http://linux.die.net/man/8/e2labelにアクセスしてください。
これはawsが推奨するソリューションです。ルートボリュームを停止した後、元のインスタンスから切り離すことができます。ルートボリュームは/ dev / sda1に接続されます。これを切り離したら、新しいインスタンスに接続してください。ボリュームが接続された後、OSからマウントする必要がある場合があります。マウントすると、その中にデータが表示されます。
新しいキーの追加が完了したら、それを切り離して、/ dev / sda1にある元のインスタンスに接続できます。
変更を加える前に、ルートボリュームのスナップショットを作成することをお勧めします。
ソリューションを試す前に、重要ではないインスタンスまたはスポットインスタンスで試す
CloudFormationを使用してこれを実行する場合は、以下を実行する必要があります。
スタックをデプロイします。これによりインスタンスが再作成されるため、Elastic IPアドレスを使用しているか、DNSアクセスを持っていることを確認してください。
この回避策を実行する必要があるのは、CFではEC2 BlockDeviceMappingsのルートボリュームサイズを調整できないため、またはルートボリュームのSnapshotIdを調整できないためです。
ボリュームがマウントされると、番号が付いたポストフィックスが取得されます。例:/dev/sda
マウントされる/dev/sda1, /dev/sda2
と、作成するパーティションに応じてマウントされます。ルートデバイス自体をマウントしているので、デバイスがすでにマウントされていると想定しているため、/dev/sda1
ため、ボリュームをルートデバイスとしてマウントするます。注:ルートボリュームはアタッチしないでください。
次の手順に従います。1)ボリュームに移動し、[アクション]から[ボリュームの接続]を選択します。2)インスタンスを選択します。3)rootとしてマウントする場合は、デバイス名を/dev/sda1
4と指定します。4)インスタンスを起動します。
/dev/sda1
確かに!