月別アーカイブ: 2020年8月

Twitterのプロテイン配布bot

Twitterで、フォローしているユーザのツイートの特定のワードに反応して、
リプライを送るbotの作り方について。

最近、Twitter、というかSNS全般に疲れを感じ、特に見なくなってしまったのだが、
そうなってくるとプロテインを配布する業務を自動化しないといけない。

マインクラフト用に作成したTwitterBot用アカウントが以前からあり、
先日マインクラフト用サーバを止めてしまい、仕事がなくなってしまったため、プロテイン配布の仕事を与えた。

続きを読む

CentOS7でbootできなくなったときの対処

自宅の環境ではKVM上でいくつかの仮想サーバが動いている。
仮想サーバのOSはCentOS7.8で、yum-cronを動かして放置していた。
先日、久しぶりにOS再起動をしたところ、OSが起動できなくなってしまった。
起動時のログを見ていると、以下のログが出ていた。

[    1.013801] List of all partitions:
[    1.015108] No filesystem could mount root, tried: 
[    1.016734] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    1.019481] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-1127.18.2.el7.x86_64 #1
[    1.022194] Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011
[    1.023881] Call Trace:
[    1.025034]  [<ffffffffb577ffa5>] dump_stack+0x19/0x1b
[    1.026803]  [<ffffffffb5779541>] panic+0xe8/0x21f
[    1.028402]  [<ffffffffb5d8b794>] mount_block_root+0x291/0x2a0
[    1.030085]  [<ffffffffb5d8b7f6>] mount_root+0x53/0x56
[    1.031749]  [<ffffffffb5d8b935>] prepare_namespace+0x13c/0x174
[    1.034253]  [<ffffffffb5d8b412>] kernel_init_freeable+0x222/0x249
[    1.036027]  [<ffffffffb5d8ab28>] ? initcall_blacklist+0xb0/0xb0
[    1.037817]  [<ffffffffb576e6b0>] ? rest_init+0x80/0x80
[    1.039407]  [<ffffffffb576e6be>] kernel_init+0xe/0x100
[    1.040978]  [<ffffffffb5792d37>] ret_from_fork_nospec_begin+0x21/0x21
[    1.042843]  [<ffffffffb576e6b0>] ? rest_init+0x80/0x80
[    1.044603] Kernel Offset: 0x34000000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)

rootのファイルシステムがマウントできず、カーネルパニックを起こしているらしい。
調べてみた結果、yumとかで新しいカーネルバージョンにアップデートされると、
上記のエラーメッセージが出て、できなくなることがあるらしい。
対処としては、OS起動時にカーネルバージョン選択画面が出てくるので、
古いカーネルバージョンを指定して起動してあげれば起動できるようにはなるらしい。

さて、それはわかったが、KVMだとそれをどうやればいいんだろうということだ。
GUI環境がまったくなく、起動時にカーネルバージョンを指定することができない。
KVMのコマンドでカーネルバージョンの指定をする方法等調べてみたが、
その方法は見つけることができなかった。

直接bootの設定ファイルを書き換えて対処できないかと思考錯誤してみて、対処できたので、その方法をまとめる。

続きを読む