前々から準備していて、いよいよ新しく契約を追加してリストアするぞ! と思ったらできませんでしたので顛末を記す。敗戦は惨め。

Ubuntu 12.04 で生成

バックアップをとったサーバは大阪リージョン、HDD 100GB メモリ1GB (さくらのVPS(v3) 1G) です。

sudo mondoarchive -O -i -N -d /tmp/backup -s 30g

こんな感じで生成しました。HDD 100GB ですが Used: 12GB です。

$ mondoarchive -v 
mondoarchive v3.2.2-r3578

$ uname -a
Linux stfuawsc.com 3.2.0-88-generic #126-Ubuntu SMP Mon Jul 6 21:33:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

さくらのVPSで復元する

東京リージョン、SSD 30GB、メモリ 1GB プランを申し込みました。お試し期間での操作です。

VPSのコントロールパネルに行き、該当するホストの「OSインストール」から「ISOイメージインストール」を選択します。

公式のサポート情報を見ながら sftp でアップロードします。

元々さくらのVPS 上で mondo のイメージを作っているので旧サーバから直接 sftp しました。だいたい 10MB/s ぐらいでコピーできました (80Mbps)。

$ sftp user@xxxx.sftp.sakura.ad.jp:/iso
$ put /tmp/backup.iso
$ bye

これでインストールを開始します。VirtIO はオンでもオフでも関係ないようでしたので無視します。

このあと、まず Mondo Rescue のブートローダが起動します。nuke とか interactive とか選択できる画面です。まぁ何を入力しても、その後 Linux のブートで死にます。

initrd.img をロードしたあと、スタックトレースと共に Fixing recursive fault but reboot is needed というメッセージがでてしばらく止まり、再起動したあとに再度スタックトレースが出て止まります。

原因を探すために

VNC コンソールだとログが流れてしまって原因がわかりません。スタックトレースの最後だけ表示されてる状態です。これではどうしよもないので以下のようにしました。

ブートオプションにシリアルポートの設定を加えます。

boot: interactive console=ttyS0,115200n8

これで起動直後に VPS の管理画面から「シリアルコンソール (β版)」を起動しておきます。boot ローダが表示されているときにやればよさそうです。これでカーネルメッセージが全てシリアルコンソールのほうに出るようになるので、ログの履歴が辿れるようになります。

原因

以下のようなカーネルパニックでした。ググっても解決しそうな情報がありませんでし た。BUG で明示的に死んでるなのでカーネルに問題がありそうですがよくわかりません……

なおブートオプションに acpi=off とか ramdisk_blocksize=1024 をつけても無駄でした。

[    0.071064] Trying to unpack rootfs image as initramfs...                    
[    0.072286] BUG: unable to handle kernel NULL pointer dereference at 00000000
00000008                                                                        
[    0.074357] IP: [<ffffffff811a4c76>] __mark_inode_dirty+0x186/0x2a0          
[    0.076004] PGD 0                                                            
[    0.076004] Oops: 0002 [#1] SMP                                              
[    0.076004] CPU 0    

露頭に迷う

とりあえず申し込みを即日キャンセルして対策を考えています。

  • Mondo Rescue のカーネルバージョンを変える?
    • Mindi のカーネル? わからない → Mindi は実行中システムのカーネルをデフォルトで使う。システムにまずインストールされていないとカーネルを変えられない
  • そもそも Mondo 使うのをやめてイチからセットアップする?
    • そんな気力はない…

備考:シリアルコンソール(β版)

スクロールするとDOMの内容が全て入れ替わるためコピペが異常にやりにくい…… そして使ってる JS のオブジェクトが関数スコープで閉じているので Developer Console からも手が出せずめんどうくさい。

備考:さくらのVPSのVNCが繋げないとき

ISO インストール前に管理画面を一旦リロードしないと、VNC がちゃんと開けない。

正確にはマシンの強制停止をしたあと、リロードしたあと再度起動させると VNC が開けない? っぽい。よくわからんけど小まめにリロードしたほうが安心。これだから SAP は……

  1. トップ
  2. tech
  3. さくらのVPSにMongo Rescueのリストアができなかった (未解決)
▲ この日のエントリ