Mastodonインスタンスを動かしてみたい(1)


さくらのVPSで自分用Mastodonインスタンスを立てるまでのYak Shavingの記録…になるはずだが、まだ途中。

改めて見たらUbuntuのバージョンが14.04で古すぎたので、まず16.04にアップグレードするところから始める。
ディストリビューションアップグレード中にぶっ壊れるのは怖いので、まずはバックアップを取る。

これを参考にMondo Rescueでバックアップを取ることにする。
ただ、/etc/apt/sources.list.d/mondorescue.sources.listを追加してsudo apt-get updateしたところ、公開鍵が見つからないようで以下の警告が出る:

W: GPG error: ftp://ftp.mondorescue.org 14.04 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6BA8C2D220EBFB0E

検索してみたところ、Mondo Rescueメーリングリストで以下のやりとりを発見。
[Mondo-devel] [OT?] New keys for debian repository…

書かれている通り、以下の鍵を追加して解消。

gpg --recv-keys 8AB63AFD171EFF9E
gpg -a --export 8AB63AFD171EFF9E | sudo apt-key add -
gpg --recv-keys 6BA8C2D220EBFB0E
gpg -a --export 6BA8C2D220EBFB0E | sudo apt-key add -

無事Mondo Rescueがインストールできたので、早速バックアップを試みる。

sudo mkdir /backup
sudo mondoarchive -Oi -L -s 50G -d /backup -E /backup -S /tmp -T /tmp -p backup-20170417

途中で以下のエラーが出てバックアップが失敗する。

Mindi failed to create your boot+data disks.
Fatal error... Failed to generate boot+data disks
---FATALERROR--- Failed to generate boot+data disks
If you require technical support, please contact the mailing list.
See http://www.mondorescue.org for details.
The list's members can help you, if you attach that file to your e-mail.
Log file: /var/log/mondoarchive.log
Mondo has aborted.

ログファイル(/var/log/mondoarchive.log)を見たら、ディスクが足りない…?
HDD容量はまだガラガラのはずだけども。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
(略)
/dev/vda1        96G  7.3G   84G   9% /
(略)

調べたところ、足りてないのはHDD容量ではなく、MindiのRAMディスクの容量らしい。
[Mondo-devel] no space left on device error – mindi

Mindiの設定ファイル/etc/mindi/mindi.confで大きめのサイズを指定する。何回か失敗したが結局以下のサイズで成功。

EXTRA_SPACE=320152      # increase if you run out of ramdisk space
BOOT_SIZE=80960

先ほどと同じバックアップコマンドでバックアップが始まったが、長時間かかる中でSSH接続がタイムアウトしてしまい、接続切断に巻き込まれてmondoarchiveコマンドが終了させられてしまった。
改めて、途中で切れても大丈夫なようにtmuxでセッションを作り、その中で実行する。Ctrl-B dでセッションからdetach。数時間待って再度tmux attachでセッションに入って結果を確認。今回は成功。
Transmitで手元のMacにダウンロードする。

今日はここまで。

Leave a Reply

Your email address will not be published. Required fields are marked *