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

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

ただいまの
回答率

89.69%

centOSを起動できない

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 4,002

midomurasaki

score 42

環境はcloud nの仮想サーバーです。
centOS 6.5を再起動したところ、起動しなくなってしまいました。

イメージ説明
画像のように、プログレスバーが全て伸び切った後、何も起こらない状態です。

 試した事

イメージ説明
起動中escでこの画面からeキーでkernelのオプションを変更し、ログが出るようにしたところ、

イメージ説明
dracut: Switching rootで停止。

SELinuxが原因と思い、再起動後、同様の手順でさらにkernelのオプションにselinux=0を追加。
イメージ説明
SELinuxの警告は出なくなったものの、dracut: Switching rootで相変わらず停止。

ググってシングルユーザーモードで起動するために、再起動後、同様の手順でさらにkernelオプションにsingleを追加。

ですが、やはりdracut: Switching rootで止まってしまいます。

最初からあるオプションを消してから追加してみたり、単独で入れてみたりと色々組み合わせてみましたが結果は同じでした。

元の通りに起動できるようにするにはどうしたら良いかご教示いただけますようお願いします。


追記
kernelオプションにinit=/bin/shを入れてシェルを使えるようにし、
起動後/var/log/messagesを見てみたところ、
イメージ説明
となっていました。

なにやら/etc/init.confがdeletedとなっていて、その後sshdのエラーが出ています。
この時間帯には心当たりがあって、SSHクライアントで接続した時間だと思います。
その際、一度は接続成功し、ファイルの編集等はしていません。
数分後に新しいセッションを作成しようともう一度接続しようとしたところ、

エラー:          Connection reset by peer
エラー:          サーバーに接続できませんでした

のメッセージが表示され、その後接続不可能になりました。


追記2

/var/log/secure内にファイルオープンに失敗しているログを発見
イメージ説明


追記3
インストールDVDをアタッチしレスキューモードを起動しました。
ですが、ストレージが見つからずマウントできない状態です。

イメージ説明

イメージ説明

mount /dev /data
-> mount: you must specify the filesystem type
// -tオプションでext3など色々試しましたがエラー

mount none /data
// 上と同じ

mount /dev/loop0 /data
// マウントはできるが見覚えのないデータ

ストレージのスナップショットをとってデータディスクとして複製しアタッチしてみました。
これでdfの表示が増えるかと思ったのですが、変化なしでした。


追記4

レスキューモード起動後にfdisk -l /dev/vdaの内容です
イメージ説明

/rsqを作成しmount -t ext4 /dev/vda1 /rsqでvda1はマウントできますが、期待するファイルではありません。
イメージ説明

また、mount -t ext4 /dev/vda2 /rsqはマウントできません。
イメージ説明


追記5
pvchange -a yの結果です
イメージ説明

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

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 4

checkベストアンサー

+1

resque bootで既存システムがマウントされないというのは初めて見るケースです。しかし妙な話ですね。Linux partitionがないと?
不確かな回答で申し訳ありませんが、私であればこうする、という手順は以下の通りです。

(resque boot後)
bash-4.1# fdisk -l /dev/vda (disk情報確認)
(おそらく/dev/vda1がLinux(boot=*), /dev/vda2が / かLVMではないでしょうか)
/dev/vda2のSystemがLinuxであれば、/rsq を作りそこへマウントできないか試します。
/dev/vda2のSystemがLinuxLVMの場合、/dev/mapperを確認して、必要なlvをマウントできないか試します。どういうLV構成になっているのか解らないので何とも言えませんが、 / および /home/etc をコントロールできればかまいません。
マウントできたら/etcを戻し/etc/sysconfig/selinuxをdisabledにしてからrebootします。

fdisk -l /dev/vdaで確認した際にSystemがLinuxでなかった場合、私には打つ手がありません。物理マシンであれば、ブートローダつぶした上でHDD引っこ抜いて別のLinuxへ無理やりマウントした後データサルベージするのですが…
お力になれず申し訳ありません。少しでも参考になれば幸いです。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/11/28 15:17

    環境再現までして検証いただきありがとうございます!
    2行目のpvchange -a yで追記5の通りとなりAvailableにならないですね。

    キャンセル

  • 2018/11/28 15:18

    大変失礼、pvchangeでなくvgchangeです。

    bash-4.1# vgchange -a y

    申し訳ない。

    キャンセル

  • 2018/11/28 15:47

    無事にマウントでき、/home/etcを/etcへ移動後に再起動で無事復旧しました。
    以後、root権限の取扱には十分注意するよう戒めたいと思います。
    本当に助かりました、ありがとうございました!

    キャンセル

