質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • Linux

    3926questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • AWS(Amazon Web Services)

    2094questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

ログインできないAWSのec2インスタンスを調査する

受付中

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,490

takumin0201

score 2

前提・実現したいこと

AWSのec2インスタンスへSSH接続できなくなってしまった。
当該インスタンスには重要データが保管されているため、下記のどちらかを実現したい

1、何らかの方法で接続できるようにする
2、当該インスタンスの重要データを他のインスタンスへ移行したい

前提:
サーバスペック:t2.large
OS:Red-Hat
AMI ID:RHEL-7.1_HVM_GA-20150225-x86_64-1-Hourly2-GP2
EBS:1000GB
バックアップ:一切取っていない

発生している問題・エラーメッセージ

1、AWSのインスタンスへ接続できない

2、別インスタンスへ重要データ(ボリューム)をアタッチしたのちマウントしても
データが正常に移行されていない

マウント先のディレクトリには、「lost+found」というディレクトリが作成されているのみ

2、データ移行で実施したコマンド(ボリュームをアタッチ済みの別インスタンスでの実行)

  mkdir /mnt/ebs
  mount /dev/xvdf1 /mnt/ebs
  ここでエラーメッセージ:
  mount: block device (対象ネットワークディレクトリ) is write-protected, mounting read-only
  mount: cannot mount block device (対象ネットワークディレクトリ) read-only
  
  mkfs -t ext4 /dev/xvdb1
  mount /dev/xvdf1 /mnt/ebs
  cd //mnt/ebs/
  結果:lost+found

試したこと

サーバ再起動やボリュームをデタッチしてからの再度アタッチなど
試しましたが結果はすべて同じです。

補足情報(言語/FW/ツール等のバージョンなど)

こちらのサイトを参考に作業を進めましたがうまく移行できませんでした。
http://dev.classmethod.jp/cloud/aws/ec2-investigate-detach-attach/

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • TaichiYanagiya

    2016/04/21 21:49

    mkfs は新規にファイルシステムを作成する(=元のデータを消去する)コマンドです。 snapshot は取っていませんか?

    キャンセル

回答 2

+1

