ARAGO for Internet Wiki Project AkuAku

This web site is powered by Arago for Internet v7.0 UTF-8 edition on FreeBSD
SPC main menu Expand/Fold
Products 取扱商品 Expand/Fold
SouthWind  Expand/Fold
Q&A Technical support Expand/Fold
BBS 掲示板 Expand/Fold
Easy PC life Expand/Fold

Last Edit Date: 07/31/2010
用語解説

ZFS  SUNのOpenSolarisで開発されたファイルシステムです。 ZFSのZはZetaバイトをサポートするという意味です。
RAID機能をソフトウェアで実現します。 snapshotという概念で、変更されたファイルの部分が書き込みされると、snapshotとして保存されます。 保存されたsnapshotをroolbackすることが出来ます。 書き込みが失敗すると、その失敗した部分は、ファイルシステムとして無視し、以前のファイル部分を使用します。 zfsのsnapshot機能で、自由にbackupを保存することが出来ます。 RAIDは2台構成のmirrorから複数台にzraidまであります。 ハードウェアRAIDやgmirrorなどのRAIDは、ファイルがクラッシュしたときには、クラッシュしたままになりますが、 zfsでは自動で修復されます! FreeBSDでは64bit環境でかつ最低4Gバイトのメモリーを必要とします。 32bit環境や不足したメモリー環境では、遅すぎる! 不安定になる!
このzfsをFreeBSDにportingしたpjd氏がFreeBSDのファイルシステムGEOMを開発した人です。
現在 HASTがpjdによって開発されています。 HASTはgiga bit ethernetで接続されたクラスターのファイルシステムを共有し、どちらかのファイルシステムの一部が破損しても、もう一方のファイルシステムの該当する部分を利用します。 Failoverシステムでの最大の問題であった完全なファイルのsynchronizedを簡単に実現します。 もうすぐ動いています!
SPCでの設定では、全てのファイルシステムがZFSです。

zraidで動いているシステムのhddをハンマーで圧縮! hddを新品のと交換してれ自動的にrecover! 昔のRAIDでは、バックアップテープをさがしてrecover! とてつもない作業です。
youtubeをご覧ください。
http://www.youtube.com/watch?v=QGIwg6ye1gE

Polling 現代のOSでは内部処理も外部処理もInterrupt(割り込み処理)で動作しています。 Pollingは、割り込みに相当する部分をloopの中で監視し、処理要求が発生すると処理部分を実行する方法です。 なぜこのような方法をとるのでしょうか? 現在のサイバー戦争状態では、悪意の攻撃がすごいことになっています。 ddosでの攻撃を対抗するために色々な方法がとられていますが、外部インターフェースのethernetから、ddosなどの攻撃を受けると、割り込み処理を実行するべくcpuが動作するのですが、その処理でさえ出来なくなる負荷がかかるとCPUはハングします! 割り込み処理はスタートするのですが、割り込み処理で実行されるべきことがまったく出来なくなります。 ウェッブサイトの内容を返す処理をしたくとも、 cpuは、ただただ割り込み処理の対応で終了するのです。 pollingはFreeBSDの内部で一定時間でethernetの処理要求を見に行きます。 過度の処理要求が発生しても、実際の処理を終了して、次の割り込み相当の処理を実行します。 結果は過度の負荷がかかると、レスポンスが遅くなりますが、cpuがハングするような状況は発生しません。 このpolling設定も実際は割り込みとpollingを組み合わせて動作します。

pf pfは、routerと同じような機能をします。 packetをfilteringすることによって、Firewallとして機能します。 ipfilterのライセンス問題から、pfがOpenBSD上で開発されました。 NATやredirectなどの処理では、pfでは、ひとつのconfファイルで処理できますので、あたらしいドメインの追加などの変更が頻繁に行われるシステムでは、ipfilterよりpfの方がはるかに楽です。
pfはOpenBSDで開発されているため、 FreeBSDへのportが少々おかしいようです。 filter ruleでのflagを追加すると動作がおかしくなります。 詳しくはFreeBSDのbug情報をご覧ください。 pfには、bandwidthを管理する機能とか、pfsyncを使い、failoverシステムで、pf ruleを共有更新できる機能があります。


