新・鍋でもうだうだ

2017-09-11

[] FreeNASディスク交換 00:22

ESXi6.0でRDM(Raw Disk Mapping)でHDD4つをVMとして起動しているFreeNAS9.3に接続して利用していました。

ディスク交換の手順は以下の通り。

  1. vSphere ClientでVMインスタンスをすべて停止する
  2. vSphere ClientでESXiをメンテナンスモードにしてシャットダウンする
  3. ディスクを交換する
  4. ESXiを起動する
  5. ESXiにSSHで接続する
  6. /vmfs/devices/disks/ からt10.で始まり、HDDのシリアルで終わるデバイスのパスを控える
  7. vmkfstools -z /vmfs/devices/disks/(控えたパス) /vmfs/volumes/(ESXiのデータストア)/(仮想マシン名)/(任意のHDDデバイス名).vmdk
    • この時は vmkfstools -z /vmfs/devices/disks/(控えたパス) /vmfs/volumes/VM-Store/FreeNAS/WD30EFRX_1.vmdk としました
  8. vSphere ClientでESXiのメンテナンスモードを解除
  9. vSphere ClientでVMの設定を編集して、上記で作成した (任意のHDDデバイス名).vmdk を接続する
    • この時交換するディスクを削除して、同じ仮想デバイスノードに接続する
  10. FreeNASのVMを起動(祈る!)
  11. 数分待ってから、FreeNASの管理画面にアクセスする
  12. アラートで「警告: The volume pool0 (ZFS) state is DEGRADED: One or more devices could not be opened. Sufficient replicas exist for the pool to continue functioning in a degraded state.」といった表示がされるはず
  13. ストレージタブからアラートに表示されているボリューム(ここではpool0)を選択して、下部アイコン一番右の「ボリュームのステータス」を表示
  14. 交換したディスクのステータスがUNAVAILになっているので選択して、下部からReplaceを実行する
  15. これでリシルバが始まり「Resilver 状態: 処理中」といった表示がされます

うちのNASは8TBほどですが、8〜10時間ほどで終わると思います。

参考

2017-09-10

[]自宅サーバ(ESXi6)が落ちる現象の解決 23:21

自宅のESXiサーバが突然落ちるようになったので、対処した内容をメモ。

状況

推測

  • FreeNASで使っているHDDでいきなりアクセスエラーが出てインスタンスが落ちた
    • 他インスタンスも引きずられた?

冷静になってvSphre Clientからイベントログ見てみた

  • VM用ストレージが切断されたエラーログが出ている
  • VMがログを出力できないエラーが出ている

どう考えてもVM用ストレージの異常です。過去の症状考えるとSATAケーブルの接続不良な気がする。

対処

  • VM用ストレージのSATAケーブルを挿しなおして、パーマセルテープで固定
  • エラーが出ているFreeNAS用ストレージを交換(WD赤買ってきた)

2013-12-11

[]FreeNASバージョンアップでハマったのでメモ。 03:51

FreeNASを8.2.0から9.1.1にアップデートしてみました。

USBにimgファイルddして起動していたので、同じように9.1.1のimgファイルをddして起動したら既存ディスクインポートできない……。

以下の手順でインポートしないとダメらしい。

シェルから以下のコマンドを順番に実行する。

# zfs set mountpoint=/mnt/(プール名) (プール名)

# zfs mount -a

# zpool import -f (プール名)

この時点でシェルからはディスクの内容が見えるようになるが、WebGUIから見えないしインポートもできない。

とりあえずzpoolのアップグレード

# zpool upgrade (プール名)

WebGUIから読み込めるようにするためにはzpool exportしないとダメだった。

# zpool export (プール名)

これでWebGUIからストレージ自動インポート、で取り込むことができる。

(起動用USBを何気なく上書きで作ってたから超焦ったなんて言えない……)

2013-11-10

[]VPS上のMySQL & Apacheのチューニングその3。 20:44

VPS上のMySQLのチューニング。 - 新・鍋でもうだうだ

VPS上のMySQLのチューニングその2。 - 新・鍋でもうだうだ

VPS上のMySQLのチューニングその3。 - 新・鍋でもうだうだ

激安VSP上でWordPressを運営しているとまあよく落ちるわけですが、やっと原因特定できたっぽい。

他のAWSのmicroサーバとかでもMySQLが原因で落ちることがよくあるみたいだったから、その線で調べていたけれど実はMySQLだけじゃなく、Apacheにも原因があったという罠。

<IfModule prefork.c>
StartServers       5
MinSpareServers    5
MaxSpareServers   10
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  4000
</IfModule>

<IfModule prefork.c>
StartServers       4
MinSpareServers    4
MaxSpareServers   8
ServerLimit      32
MaxClients       32
MaxRequestsPerChild  500
</IfModule>

に修正しました。

上から順番にこんな設定

  • 起動時の初期プロセス数
  • 最低待機プロセス数
  • 最大待機プロセス数
  • 最大プロセス数(再起動反映)
  • 最大プロセス数(リロード反映、違いがわからん)
  • プロセスを作り直すリクエスト回数

個人ブログで同時アクセス32なんて行かないだろうからこんなもんで十分かと。

MySQLももう少し見直しました。

max_connections=40

だけ指定していましたが、

innodb_buffer_pool_size=8M
innodb_log_file_size=5M
max_connections=40

こんな感じになりました。

2013-11-01

[]Macbook Pro 13.3 Retina Late 2013 ゲットしました。 02:39

ずっと新しいノートPCが欲しいと騒いでいましたが、結局MBPRにしました。今までMacOSには触れてこなかったので経験がてらということで。

しかし、だいぶ勝手が違うのでまだまだ操作がたどたどしいですw ブログとか読み漁っておすすめアプリとか入れてますが、メインのエディタが決まらない......どうしようかね。


[]VPS上のMySQLのチューニングその3。 02:35

VPS上のMySQLのチューニング。 - 新・鍋でもうだうだ

VPS上のMySQLのチューニングその2。 - 新・鍋でもうだうだ

どうもやっぱりプロセスが落ちるので再度メモリ消費を調整。

mysqld --verbose --help

にて設定されている値がわかるらしいので、前回までに設定した値をすべて削除してデフォルト値を確認してみた。どうやら設定した値よりも少ない値が設定されているようで、わざわざ設定する必要がなかったみたい。

ただし、max_connectionsだけは151とかなり大きい数字だったので、40程度に指定しておいた。

最終的に追記した設定はぐっとシンプルになって

max_connections=40

のみとなりました。今のところは無事に動いている様子。しかしなんだかレスポンスが悪くなった気がするんだよなぁ......。

2013-06-25

[]VPS上のMySQLのチューニングその2。 07:36

VPS上のMySQLのチューニング。 - 新・鍋でもうだうだ

前回、メモリの少ないVPS上でMySQLが不定期的に落ちてしまう現象を解決するためにバッファサイズの調整を行いましたが、やっぱり落ちるのでもう一度調整。

[mysqld]

innodb_buffer_pool_size=256M

innodb_additional_mem_pool_size=20M

sort_buffer_size=2M

read_rnd_buffer_size=512K

join_buffer_size=256K

read_buffer_size=1M

key_buffer_size=64M

どうせ大したアクセスは発生しないのでinnodb_buffer_pool_sizeを256MBまで低減。

確認はMySQL再起動後に

mysql> show variables;

で該当箇所が設定した値になっていればOK。

これでもう一度様子見。