ansible実行効率化†
不要なダウンロードを削る†
- rw-r--r--. 1 root root 6142197 8月 16 07:59 apache-tomcat-6.0.18.tar.gz
- rw-r--r--. 1 root root 118543435 8月 16 08:14 solr-4.1.0.zip
- rw-r--r--. 1 root root 996444 8月 16 08:28 mysql-connector-java-5.1.42-bin.jar
- rw-r--r--. 1 root root 8042383 8月 16 08:48 apache-maven-3.3.3-bin.tar.gz
- rw-r--r--. 1 root root 9375265 8月 16 08:48 apache-tomcat-8.5.13.tar.gz
- rw-r--r--. 1 root root 63124132 8月 16 08:53 jenkins.war
- rw-r--r--. 1 root root 413172 8月 16 08:53 pukiwiki-1_5_0_utf8.zip
- rw-r--r--. 1 root root 6773205 8月 16 08:54 wordpress-4.2.2-ja.tar.gz
- rw-r--r--. 1 root root 747520 8月 16 08:54 phpPgAdmin-5.1.tar.gz
- rw-r--r--. 1 root root 9368791 8月 16 08:55 phpMyAdmin-4.4.12-all-languages.tar.gz
- rw-r--r--. 1 root root 1509582 8月 16 08:55 cakephp-2.8.5.tar.gz
- rw-r--r--. 1 root root 67523890 8月 16 09:00 gradle-4.0-bin.zip
- rw-r--r--. 1 root root 10177671 8月 16 09:01 liquibase-3.4.2-bin.zip
ansible 2017年度版実行状況†
AWS | 〇 | |
Azure | 〇 | |
Sakura | 〇 | |
Kagoya | 〇 | 所要時間30分。mvn compileで固まる |
GMO | 〇 | |
VMware on MACBook 2013 | 〇 | 時間かかるけど |
- 2Gだとzabbix,jenkins(100M),elasticsearch(1G),sonar(1G),kibana,td-agent(100M)はあきらめろ。特にelasticsearchとsonarqubeがlessも使えないほどメモリを食う
cron 空白時間帯†
JavaがDNS固定なので0分以後に作業してDNS切り替えを確認すること!
実質土日00から15分の間しかできぬ!23時以降ならとまっているので00分にこだわらんでもOK
0,20,40 | 道路情報(HPの更新は05,20,45なのでずらし検討) |
0,15,30,45 | 道路情報jpeg |
0,15,30,45 | 株式情報5時に終了して7時に開始。更新間隔は10分未満・・ |
0,30 | 鉄道情報。4-23まで |
毎時20分 | 空室情報、10-24まで |
13:30 | スキーエリア情報 |
結論毎時00-15か45-00までが一番あいている時間帯。
株式情報が止まっている土日であれば40分でも作業可能。
jpegも20分単位にできないか見直す。
Azureの書き込みがある場合は、そろそろ15分ではきつくなって来た。
Azure同士だと30分は必要で段階移行必須。A4にして実施したけどもやはり15分ギリギリ。I/Oが遅い!
Ansible移行手順†
- さくらの場合はsecureタスク実施後、PermitRootLogin noをyesに変更する必要がある。
- secure
- setup
- apps(maven以外はなくてもOK)
- myapps
- cron
- 移行元でS3へバックアップ
- recover(--tags=prepare,web,mysql のち postgres,svn)
- migrate(間に合わなかった場合個別DB移行)
- 起動確認を忘れて取り逃がしが過去頻発しているので注意。
移行元手作業(なくしたいが、今のところレアなので)†
- wordpressの接続先を新サーバーに
- toolsはいったんそのまま(cronもあるので)
移行先手作業†
- toolsを旧サーバーに向ける(デフォルトをリモートへ)
- 移行後にlocalhostに戻す。
移行定番作業 時間差DB移行†
ansible taskにしたのでそちらを利用せよ。DBを指定して一度にexportとimportを実施できる。
移行元†
mysqldump -u root -p cakephp | gzip > cakephp.sql.gz
scp cakephp.sql.gz NEW_SERVER:/var/tmp
移行先†
drop database cakephp
create database cakephp default charset utf8;
mysql -u root -p cakephp < /var/tmp/rooms.sql
アプリの接続先をlocalhostに変更する†
移行に必要な時間†
azureは移行元でも時間がかかるし、移行先にしても時間がかかる。(体感ではSakuraVPSの5倍!)azure同士の移行だとまず15分に収まらないので注意。
(db+svnのインポートで12分で時間オーバー!エクスポートも5分は見ておく!)
残作業†
- KAGOYA不正アクセスログをスナップショットから復元
- Jarticをいい加減バックアップとAnsible化
- その他必要なものバックアップして4月後半までにsakuraリニューアルさせたい。
Ansible対応状況†
CentOS 6 さくらのVPS | セットアップ完了。DBの移行断念 |
CentOS 6 nagoya VPS | セットアップ完了。DBの移行断念 |
Azure OpenLogic CentOS 7.1 | セットアップ完了。移行も完了 |
Azure OpenLogic CentOS 7.2 | セットアップ完了。Sonhrqube以外OK |
さくら CentOS 7.2 | セットアップ完了。セットアップタスクが5分程度(ほか14-15分)で終わるので、一番早い! |
KAGOYA CentOS 7.0 | セットアップ完了。TybeBだとセットアップ5分、リカバー2分で終わる |
チェックリスト†
- 認証周りがキチンとされているか?(管理画面に入ること)
- 旧コンテンツ(blog/techmemo)やwikiのリダイレクトが完璧であること。
- アクセス制限が移行されていること
postgresのユーザーに権限付与(シーケンスリード権限がなかった)†
GRANT ALL ON テーブル名 TO ユーザー名;
GRANT ALL ON シーケンス名 TO ユーザー名;
cron移行周りのはまり(現在進行中)†
- さくらでaws configureの内容が見えてない。翌日cron経由だと動かなくて発覚。
→単なる設定ミス。
aws s3 lsで設定の確認をすること
/etc/cron.daily/s3_backup.shがさくらだけ上記のエラーがでる。
5分ごとに実行だとでないのに!
wordpressのサブディレクトリからサブドメインへ移行†
- http://blog.shun-ichiro.com/howto/move-wordpress/
各VPSの特徴†
さくらのVPS†
カスタムOSを入れるときはChromeじゃないと操作できない致命的な欠点はあるが、性能は一番安定している。スナップショットが取れないのがいまどき時代遅れ感。
Azure†
IOが遅い。あとOpenLogicのCentOS7.1を使っているが、それ以外に変えると不具合出たりしてこまったもんだ。
Kagoya VPS†
最初は何も入ってなくて苦労したけれども、ノウハウをためていくうちにAzureよりセットアップが早いので利用しまくり。スナップショット機能がお気に入りだ。
ただし保証メモリが1Gなのでメモリ不足は一番陥りやすい。
さくらのクラウド†
最低ランクだと起動までに時間がかかる(体感できるほど)。セットアップは最低ランクでもAzure以上!
現実的な2Gのプランだとセットアップは5分。移行タスクは6分で完了優秀。
Counter: 5657,
today: 1,
yesterday: 2