+1

止まったところでSSLのパスフレーズを入力してみるとか。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/11/22 16:36

    確認してみたところ、ひょっとするとディレクトリ構造がおかしくなっているかも知れません。
    /etcがルート直下に無く、/home/etcにあり、これが原因かも知れません。
    (/home/etc/passwd内にはsshdユーザーは存在しました)

    ですがレスキューモードでの起動に手こずっているので、
    https://teratail.com/questions/159719?modal=q-comp
    こちらが解決したら再度チェックしようと思います。

    キャンセル

  • 2018/11/22 17:33

    起動しなくなった原因があるはずです。
    直前に何かやっていると思いますけど心当たりは無いんですか?

    キャンセル

  • 2018/11/24 10:06

    新しいMac環境にクライアントソフト(FIlezilla)を移行・接続テストをしていました。
    1度は接続できたのですが、しばらくしてもう一度接続しようとしたらエラーとなり、サーバーを再起動したら起動できず、といった感じです。

    特に何かインストールしたりだとかはしていないのですが、ディレクトリの構造がおかしいところを見ると、誤操作で/etcを/homeへドラッグしてしまったのかも…?と感じています…

    キャンセル

0

私ならLivecdで起動して、既存のファイルシステムをマウントし、ログから起動しない原因を特定して対応って感じで進めますかね。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/11/21 00:50

    回答ありがとうございます。
    クラウド上でもLivecd起動はできるものなのでしょうか?
    ちょっと良くわからなかったので【追記】にあるようにシェルを起動できたのでそこからログを見てみました。

    キャンセル

  • 2018/11/21 07:14

    OS起動が成功しなかった時の起動時のログがみたいですね。
    cdboot出来るシステムならできると思います。出来ないシステムなら無理ですね。

    キャンセル

  • 2018/11/21 13:42

    具体的にどのログとかありますでしょうか?
    /var/log/messagesにはfatal: Privilege separation...が延々とあるだけで他にはありませんでした。

    http://mktktmr.hatenablog.jp/entry/2016/02/25/130821
    こちらを参考に、関係ありそうなものを見てみましたがバイナリだったり時間が書いていなかったりでよくわからず…
    一つ気になるもので、/var/log/secureにファイルオープンに失敗しているログを発見しました。(追記2)

    キャンセル

0

ご希望は[元の通りに起動できるようにするにはどうしたら良いか]ですが、
現状によって対応が変わってくると思います。まず

  • Switch rootで止まる
  • [cannot find user 'root'] とある
  • [privilege separation user sshd] = sshdユーザがいない

ということでユーザ回りに何かありそうです。
ひとまず、インストールメディアからbootして、resqueで起動して下さい。

resqueでの起動後、既存の/以下が/mnt/sysimageの下にマウントされた形になります。
cat /mnt/sysimage/etc/passwdに異常がないか確認して下さい。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2018/11/22 16:33 編集

    回答ありがとうございます。
    LiveCDからレスキューモード起動を試みていますがうまく行かず、別で質問を立てています。
    https://teratail.com/questions/159719?modal=q-comp
    レスキューモードで起動できたら確認してみたいと思います。

    キャンセル

  • 2018/11/24 10:00

    追記3の通り、自動でのマウントはできないようで、当然```/mnt/sysimage```は存在しませんでした。

    キャンセル

  • 2018/11/26 11:37

    Linux partitionがないと言われてますね。
    ```/dev```の下にストレージらしきものはありますか?(```/dev/sda```とかです)
    もしないのであれば、仮想マシンの設定を見直す必要があると思います。
    また、別の方への回答で```/home/etc```になっているとありますが、
    それはどのようにして確認したのでしょうか。

    キャンセル

  • 2018/11/26 16:02

    レスキューモードにて、/dev配下に色々あるのですが、それらしいものは```/dev/vda, /dev/vda1, /dev/vda2```が確認できます。

    また、```/home/etc```については、レスキューモードではなく、カーネルのオプション指定起動(インストールディスク等を入れていない状態で起動し、OS起動前にESCキーで開始できるやつ)にて、```init=/bin/sh```を指定しシェルが動く状態で確認しました。
    この状態でディレクトリのコピーや移動ができたらよいのですが、read onlyのエラーでできませんでした。

    キャンセル

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

  • ただいまの回答率 89.69%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる