commentTweetPocket別にVagrantに限った話ではないけど。Vagrantでprovisionする時にkdumpを起動しているのだが、VMのメモリサイズが1GBになっているようなVMだとそれが失敗していた。原因と対策について整理しておく。以下のようなVagrantfileでVMを起動するとする。SHELLend手元に作る環境なので、productionとは異なりメモリサイズを小さくしておく、ということは十分に有り得る。upすると以下のようになりprovisioningに失敗する。wrong.原因このログからではよくわからないので、VMにログインして状況を確認する。kernel」と表示されている。これは、メモリをkdump用に割り当てたいが、VMのメモリサイズが不足していて割り当てられないというエラーのようである。このページの手順2.1によると、割り当てるメモリの量は/etc/default/grubを見れば分かる。実際に見てみるとcrashkernel=autoとなっている。autoの場合は予約するメモリサイズが自動的に設定される。いう値になるかはこのページに書かれており、また、自動設定に必要な最小メモリサイズの情報がこのページに書かれている。後者を見ると、x86_64の場合は2GB必要であるということが分かる。して、以下が挙げられる。VMのメモリサイズを2GB以上にするcrashkernelの値を変更し、固定値にするてっとり早いのはメモリサイズ変更だが、kdumpのためだけに2倍のメモリを使うというのはなんだかしゃくである。crashkernelの値を変更して、固定値にする方法を採用する。手動で変更する場合はここの手順通りに作業を進め、crashkernelの値を128Mにして再起動すればよい。Vagrantの場合再起動した後にkdumpを起動する必要があるため、ややこしい。そこで、aidanns/vagrant-reloadを使う。これはprovisioningの途中でVMを再起動して、その後のprovisioningをやってくれるというvagrantのプラグイン。Vagrantfileを以下のように修正してやる。upするとちゃんとVMが再起動し、sshで再度接続して次のprovisioningに進んでいることがわかる。doprovisioningする度にVMを再起動するので時間が伸びるのがデメリット。迷ったら「スティール・ボール・ラン」を読め。