Hyper-V上で、keepalivedを検証する
keepalivedの検証にあたって
さし当たって、keepalivedの検証を行う必要がありました。
検証といえばAWS、と言いたいですが言えません。
AWSではvrrpが普通の方法では実現できないため、テストできないからです。
無論「普通の」と書いたのは、他に方法があるのですが、ここでは「普通に」テストするためなので、言及しません。
詳細は、@kentiestさんの書いた記事をご覧ください。
http://kentiest.wordpress.com/2013/05/12/ec2-vpc%E3%81%A7vrrp%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F/: EC2-VPCでVRRPを動かしてみた
EC2(CentOS)にSAVをインストール
AWSのEC2(CentOS)にSAVFLをインストールする時の話です。
特に難しいことは無く、強いて言えば「サポート対象外」というのがネックです。
※SAVFL = Symantec AntiVirus For Linux。SEP(Symantec Endpoint Protection)のLinux用です。
以下の手順は、参考にさせて頂いた記事、ニフティクラウドのCentOS 6.2でSymantec Endpoint Protectionを使うとほぼ同じです。
一部、私がハマったところを追記してあります。
4)OS判定部を書き換え
/etc/init.d/autoprotectの102行目前後のOS判定部に、以下の行を追記
*CentOS\ release\ 6*) osprod=ES osver=6 ;;
5)起動
※ここで手順3を実施したところ、OKになりました。
その後、autoprotectを起動
/etc/init.d/autoprotect start
/etc/init.d/autoprotect status
6)全てOKになった後、再起動
sync; sync; sync;
shutdown -r now
7)動作確認⇒完了!
今後
画面のモックを作ってみた。
と思ったら、mockupsというサイトは、exportするのに30$かかるらしい。
そんな払うぐらいなら自分で書くよ!!!
さて、構築がんばりましょう。
Project Euler Problem 93
#define put(now) if(now > 0 && now < N && floor(now) == now){list[(int)now] = (int)now; } int search(double x[4],int N){ int *list = new int[N]; fill(list, list+N, 0); int ans = 0, a=0; for(int i=0;i<4;i++) for(int j=0;j<4;j++) for(int k=0;k<4;k++){ if(i == j) continue; double now1 = calc(x[i],x[j],k); for(int l=0;l<4;l++) for(int m=0;m<4;m++) for(int n=0;n<4;n++){ if(l==m || i==l || i==m || j==l || j==m) continue; double now2 = calc(x[l],x[m],n); // l&m double now3 = calc(now1,x[l],n); // (i&j)&l double now4 = calc(x[l],now1,n); // l&(i&j) for(int o=0;o<4;o++){ put(calc(now1, now2, o)); // (i&j)&(l&m) put(calc(now3, x[m], o)); // ((i&j)&l)&m put(calc(x[m], now3, o)); // m&((i&j)&l) put(calc(now4, x[m], o)); // (l&(i&j))&m put(calc(x[m], now4, o)); // m&(l&(i&j)) } } } while(++ans<N) if(list[ans] != ans) break; delete[] list; return ans-1; } int main(){ uLLint N = 5*4*3*2*64+1; int big = 0; int X = 10; for(double i=1;i<X;i++) for(double j=i+1;j<X;j++) for(double k=j+1;k<X;k++) for(double l=k+1;l<X;l++){ double x[4] = {i,j,k,l}; int ans = search(x, N); if(big < ans){ big = ans; printf("[%.0f %.0f %.0f %.0f] %d\n",i,j,k,l, ans); } } cout << big << endl; return 0; }