2014年12月06日(土) - 17:26 | カテゴリ:
Linux
プライベートクラウド:企業内部門やグループ会社などにクラウドサービスを提供する形態の事
↑の環境を「自宅サーバで構築したらどうなるのか」というのが今回のお題。
自宅でクラウド環境を構築するとなると、OpenStackを使った本格的な物から、
Hyper-Vを使ってWindowsクラスタリングみたいな事をする物まで様々な選択肢がある。
それこそ、企業でやるならVMwareを使ったり、必要な時だけ使えるAWSとかもあるが、今回は置いておく
その中でも、"自宅で構築する"という面でオススメなのが、
KVM+HAProxy+Pacemakerを使った、負荷分散型の仮想"なんちゃって"クラウド環境。
というのも、HAProxyを入れている事によって、比較的自由度の高いロードバランシングが可能な事と、
仮想環境の強みであるサーバのコピーによる増殖が可能だから。
そりゃ、金かけてVMwareとか入れられる人はそっちの方が断然良いのだが、
自宅でやっている程度なので、そこまでガチのシステムを組む金も無いわけで(´・ω・`)
先の通り、サーバをコピーした場合でも、
上位に設置したHAProxyを使って分散とかも可能になるのが本構成の強み。
単純なhttpサーバなら、負荷がそこまで高くなる事は無いと思うのだが、
PHPとMySQLを元にブログとか公開してると、この読込み負荷が結構高かったりする。
ただ、MySQL自体を2+Xの構成にしてしまうとDBの同期が面倒だったり、
負荷分散型にするか、Active/Standby方式にするかと、新しい悩みが出てきしてしまうのが欠点。
その辺りは、レプリケーションを使えば良いのだが、それこそ面倒に…
………
他に自宅クラウド上の仮想サーバメリットと言えば、
仮想サーバ環境のその後を気にせず、システムを壊す事が可能という点。
これのメリットは自鯖屋にとっては凄く大きい。
なんせ、テストでシステムを壊してしまうというのは高頻度で発生するので(´;ω;`)
その度に稼働中のインターネット公開用サーバを止める訳にもいかず。
wwwサーバならまだ良いが、mailとかDNSとかだったら問い合わせ元にも影響が出てしまうので。
………
と、いう事でMemoWikiの方にHAProxyとPacemakerを使って負荷分散する方法をメモしていたり。
今まではyum一発でやっていたのだが、今回訳あってソースから突っ込む必要があり、これがまた面倒くさい。
早めに書いて、何らかの物をメモしておかねば。
« 続きを隠す
2014年11月03日(月) - 21:40 | カテゴリ:
Linux
サブ自鯖とは言え、久々にやらかしてしまった(´・ω:;.:…
事の発端は"ns-lab BB"のサブ仮想サーバのホストOSをCentOS6.6にアップデートした事から。
サブ自鯖ではホストOS上でkvmを動かしていて、検証環境・DNS・監視サーバ・etcが乗っかっていたりする。
で、(仮想サーバ)台数が多く自作スクリプトを一元管理したいという思惑がある為、
ホストOS上にNFSを構築し、そのディレクトリをゲストOSで見る仕組みになっていた。
昨今ならiSCSIなのだろうが、NFSの方が管理が楽なので自分はNFSを使用中
本来なら、kvmホストOSではハイパーバイザーに徹するのが常なのだが、
自鯖民だと物理リソースの限界もあるわけで、主幹系のサービスだけはホストで動かすようにしている。
そうすれば、メイン/サブのどちらかが不調になっても、ゲストOSをコピーする事でサービスを継続可能なので…
で、今回はここの箇所に問題があった(らしい…)
ゲストOSからホストOS上のNFSにアクセスしていると、
ターミナル上にCPUとkernelのエラーが出だして、
10~60分程度放置するとホストOSがログも出さずにいきなり停止してしまった(´;ω;`)
最初は、NFS周りのバグを疑ったのだが、どうやらkernelの方が原因らしく、
kernelを一つ前の物にロールバックしたら、元通りの安定稼働に入った。
ちなみに、サブ自鯖で使っていたバグ有り(?)kernelは"2.6.32-504.el6.x86_64"
色々調べてみると、極々少数の環境で発生しているらしく、コミュニティに報告がチラホラと…
この事をGentoo使いの友人S氏に聞いてみたら『多分、kernelのビルドオプションミスじゃね?』と言っていた。
恐るべし、Gentoo使いのkernel友達度。
真相まで調べるのは骨が折れるので調べていないのだが、
"迂闊にkernelのバージョンを上げるとドツボに嵌まる"という、自鯖屋にとっては良い経験でしたとさ(´・ω・`)
2014年10月18日(土) - 20:29 | カテゴリ:
Linux
"ns-lab BB"のサーバ再度は複数のLinuxディストリビューションを使って構築してあるのだが、
この前MailServerに使用しているサーバでOSのアップデートに失敗してしまい、
応答不能状態=メール停止になってしまっていた(´・ω:;.:…
※メールサーバは平日深夜1:30頃に泣きながら復旧させました
まぁ、原因はパッチ配布元のバグらしいのだが、詳細はわからず終いに。
という事で、世のサーバはWindowsとか、Redhatとか、斜め上を行くならSolarisとかで動いていると思うのだが、
一つのOS(ディストリビューション)に偏って技術を習得するというのは危険なのかもしれない。
『1ディストリが転けたのでシステム全部止まりました!』は洒落にならないので。
最近は、OpenSSL・bashとかOSSの脆弱性が大量に発見されちょるし。
運用面で考えると1ディストリで揃えて、全部同じ構成とかの方が絶対に楽なのだが、これは難しい所か。
なので『bashしか使った事無いからtcsh使えません!』とかだと、色々困る事も起きるのだろうなぁ~と
という事もあって、最近は自分もbash/tcsh/zshを使い分けたりディストリ入れ替えとかを実施したりしちょる。
いくら小さなサーバ群だとしても、踏み台にされる事で他サイトに迷惑かけるのはアカンのでね。
今後はこういう小さな事にも目を向けていかなければいけないのだろうなぁ~~…