C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

学習用に自鯖を立てて何かしたいと言われたので

某校でLinux講座を教えていた学生さんから「もっと勉強したいので自鯖立てて何かしたいデス」的な話でアレコレしているにゅっと。

何やらサーバーやPCの仕組みについてもある程度勉強し、今のところはとりあえず何らかのウェブサービスを展開してみたいらしい。

今回はそんな相談の中から幾つかピックアップしてFAQ的に紹介。

Q.1 自鯖のメインボードをCPUで選ぶならAtomとFusionどっち?

A.1 Atomはintel VT使えないので仮想化でも遊びたければ必然的にFusionにして措いた方がいいと思います。消費電力的にも用途の計算能力的にもAtomより良さそうだし。予算によってはAtomという切ない選択もあるかもだけど。

Q.2 1TBのHDDと100GBのSSDどちらかを選ぶなら?

A.1 色々と勉強する為のテストサーバーとしての用途ならば100GBのSSDで良いでしょう。特に小型のシステムで24時間稼働させますから静音性も考慮し、もちろん性能や発熱からもSSDの方が良いでしょう。但し、動画コンテンツや比較的ユーザー数の多いサービスを試すのでなければ。

Q.3 Windows ServerとUbuntu Serverなら?

A.3 学習目的からはUbuntu Serverにしといた方が良いでしょう。Windows ServerではIISにより完全に動作するASP.NETサイトのホスティングや、AD管理、CIFSベースのDFS、RDPなどの実用的な運用経験やセットアップノウハウは学べるかもしれませんが、サーバーの仕組みを学習したいのならばUbuntu ServerにApacheなどを導入してカスタマイズしてみたり、Postfixでメールサーバーを構築してみたり、UnboundでDNSキャッシュサーバー(兼簡易コンテンツサーバー)を立ててみたり、GNUによりアレコレと連携しやすいLinux環境で遊んでみる事をお勧めします。なお、WindowsではSUAとかCygwinとかmingwとか仮想マシンLinux動かせばとかそういう言う話をさておくと、ネイティブなメールサーバーでフリーでわりと実用できそうなものはhMailServerくらいじゃないかなーとかそういう問題もあります。DNSはUnboundがWindows版もあったりするんだけどね。

Q.4 UbuntuとArchとGentooと?

A.4 あまりLinuxに慣れていない自信があるのならば日本語情報も優しくて豊富なUbuntuにしておくのが無難です。いきなりGentooやArchを使おうとすると下手するとセットアップも完了できないかもしれませんし、適切な設定を行う事ができずにかろうじて運用を開始する状況になってしまうかもしれません。よほど暇な時間があるのならいきなりGentooでもよいかもしれませんが、ある程度UbuntuLinuxやサーバーについて学習できた後に、ArchやGentooも使ってみると良いでしょう。その他のLinuxディストリビューションや、BSD系、Solaris系についても同様です。

Q.5 仮想化については?

A.5 ESXiは比較的試しやすいと思いますので、興味があれば最初から使ってみて、各種のサーバーを同時に起動する別のOS同士で連携して動作させてみたり、あるいはMPIやグリッド、またクラウド構築などの勉強に役立ててみるのも面白いかもしれません。また、LinuxであればKVM、WindowsであればHyper-Vなどもありますが、こうした仮想化ソリューションではなく、OSをインストールした後にVirtualBoxでお手軽に仮想マシンも動作させるという方法もあります。仮想化については前提として運用するサーバーやOSについてある程度の知識を要しますので、それらについて十分な学習を積んだ後でまた考えるでも良いかもしれません。

Q.Appendix とりあえずやりたい事がたくさんありすぎて着手も整理もできません!

A.Appendix とりあえずやりたい事や勉強したい事を列挙して、関連性順序付けを紙面なり電子データなりで行ってToDo管理ツールや、いっその事BTSやプロジェクト管理ツールなどでチケットで整理してみたり、あるいはマインドマップの様なものを適当に真似て試してみるのも良いかもしれません。

とかそういう感じで。

2月15日からはco-meetingがオープンβとなり、未登録の方でもさくっと使用可能になるとか。今後はこの相談にはco-meetingを使おうかな、とか思っていたりします。