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

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

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

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

Q&A

解決済

4回答

6526閲覧

centOSを起動できない

midomurasaki

総合スコア46

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

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

0グッド

0クリップ

投稿2018/11/20 09:54

編集2018/11/28 06:14

環境は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の結果です
イメージ説明

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

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/27 01:27

mishura

総合スコア67

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

midomurasaki

2018/11/27 11:16

引き続きありがとうございます! fdiskの結果、Linuxドライブとしては見えていそうです。 vda2がLVMのようですがマウントはできないです。(追記4) /dev/mapperにはcontrolというファイルが一つあるのが確認できましたが、これをどうしたら良いでしょうか?
mishura

2018/11/28 03:00

同じように/etcを/homeへmvしてresqueでbootしてみたところ、こちらの環境でも/dev/mapperがおかしくなりました。 回復させるために、以下の通り実行しました。 bash-4.1# lvdisplay | grep "LV Status" (NOT Availableがいくつか出る) bash-4.1# pvchange -a y bash-4.1# lvdisplay | grep "LV Status" (すべてAvailableになる) bash-4.1# ls /dev/mapper control vg00-lv01 vg00-lv02 ... (LVが認識されている) 必要なディレクトリをmkdirで作成 bash-4.1# mount -t ext4 /dev/mapper/vg00-lv00 DIRECTORY これでマウントできました。一度お試しいただいた上で、結果をお知らせ頂けますでしょうか。
midomurasaki

2018/11/28 06:17

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

2018/11/28 06:18

大変失礼、pvchangeでなくvgchangeです。 bash-4.1# vgchange -a y 申し訳ない。
midomurasaki

2018/11/28 06:47

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

0

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

投稿2018/11/20 10:52

shozi3

総合スコア691

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

midomurasaki

2018/11/20 15:49

回答ありがとうございます。 パスフレーズを受け付けているのかどうか画面上よくわからず(打ち込んでも何も表示されずEnterを押しても何も起こらず)、そもそもパスフレーズがわからず(設定した記憶もない)にいます。
shozi3

2018/11/21 22:21

Privilege separation user sshd does not exist (特権分離用のユーザ sshd が存在していない)について調査しましたか? /etc/passwd を確認してください。
midomurasaki

2018/11/22 07:36

確認してみたところ、ひょっとするとディレクトリ構造がおかしくなっているかも知れません。 /etcがルート直下に無く、/home/etcにあり、これが原因かも知れません。 (/home/etc/passwd内にはsshdユーザーは存在しました) ですがレスキューモードでの起動に手こずっているので、 https://teratail.com/questions/159719?modal=q-comp こちらが解決したら再度チェックしようと思います。
shozi3

2018/11/22 08:33

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

2018/11/24 01:06

新しいMac環境にクライアントソフト(FIlezilla)を移行・接続テストをしていました。 1度は接続できたのですが、しばらくしてもう一度接続しようとしたらエラーとなり、サーバーを再起動したら起動できず、といった感じです。 特に何かインストールしたりだとかはしていないのですが、ディレクトリの構造がおかしいところを見ると、誤操作で/etcを/homeへドラッグしてしまったのかも…?と感じています…
guest

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 02:21

mishura

総合スコア67

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

midomurasaki

2018/11/24 00:58 編集

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

2018/11/24 01:00

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

2018/11/26 02:37

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

2018/11/26 07:02

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

0

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

投稿2018/11/20 10:24

scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

midomurasaki

2018/11/20 15:50

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

2018/11/20 22:14

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

2018/11/21 04:42

具体的にどのログとかありますでしょうか? /var/log/messagesにはfatal: Privilege separation...が延々とあるだけで他にはありませんでした。 http://mktktmr.hatenablog.jp/entry/2016/02/25/130821 こちらを参考に、関係ありそうなものを見てみましたがバイナリだったり時間が書いていなかったりでよくわからず… 一つ気になるもので、/var/log/secureにファイルオープンに失敗しているログを発見しました。(追記2)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問