jail  FreeBSDで動作する仮想マシンです。 仮想マシンではVMwareとかXENなどがありますが、それらのVMは、VM環境に別のOSをインストールして実行します。 FreeBSDのjailでは、OS自体はFreeBSDをそのまま使います。 jailはその環境下で、あたかも実際のFreeBSDを占有しているかのように扱うことが出来ます。 もちろん親のdisk空間をアクセスすることや、親の環境で設定されている.shなどを利用することも出来ません。 完全に独立したFreeBSDとして振舞います。 jailには個別にipを指定できます。 ipはipv4でもipv6でも指定できます。 ezjailで簡単に作成、管理が出来ます。 またこのjail環境をzfsでのsnapshot設定、compression、cpuの割り当てなどが出来ます。 jailの中ではipを操作する作業は全て禁止されています。
もちろんipなしのjailも作成できますが、その環境へのsshでのアクセスは直接出来ません。 このjail環境を、vps(virtual private server)と言います。


carp Common Address Redundancy Protocolの略です。 2台以上のサーバーを、組み合わせ、一台のサーバーが、アクセスできなくなると、他のサーバーが動作しないサーバーの代わりとして処理を継続します。 そのためには、それぞれのサーバーが持つ個別のip以外に仮想ipを使います。 この仮想ipを共有する方法です。 詳しくは、http://www.freebsd.org/doc/en/books/handbook/carp.html をご覧ください。 



bind split horizon 通常bind(DNS server)は、内部からも外部からも、同じfqdnで検索されると、同じipを返します。 たとえばwww.abc.comのipが、211.192.168.1だとすると、これ以外のipを返すことはありません。 split horizon(bindではsplit viewと呼びます)は、内部と外部とのfqdnでの検索で、異なったアドレスを返す方法です。 これはpfなどのrdr機能で、WAN側のipに対しては、fqdnに対応するipを用い、内部には、192.168.0.1などの自由に使えるアドレスを割り当てそれぞれのサーバーに接続するときに使われます。 www.bbb.comは対外的には、211.192.168.1だとすると、内部からbindにアクセスすると、内部には、内部アドレスである、たとえば192.168.0.10などと返す機能です。 これが必要な理由は、ipfでは、内部にあるサーバー192.168.10からwww.bbb.comにアクセスするとします。 もしbindが211.192.168.1を返すとします。 内部でrdrされて192.168.0.10にアクセスしますが、apacheは、どこのipにreplyを返すのでしょうか? 詳しくはそのうちに発表するbind split horizonで解説します。



failover どこかのネットの辞書では、あっさりフェイルオーバーと翻訳されました。 この辺が日本語辞書の限界でしょうかね? サーバーの話として、2台以上のサーバーで、一台のサーバーがこけた時に、自動的に別のサーバーで、処理を継続するという意味です。

redundant 冗長化の意味です。 これでは三流辞書のレベルのままになりますので。 メモリーでは、冗長bitを追加することで、errorが発生しても、自動的に補正する方法を冗長化と言います。 サーバーでは、zfsやhastで、hddのerrorが起きても、正常の動作させるために、複数のhddもしくは複数のサーバーシステムを利用し、自動補正しようという考え方です。

fault tolerant 馬鹿な辞書では、日本語になりませんでした! errorが発生しても、冗長化することによって、耐性があるシステム、サーバーという意味です。 2台以上のサーバーを運用して、errorは発生したときには、もう一台サーバーで自動運用する。 それぞれのサーバーが、同じrack内にあるのか? それともそれぞれのサーバーを東京都と地震の無いモンゴルのどこかの2箇所に置くのかは、経費と回線のスピードの問題です。


NAT or NOT NAT? natは、特定のethernetもしくはipから来る特定のportのpacketをgatewayに転送する方法です。 もちろんfilterをかけることが出来ます。 同じようなことはrdr(redirect)でも実現できます。 rdrはそれぞれ個別に、定義します。 どちらかというと、rdrのほうが明示的であり、security上の管理が楽なのではないかと思います?

Advertisement Expand/Fold