AWSのサポートに問い合わせは出来ないですか?ちょっと回答に自信が持てません。
mountされてない状態だと思います。
lsblkもしくはmountを入力して、マウントされてますか?
マウントされてないと思いますので、
mount -t ext4 /dev/xvdf1 /mnt/ebs
して見てください。
次に、RHEL7.1ということで、ファイルシステムがXFSではありませんか?
Amazon LinuxはRHEL6までの為、参考になさったサイトではファイルシステムがext4となっていると思いますが、RHEL7.1のデフォルトなら古い情報です。
先にmkfs -t ext4 /dev/ebsとなさっているかとおもいますが、
mkfs -t xfs /dev/ebsした後、
mount -t xfs /dev/xvdf1 /dev/ebsしてください。
変更する気が無いなら、mount -t xfs -o r /dev/xvdf1 /dev/ebsの方がよいかも知れません。
後は、お詳しそうなので失礼ですが、ボリュームアタッチした際、/var/log/messagesに何か出てませんか?何が書きたいかと申しますと、あと疑うとしたら、/dev/xvdf1が間違っている、とか。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/22 14:46 編集

    まず、lsblkで確認したところ/dev/xvdf1ではなく、/dev/xvdf2でした。

    mkfs -t xfs /dev/xvdf2したところ、下記のメッセージが表示されました。

    mkfs.xfs: /dev/xvdf2 contains a mounted filesystem
    Usage: mkfs.xfs
    /* blocksize */ [-b log=n|size=num]
    /* metadata */ [-m crc=0|1,finobt=0|1]
    /* data subvol */ [-d agcount=n,agsize=n,file,name=xxx,size=num,
    (sunit=value,swidth=value|su=num,sw=num|noalign),
    sectlog=n|sectsize=num
    /* force overwrite */ [-f]
    /* inode size */ [-i log=n|perblock=n|size=num,maxpct=n,attr=0|1|2,
    projid32bit=0|1]
    /* no discard */ [-K]
    /* log subvol */ [-l agnum=n,internal,size=num,logdev=xxx,version=n
    sunit=value|su=num,sectlog=n|sectsize=num,
    lazy-count=0|1]
    /* label */ [-L label (maximum 12 characters)]
    /* naming */ [-n log=n|size=num,version=2|ci,ftype=0|1]
    /* no-op info only */ [-N]
    /* prototype file */ [-p fname]
    /* quiet */ [-q]
    /* realtime subvol */ [-r extsize=num,size=num,rtdev=xxx]
    /* sectorsize */ [-s log=n|size=num]
    /* version */ [-V]
    devicename
    <devicename> is required unless -d name=xxx is given.
    <num> is xxx (bytes), xxxs (sectors), xxxb (fs blocks), xxxk (xxx KiB),
    xxxm (xxx MiB), xxxg (xxx GiB), xxxt (xxx TiB) or xxxp (xxx PiB).
    <value> is xxx (512 byte blocks).

    mount -t xfs -o r /dev/xvdf2 /dev/ebsを実施したところ、下記のメッセージが表示されてしまいました。一度ext4にファイルシステムを変換してしまったため、xfsに変換できなくなってしまったのでしょうか。


    mount: wrong fs type, bad option, bad superblock on /dev/xvdf2,
    missing codepage or helper program, or other error

    In some cases useful info is found in syslog - try
    dmesg | tail or so.

    キャンセル

  • 2016/04/22 16:02

    怖いのでバップアップ取って頂けますか?
    /dev/xvdf2は、マウントされてますか?
    また、volume IDをご確認の上、お願いします。

    このあたり、誤解されがちなので、一応記載しますと、
    ①旧システムEBSマウント前の/dev/xvdf2 -> 新システムEBSのローカルディスク
    ②旧システムEBSマウント後の/dev/xvdf2 -> 旧システムEBSのローカルディスク
    です。

    ①でmkfsやってもマウントポイントが出来るだけで、データには何も起きません。

    ②でmkfsとかやると、ファイル情報が消去されます
    ※実体は残ります。

    で、怖いのが、xvdf2を変換してしまいましたか??なのですが、
    おそらくmountしてないのだと思います。
    mountしてれば消えますが、それ以前に見えている筈ですから…

    mount
    を入力し、ローカルのEBS以外はmountしてない事をまず確認の上、
    mkfs -t xfs /dev/ebs
    です。マウントポイントのファイルシステムを変えてください。

    なお、上記を行わないとdev/ebsはext4のままですから、
    mount -t xfs -o r /dev/xvdf2 /dev/ebs
    を入力しても、/dev/xvdf2がxfs(だと思う…)、/dev/ebsがext4でmount出来ないかと思います。

    ただし、下記はいずれも理解しかねます。どちらかあるいは両方が、間違えてませんか?

    after
    Filesystem  Size  Used  Avail  
    /dev/xvdf2  985GB 77M  935GB
    データが無い場合に77MBも使用しているのは理解しかねる。

    before
    Filesystem  Size  Used  Avail  
    /dev/xvdf2  1000GB 15GB 985GB
    OSから使える状態でフォーマットしていてSizeが1000GBあるのは理解しかねる。

    15GBがどこへ?もありますが、
    ※フォーマットされていて、ファイルへのインデックスが消えた可能性はあり
    Availの計算が合わなさすぎます。

    キャンセル

  • 2016/04/23 17:29 編集

    ローカルのEBS以外はmountしてない事を確認の上、
    mkfs -t xfs /dev/ebs
    したところ、
    mkfs.xfs: cannot open /dev/ebs/: Is a directory
    と表示されてしまいました。

    そして、以前は、
    ①旧システムEBSマウント前の/dev/xvdf2 -> 新システムEBSのローカルディスク
    の状態で、mkfs -t ext4を/dev/xvdf2に対して実施したため、データには何も起きていないと考えられます。

    ②旧システムEBSマウント後の/dev/xvdf2 -> 旧システムEBSのローカルディスク
    の状態で、mfksは実施していないため、こちらもデータは削除されていない可能性が高いです。

    /dev/ebsのファイルシステムを変換するにはどうすればよろしいのでしょうか。

    補足ですが、
    afterの表記は再度確認し、やはり間違っていませんでした、
    データがないのに77MB使用しているという点と、Availの研さんが合わなすぎるという点が非常に不思議に思います。
    おっしゃる通り、フォーマットされたのでしょうか。

    知識不足ですみません、、

    キャンセル

0

mkfs でメタデータがクリアされているので、復旧は難しいと思います。 
可能性は少ないですが、以下のようなツールでファイルを拾えるかもしれません。

元の EBS をコピー(Snapshot を取って、Snapshot から Volume を作成)してから作業してください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/04/22 14:54 編集

    フォーマットされてしまったということでしょうか。
    ちなみにですが、ext4にファイルシステムを変換しマウントしたのち、ディスク容量を確認すると

    Filesystem  Size  Used  Avail  
    /dev/xvdf2  985GB 77M  935GB

    と表示されます。正常にサーバが稼働していた時は下記のように表示されました。

    Filesystem  Size  Used  Avail  
    /dev/xvdf2  1000GB 15GB 985GB

    何が言いたいかというと、どこかに以前使っていた15GBがおり、復元可能なのではないかということです。
    フォーマットしたことにより、マウントしてもデータは表示されないですが
    裏側ではまだ存在しているため、マウント後、ディスク容量を確認するとSizeが985GBになっているという仮説のもと、復元を試みてみます。

    キャンセル

関連した質問

同じタグがついた質問を見る

  • Linux

    3926questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • AWS(Amazon Web Services)

    2094questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。