CentOS7が起動しなくなったけど復旧した
先日、自前のサービスを運用しているさくらのVPSでCentOS7が起動しなくなっていたが、無事に復旧できたので備忘録として残しておきたいと思う。
※もともと記事にする予定はなかったので、省略したり曖昧だったりな箇所もあります
経緯
ある日いつのもように運用中のサービスを利用しようとしたところ、HTTPサーバーが応答しなくなったことに気づく。慌ててSSHで接続を試みたもののSSHサーバーも応答しない状況だった。
さくらのコンソールからVNCコンソールでVPSに接続したところ、CUIが真っ黒のままでいくら入力しても何も出力してくれない。何もしてないのに壊れた!
強制再起動を掛けたところ、Booting from Hard Disk...までは出力されるが、その後はやはりいくら入力してもCUIは真っ黒のままになる。
へんじがない…。ただの しかばねのようだ…。
ここでいろんな可能性が過ぎったが、メールを漁ってみるとさくらインターネットさんからこんなお知らせが来ていた。
内容を確認してみると、見事に該当サーバーを利用していてタイミングも被ってたので、藁にも縋る思いでさくらさんに問い合わせをすることに。
ぼく「こないだの障害でデータ吹き飛んじゃったかもです!状況確認おねがいできますか!」
さくらさん「お知らせの通りサーバーは既に復旧していますし、VPSは自分で管理するものなので自分で確認してください。」
ぼく「わかりました!(そっか、そういうものなのね...('o';))」
という感じのやりとりを経て、まだこちらで何かできる余地があるという貴重な情報を得たので、さくらの担当者さんが案内してくれた情報も参考に、復旧を試みることに。
復旧までの流れ
シングルユーザーモード
GRUBの出力すらないためレスキューモードへ
レスキューモード
- 公式から拾ったISOからブート→VNCコンソールを開く
- Troubleshooting→Rescure CentOS system
- Continue
- chroot /mnt/sysimageでコケる
- ls /mnt/sysimageしてみると空だし、前のほうでYou don't have any Linux partitionsと書いてあることに気づく
- めのまえが まっくらに なった!
この時点ではブートローダのGRUBがおかしくなった可能性もあると思ったので
# mount /dev/vda1 /mnt/devvda1
して、grub.cfgのserialなんちゃらの行を消してみる→grub2-mkconfigで作り直してみる→前回のカーネルアップデート時のcfgに戻してみる…など試してみたものの、GRUBの出力を得られることはあったがOSの起動には至らず。
結局OSが入っているパーティションのどこかで問題が起きている可能性があると思ったので、パーティションの修復を試みることに。
パーティション修復
1.パーティションを確認する
# fdisk -l
(略)
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 419430399 209202176 8e Linux LVM
(略)
2.LVMパーティションを利用可能にする(Rescure modeでは無効になっている)
LV Statusを確認
# lvdisplay | grep "Stat"
LV Status NOT available
LV Status NOT available
LV Status NOT available
Volume groupを有効化
# vgchange -a y
LV Statusを再度確認
# lvdisplay | grep "Stat"
LV Status available
LV Status available
LV Status available
# lvscan
ACTIVE '/dev/centos_*/swap' [<2.02 GiB] inherit
ACTIVE '/dev/centos_*/home' [147.49 GiB] inherit
ACTIVE '/dev/centos_*/root' [50.00 GiB] inherit
3.OSが入っているパーティションの修復を試みる
ダメもとでマウントしてみる
# mount /dev/centos_*/root /mnt/root
(具体的には忘れたけど失敗した旨のメッセージが返ってきた)
チェックを走らせてみる(xfs_checkなんてなかった)
# xfs_ncheck /dev/centos_*/root
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed. Mount the filesystem to replay the log, and unmount it before
re-running xfs_ncheck. If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.
must run blockget -n first
修復してみる
上記のエラー文言にも書いてあるように、-Lオプションは破損を引き起こす可能性があるようなので、一般的にはdd等でバックアップを取ってからやるほうが良いと思う(やるとは言っていない)
# xfs_repair -L /dev/centos_*/root
Phase 1 - find and verify superblock...
(中略)
done
いい意味で終わった・・?ようなので、これでレスキューモードを終えてVPSを起動をしてみたところ・・・
無事にCentOS7が起動した😭🙏🙇♂️🍻🎉
MacBook AirのWindows 8.1をWindows 10にアップグレードしてみた
表題の通りやってみたので、今後のためにメモを残しておきます。普段使ってるアプリケーションを簡単に使ってみましたが、いまのところ問題ない感じです。
追記(2016/05/20 0:57): Bootcampも生きています。
環境
PC: MacBook Air (13-inch, Early 2014)
https://support.apple.com/kb/SP700?locale=ja_JP&viewlocale=ja_JP
OS: Windows 8.1 (x64)
記録
18:58 Windows UpdateにてWindows 10をダウンロード開始(3GBくらいあった)
19:33 「インストールの準備をしています...」でしばらく止まってるので仮眠
19:55 起きたら「それでは、アップグレードを開始します」のウインドウが出ていたので「同意する」→「今すぐアップグレードを開始」と進める
20:04 再起動が掛かる。「Windowsをアップグレードしています。」の黒い画面になる
20:15 再起動が掛かる
20:19 50%到達
20:29 再起動が掛かる
20:30 75%到達
20:33 「Windows 10にようこそ!」の青画面が出る。「簡単設定」→「今は実行しない」→「次へ」と進める
20:36 「こんにちは」の画面が出る
20:38 Windows 10のデスクトップが表示される
Netbeansアップデート後のエラー対処法
Netbeans8.0から8.0.2にアップデートしたところ、IDE起動時に下記エラーが毎回出るようになったため対処方法をメモします。所感ですが、みんななる訳ではなく再現性はさほど高くないと思います。
エラー文言(長文)
警告 - 一部のモジュールをインストールできませんでした: org.eclipse.equinox.common - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-equinox-common.jar: Cannot start org.eclipse.equinox.common state remains INSTALLED after start() org.eclipse.core.runtime.compatibility.auth - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-core-runtime-compatibility-auth.jar: Cannot start org.eclipse.core.runtime.compatibility.auth state remains INSTALLED after start() org.eclipse.core.jobs - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-core-jobs.jar: Cannot start org.eclipse.core.jobs state remains INSTALLED after start() org.eclipse.equinox.registry - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-equinox-registry.jar: Cannot start org.eclipse.equinox.registry state remains INSTALLED after start() org.eclipse.equinox.app - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-equinox-app.jar: Cannot start org.eclipse.equinox.app state remains INSTALLED after start() org.eclipse.equinox.preferences - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-equinox-preferences.jar: Cannot start org.eclipse.equinox.preferences state remains INSTALLED after start() org.eclipse.core.contenttype - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-core-contenttype.jar: Cannot start org.eclipse.core.contenttype state remains INSTALLED after start() org.eclipse.core.runtime - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-core-runtime.jar: Cannot start org.eclipse.core.runtime state remains INSTALLED after start() org.eclipse.equinox.security - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-equinox-security.jar: Cannot start org.eclipse.equinox.security state remains INSTALLED after start() org.eclipse.mylyn.wikitext.core - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-wikitext-core.jar: Cannot start org.eclipse.mylyn.wikitext.core state remains INSTALLED after start() org.eclipse.mylyn.wikitext.textile.core - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-wikitext-textile-core.jar: Cannot start org.eclipse.mylyn.wikitext.textile.core state remains INSTALLED after start() org.eclipse.mylyn.wikitext.confluence.core - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-wikitext-confluence-core.jar: Cannot start org.eclipse.mylyn.wikitext.confluence.core state remains INSTALLED after start() org.eclipse.core.net - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-core-net.jar: Cannot start org.eclipse.core.net state remains INSTALLED after start() org.eclipse.mylyn.commons.core - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-commons-core.jar: Cannot start org.eclipse.mylyn.commons.core state remains INSTALLED after start() org.eclipse.mylyn.commons.repositories.core - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-commons-repositories-core.jar: Cannot start org.eclipse.mylyn.commons.repositories.core state remains INSTALLED after start() org.eclipse.mylyn.commons.net - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-commons-net.jar: Cannot start org.eclipse.mylyn.commons.net state remains INSTALLED after start() org.eclipse.mylyn.tasks.core - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-tasks-core.jar: Cannot start org.eclipse.mylyn.tasks.core state remains INSTALLED after start() org.eclipse.mylyn.commons.xmlrpc - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-commons-xmlrpc.jar: Cannot start org.eclipse.mylyn.commons.xmlrpc state remains INSTALLED after start() org.eclipse.mylyn.bugzilla.core - org.netbeans.InvalidException: Netigso: C:\Program Files\NetBeans 8.0\ide\modules\org-eclipse-mylyn-bugzilla-core.jar: Cannot start org.eclipse.mylyn.bugzilla.core state remains INSTALLED after start()
対処方法
1.userdir,cachedirを削除
IDE終了->対象ディレクトリ名を適当に変更->IDE起動します。Windows8.1の場合、対象ディレクトリは下記となります。
userdir
C:\Users\username\AppData\Roaming\NetBeans\8.0
cachedir
C:\Users\username\AppData\Local\NetBeans\Cache\8.0
参考URL
https://netbeans.org/bugzilla/show_bug.cgi?id=251120
http://stackoverflow.com/questions/16576754/netbeans-7-3-error-in-startup
http://wiki.netbeans.org/FaqWhatIsUserdir
すると、先ほどのエラーは出ないものの、プラグインや設定がなくなりバージョンも8.0に戻りました。これは同様の件で
http://stackoverflow.com/questions/16576754/netbeans-7-3-error-in-startup
But be careful it will erase all your IDE settings
とも書いてあり、userdirを消すとそうなるっぽいですね。今回は使うプラグインの関係で8.0.2にする必要があるため、作業前の状態に戻せることを確認して最後までやってみることにしました。
2.アップデートしなおす
「ツール>プラグイン」で更新と再起動を何回か繰り返し、ひととおりアップデートします。(15分くらいかかりました)
アップデート後、バージョンが8.0.2になりIDE起動時のエラーがでないことを確認します。
3.プラグイン入れなおしたり設定しなおしたり
プラグイン入れなおしたり設定しなおしたり。ぼくは覚えてる範囲でやって、あとは気づいた時にやることにしました。
4.完了
これで完了。今回は原因を深追いしても良いことなさそうですし、一応改善したのでこれで良しとしておきます。
環境
Windows8.1
Netbeans8.0.2