適切なIAMロールが付与されている or aws configureしたサーバでcrontabに以下を入れておく
# stop-instances 00 18 * * * aws ec2 stop-instances --instance-ids i-hogehoge
適切なIAMロールが付与されている or aws configureしたサーバでcrontabに以下を入れておく
# stop-instances 00 18 * * * aws ec2 stop-instances --instance-ids i-hogehoge
さくらのクラウドの「マイアーカイブ」からサーバ立てたらIPは衝突するわresolv.confは書き換えられるわでハマった。
例えば、スイッチ配下のインナーネットワークの端末のifcfg-eth0に
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes GATEWAY0=192.168.1.100 NETMASK=255.255.255.0 IPADDR0=192.168.1.101
みたいにセカンダリありきの書式で設定してしまっていると(CentOS7の例)、アーカイブから起動するときに「ディスク修正」で
GATEWAY=192.168.0.100
IPADDR=192.168.1.102
で書き換えを指定したとき
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes GATEWAY0=192.168.1.100 IPADDR0=192.168.1.101 GATEWAY=192.168.1.100 PREFIX=24 DNS2=210.188.224.11 IPADDR=192.168.1.102 DNS1=210.188.224.10
みたいになって、アーカイブ元のIPが生きたままになってしまい、既存サーバ群と衝突する(衝突した……)
ネットワークの設定をカスタマイズしている場合、そもそもディスクの修正機能は利用するべきではない。
逆にクラウドで運用するメリット(スケールのしやすさなど)を享受するためには、できるだけクラウド提供側の設定を遵守すべき。
メモまで。
さくらのレンタルサーバの[サイトに関する設定]-[ドメイン設定]で
マルチドメインとして使用する(推奨)
を選択している場合
http://hogehoge.jp/
http://www.hogehoge.jp/
は同一のHTTP_HOSTとして扱われる模様
→http://www.hogehoge.jp/ でアクセスしても、%{HTTP_HOST}はhogehoge.jp(wwwがない)。
.htaccessでwww.hogehoge.jpにアクセスに来たらhogehoge.jpに301リダイレクトしたいとき、
RewriteEngine on RewriteCond %{HTTP_HOST} ^(www\.hogehoge\.jp)$ [NC] RewriteRule (.*) http://hogehoge.jp%{REQUEST_URI} [R=301,L]
では動いてくれない。
MySQLでレプリケーションするとき、間違ってスレーブを更新してしまわないよう、スレーブのmy.cnfに
[mysqld] (省略) read_only
を追記してる例を見た。今までやってなかった。slaveでupdateが無くもない人生なので、今後つけるかどうか検証
nippondanji.blogspot.jp
”スレーブを参照専用にするには、my.cnfファイルでread_onlyオプションを指定しておくと良い。read_onlyを指定しておけば、SUPER権限のないユーザは更新が出来なくなる。”
「SUPER権限を持つアカウント以外の更新クエリーは実行できなくなる」はず
SUPER権限のあるユーザでやってしまえば更新処理ができちゃうけど、習慣としてはつけておくべき、とのこと。
ただ、フェイルオーバーを考えると、read_onlyはつけない方向で。
(Masterが死んだとき、hostsの向き先変更だけでSLAVEに書き込み開始したい)
■SUPER権限って?
→SUPER権限の有無は以下で確認可能
mysql> SELECT user, Super_priv FROM mysql.user ; +-----------+------------+ | user | Super_priv | +-----------+------------+ | root | Y | | mysql.sys | N | | repl | N | +-----------+------------+
→replはレプリケーションユーザだけど、必要ないの?
MySQL :: MySQL 5.6 リファレンスマニュアル :: 17.1.1.3 レプリケーション用ユーザーの作成
”レプリケーションの目的にだけアカウントを作成する場合、そのアカウントには REPLICATION SLAVE 権限だけが必要です。”
ということらしい。
Super権限じゃないユーザを作成
GRANT ALL PRIVILEGES ON `testdb`.* TO 'nosuper'@'localhost' IDENTIFIED BY 'パスワード';
FLUSH PRIVILEGES;
# マスターにnosuperユーザでログインし、insert
→insertできた
# スレーブにnosuperユーザでログインし、insert
→ERROR 1290 (HY000): The MySQL server is running with the --read-only option so it cannot execute this statement
→マスタでinsertした値はレプリケーションされている。
Wordpressのサイトが
データベース接続確立エラー
とか
Error establishing a database connection
とか言ってきた。
サーバに入ってMySQLのプロセスを確認
ps aux | grep mysql
→ない。
→ログ確認
/var/log/messages
May 22 14:46:25 hogehoge kernel: [36271139.069945] php-fpm-5.5 invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0
cat /var/log/messages | grep Killed
May 22 14:46:25 hogehoge kernel: [36271139.527800] Killed process 2559 (mysqld) total-vm:2066588kB, anon-rss:761800kB, file-rss:0kB
MySQLがoom-killerにより落とされた模様。
【参照】
http://hacknote.jp/archives/8356/hacknote.jp
強制終了プロセスの優先順位を以下の様にすることで
mysqlは殺されないようになる
vi /srv/bin/oom_update.sh
#!/bin/sh # down mysql score mysql_pid=`cat /var/run/mysqld/mysqld.pid` if [ "$mysql_pid" != "" ]; then echo "-17" > /proc/${mysql_pid}/oom_adj else echo "can't get pid number" fi
chmod +x /srv/bin/oom_update.sh
/srv/bin/oom_update.sh
# 確認
dstat --top-oom
--out-of-memory--- kill score php-fpm: pool 52
公式ウェブサイト
support.g-technology.com
ダウンロードタブから、「G-RAID Removable Utility」をDLしてinstall
ソフトウェアおよびファームウェアのダウンロード | G-Technology
解凍して実行
RAID1に変更
警告に[はい(Y)]
完了。
以上でRAID1化完了です。
あとは、WindowsPCなら[管理ツール]-[コンピュータの管理]-[ディスクの管理]で割り当てて利用可能。
【その他マニュアルなど】
support.g-technology.com
以上
1)(WindowsPCで)ラズパイ用CentOS7のイメージをDL、SDカードに書き込み
2)CentOS起動+ログイン
3)初期設定
4)ディスクスペースの拡張
https://buildlogs.centos.org/centos/7/isos/armhfp/
より、RaspberryPi2用パッケージ
CentOS-Userland-7-armv7hl-Minimal-1611-test-RaspberryPi2.img.xz
をDLし、解凍します。
→CentOS-Userland-7-armv7hl-Minimal-1611-test-RaspberryPi2.img
109キー日本語レイアウトのキーボードの設定をします。
localectl set-keymap jp106 localectl set-keymap jp-OADG109A ##System Localeを変更もしておきます localectl set-locale LANG=ja_JP.utf8 ##localectlで確認 localectl #System Locale: LANG=ja_JP.utf8 # VC Keymap: jp-OADG109A # X11 Layout: jp # X11 Model: jp106 # X11 Options: terminate:ctrl_alt_bksp
ルート領域をSDカードいっぱいまで拡張したい
cat /root/README
== CentOS 7 userland == If you want to automatically resize your / partition, just type the following (as root user): /usr/local/bin/rootfs-expand
→以前の.rootfs-repartitionとは変わっている模様。
/usr/local/bin/rootfs-expand
で拡張された。
df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/root 57G 907M 54G 2% / devtmpfs 458M 0 458M 0% /dev tmpfs 462M 0 462M 0% /dev/shm tmpfs 462M 12M 450M 3% /run tmpfs 462M 0 462M 0% /sys/fs/cgroup /dev/mmcblk0p1 500M 49M 452M 10% /boot tmpfs 93M 0 93M 0% /run/user/0
yum update で以下のエラーメッセージが出た
http://mirror.centos.org/altarch/7/kernel/armhfp/kernel-rpi2/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
【参照URL】
http://qiita.com/Leonardo-mbc/items/2fb67a6f860aa33fd9bd
cd /etc/yum.repos.d