40
東京OpenSolaris勉強会 for びぎなーず 2012.04 _・)つかまん [email protected]

初心者がOpenIndianaで自宅サーバを作ったよって話

Embed Size (px)

DESCRIPTION

東京OpenSolaris勉強会 2012.04での資料です。

Citation preview

Page 1: 初心者がOpenIndianaで自宅サーバを作ったよって話

東京OpenSolaris勉強会

for びぎなーず

2012.04

_・)つかまん [email protected]

Page 2: 初心者がOpenIndianaで自宅サーバを作ったよって話

簡単な自己紹介

ハードウェア的な話

やってみたけど、結局やめちゃったって話

現在はどう使っているのかという話

やってみたいなぁと思っていることの話

結論というかまとめ的な話

Page 3: 初心者がOpenIndianaで自宅サーバを作ったよって話

って、今さら必要ないかもしれませんが。 • 名前: _・)つかまん

• 年齢:0x20 歳

• 出身:名古屋県

• 趣味:電子小物、息子、眼鏡、音楽、林檎、眼鏡

• 座右の銘:願いが叶わないのは願う力が弱いから

• Twitter:@tsukaman

• Blog:http://www.t-pl.us

• 眼鏡:http://tumblr.megane.us

• 身分:初心者おぶ初心者

Page 4: 初心者がOpenIndianaで自宅サーバを作ったよって話

=お断り= • つかまんは初心者の中の初心者いわば選ばれし初心者ゆえにハートが硝子的で危険が危ないです。

• 基本的に生温かい視線でプレゼンを見守って頂ければ幸いです。

• 心が途中で折れそうになった時は自発的に眼鏡画像に癒しを求めに行くかも知れませんので予めご注意ください。

• まぁ何が言いたいかっていうと今回の話は基本的に思い出話が中心なので何ていうかあんまり過度の期待を持たれませんようにお願いします。

• 心が折れたとき用の眼鏡画像は常時受付中です。

Page 5: 初心者がOpenIndianaで自宅サーバを作ったよって話

嫁ちゃんには内緒的な話でもある

Page 6: 初心者がOpenIndianaで自宅サーバを作ったよって話

購入したマシン:HP Proliant ML115 G5 • 当時、格安サーバとして有名でした 皆さんも1台くらい買ってませんでした?

ちなみにNTT-X Storeにて11,750円(多分税込)で購入

• ML115のイケてるところ サーバマシンだけど、とにかく安い!

Non-ECCなメモリも使えちゃうよ!

利用者が多いから情報が豊富だよ!

• ML115のイマイチなところ かなりデカいよ!電源コードも当然3ピン!

起動音(ファン)が半端ないよ!

初期構成は地味に非力だよ!

Page 7: 初心者がOpenIndianaで自宅サーバを作ったよって話

家族からも不評だった爆音ファンの交換 • 当初はリビング脇に設置してました ファンは起動時にフル回転する仕様

リモートで再起動したら嫁ちゃんから電話が・・・ その後、家庭平和維持の為に空き部屋へ移設

• CPUファンとリアケースファンを静音タイプへ ML115のまとめWikiとかを参考にしました

ヨドバシで静音タイプのファンを買った気がする

爆音源のCPUファンとリアケースファンを換装

ところが・・・

Page 8: 初心者がOpenIndianaで自宅サーバを作ったよって話

起動直後に電源が落ちる現象がががが • ML115の仕様で電源が自動的に落とされる

起動時CPUファンの回転が1000rpmを下回るとアウト

• 起動するかどうかは運任せな運用に・・・

起動できちゃえば後は安定して稼働してくれた

色々試行錯誤したけど根本的な解決に至らず

ぶっちゃけ、もう元のファンでもいいか・・・

と、考えてたら何故か直った • 何かしたのかもしれないけど、覚えてない

• 今は安定して起動してくれています

Page 9: 初心者がOpenIndianaで自宅サーバを作ったよって話

内部USBポートが折角あるので使ってみる • マザーボード上にUSBポートが1口ついている

ML115以外のHP Proliantサーバにもついてる

• ここにUSBメモリを指しとけばそこから起動可能

万が一に備えてLiveUSBメモリを指しとくと吉

ESXiとかのイメージを入れとくのもいい感じ

まぁ、別に外のUSBポートを使ってもいいんだけどね

• とりあえず今はOIのLiveUSB指してます

ぶっちゃけ活躍した事はまだ無いけどね…

Page 10: 初心者がOpenIndianaで自宅サーバを作ったよって話

DVD-ROMドライブを取り外してみる • HDDの為にSATAポートを空けたかった

• ぶっちゃけ必要ないしー

RWとかだったらまだ使ったかもしれないけど

必要なときはSATA<>USBの変換ケーブルで接続

今のところ必要になったことはないですけど・・・

最近はMac miniにつなげて使ってます

Page 11: 初心者がOpenIndianaで自宅サーバを作ったよって話

スペックの底上げを図ってみる • 初期の構成は結構非力

CPU:AMD Athlon LE-1640B(2.7GHz・TDP45W・1コア)

メモリ:512MB x 1枚

ドライブ構成: 160GB HDD x 1

DVD-ROM x 1

Page 12: 初心者がOpenIndianaで自宅サーバを作ったよって話

スペックの底上げを図ってみる • パワーアップさせた構成

CPU:AMD Phenom X4 9350e(2GHz・TDP65W・4コア)

メモリ:2GB x 4枚(合計 8GB )

ドライブ構成: 160GB HDD x 2

1TB HDD x 3

DVD-ROM x 1

Page 13: 初心者がOpenIndianaで自宅サーバを作ったよって話

スペックの底上げを図ってみる • パワーアップさせた構成・改

CPU:AMD Phenom X4 9350e(2GHz・TDP65W・4コア)

メモリ:2GB x 4枚(合計 8GB )

ドライブ構成: 160GB HDD x 2

2TB HDD x 3

80GB SSD x 1

あと地味にやっすいGbitなNICも追加してます

USB周りは内部ポートへLiveUSBメモリを挿してるだけ

グラフィックとかサウンドは放置

Page 14: 初心者がOpenIndianaで自宅サーバを作ったよって話

で、結局やめちゃったって話

Page 15: 初心者がOpenIndianaで自宅サーバを作ったよって話

やっぱりサーバにはグローバルだよね! • ということを考える程度には若かった

グローバルアドレスを持たせてやった事 • IRC Client(Proxy) Serverの設置

最初はnadokaで立ち上げた

後にtiarraに置き換え

@kohjuさんから色々もらいました

• ZoneつくってWeb Serverを公開

Global ZoneでIPFilterとIPNATも設定しました

Non-Global ZoneではSAMP環境を構築

WordPressとか個人メモ用のwikiとか設置してました

Page 16: 初心者がOpenIndianaで自宅サーバを作ったよって話

で、なんで辞めたかというと • ぶっちゃけ必要性がうすかった

IRCでの情報交換はTwitterやMLに移行

BlogやWikiもいくらでも代替サービスがある

• 管理(運用)に結構な手間がかかる

友人「サーバは構築までが楽しいんだよね」

サーバが故障したらサービスが使えない

自宅が停電することもある

• セキュリティのことも当然考慮しなきゃならない

自宅ファイルサーバも兼ねているので何かと心配

OpenSolarisの更新が停滞してたのも不安要素

Page 17: 初心者がOpenIndianaで自宅サーバを作ったよって話

COMSTARを使っちゃうぜぇ! • ワイルドだろぉ!とは言わなかったよ

• COMSTARが何かは説明不要ですよね!

まぁ、適当にググると沢山出てきます

設定は@tokuhyさんのBlogを参照しました • tokuhy‘s fraction(http://d.hatena.ne.jp/tokuhy/)

• 他に@satokazさんのスライドも参考にしました

でも難しくて初心者の私には理解できなかったような

• 勉強会でCOMSTARを扱っていた時は参加できず

ぐぬぬ・・

Page 18: 初心者がOpenIndianaで自宅サーバを作ったよって話

で、なんで辞めたかというと • Mac OS Xからは地味にiSCSIが使い辛かった

我が家はサーバマシンを除き全台Mac・・・

OS標準のiSCSIイニシエーターがMac OS Xにはない

サードパーティ製のものなら存在する

globalSAN iSCSI Initiator for OS X(Studio Network Solutions)

ただし、安定度がいまひとつであまりお勧めできない

ちなみにWindowsはVista以降でイニシエーターを標準装備

次期OSで標準イニシエータが付いたら使うかも?

• COMSTAR自体はとっても素晴らしいよ!

iSCSIイニシエータが利用できる環境なら問題なし

Page 19: 初心者がOpenIndianaで自宅サーバを作ったよって話

• ESXi(VMware vSphere Hypervisor)を導入

USBメモリにイメージ書き込んで起動させた

NICドライバで少し手を加えたけど、概ね問題なし

“ESXi、カスタムドライバ”でググると情報出てくるハズ

• 仮想マシンとして導入したもの

OpenSolaris(たしかb134)

ZFSなファイルサーバとしての活躍を期待!

RDMでML115のHDDとかSSDを直接管理させる

ただし(たぶん)裏技的な手法で実現したので問題が…

CentOS 5.X

iptablesとか利用してFWルータ的に使うつもりだった

今だったらviyattaを使うかもしれない

Page 20: 初心者がOpenIndianaで自宅サーバを作ったよって話

で、なんで辞めたかというと • 何故かRAID-Zなプールが壊れる現象が発生

運用を開始して暫くするとプールでエラーが発生

scrubしても回復せず…ていうか悪化 オワタ\(^o^)/

原因の特定にかなり苦労した

OS(distro)の問題?と思ってOIと入れ替えたり

iSCSI周りの問題?と思って構成をいろいろ弄ったり

Diskの問題?と思って交換をしてみたり

@kohjuさんのアドバイスにより仮想化が怪しいという結論に

• vSphere ClientがWindows環境Onlyだった

ちょっと構成弄ろうとしても手間がかかる・・・

Page 21: 初心者がOpenIndianaで自宅サーバを作ったよって話

なんとなく落ち着いた現状のこと

Page 22: 初心者がOpenIndianaで自宅サーバを作ったよって話

現在は、OpenIndiana 151aを利用中 • 入手先:http://openindiana.org/download/

は、重いのでJustPlayerさんのミラーがおすすめ

http://dist.justplayer.com/OpenIndiana/151a/

• GUI環境もインストールしてあるけどほぼ未使用

日本語入力の問題もあったのであまり使わず

日本語の入力に関しての話は後述しますです

サウンドやグラフィック面は特に増強してないしね

VirtualBoxへのインストールはGUIがあると便利

無くてもなんとかなるはずだけど初心者には敷居高いから!

VirtualBoxのことも後述するですよ

Page 23: 初心者がOpenIndianaで自宅サーバを作ったよって話

rpoolは160GBのHDDx2本でmirror構成 • UFS時代よりも手順はかなり簡単(な気がする)

• 手順は“rpool、mirror”でググれば出てきます

• わりとざっくりとした手順 1. 「format」でディスク名を確認(2本目を選択)

2. 「fdisk」で2本目にsolarisパーティションを作成

3. 「prtvtoc /dev/rdsk/1本目 | fmthard -s - /dev/rdsk/2本目」でパーティション構成をコピー

4. 「zpool attach -f rpool 1本目 2本目」で同期開始

5. 「installgrub /boot/grub/state1 /boot/grub/stage2 /dev/rdsk/2本目」でGRUBをインストール

Page 24: 初心者がOpenIndianaで自宅サーバを作ったよって話

その他のSSD&HDDで別のプールを作成 • 構成内容

80GB SSDはパーティションを分割

s0 – 16GB ・・・ logデバイス(ZIL)として利用

s1 – 16GB ・・・ cacheデバイス(L2ARC)として利用

s3 – 残り ・・・ 未使用(もったいない?)

2TB HDD x 3本でRAID-Zを構成

ストレージプール作成コマンドはこんな感じ

# zpool create プール名 raidz HDD1 HDD2 HDD3 log SSDs0 cache SSDs1

Page 25: 初心者がOpenIndianaで自宅サーバを作ったよって話

クライアントマシンはMacだけ • CIFS(SAMBA)は必要ない

• iSCSIはMac側の対応がいまいち

ならNetatalkが良いんじゃないですかね? • って感じで@kohjuさんにお勧めされました

• AFPによるファイルサーバ機能を提供するOSS

AFPはMacOS標準のファイル共有用プロトコル

NASをTimeMachine対応させる為に必要

• Avahiと併用でMac OS XのBonjourにも対応

BonjourはLANで設定なしに機器を使用可能にする技術

AvahiはBonjourと同様の機能を提供するOSS

Page 26: 初心者がOpenIndianaで自宅サーバを作ったよって話

OpenIndianaへのNetatalk導入手順 • は、OpenIndianaのwikiに記載されてる http://wiki.openindiana.org/oi/Netatalk

• 現在、導入方法としては2通りある SFE(Spec Files Extra)Repositoryからインストール

こっちのが簡単でよいと思う(僕の時はまだなかった…)

ソースからコンパイルしてインストール

ざっくりとした手順

1. 必要なIPSパッケージを追加(libgcrypt、avahi、mdns)

2. Berkeley DBをコンパイルしてインストール(Ver注意)

3. Netatalkをコンパイルしてインストール(オプション注意)

4. 設定編集(netatalk.conf, afpd.conf, AppleVolumes.default)

詳細は http://www003.upp.so-net.ne.jp/hat/netatalk/ が詳しい

5. 各サービスの起動(SMF & RCファイル)

Page 27: 初心者がOpenIndianaで自宅サーバを作ったよって話

つかまんちでの利用内容 • log、cache付のRaid-Zなストレージプールを利用

TimeMachine用のZFSをクライアント単位で作成

Dedup:有効、compression:有効

全クライアントで使う共有用のZFSを作成

Dedup:有効、compression:有効

速度よりもディスク使用容量の低減を優先

全クライアントで使う一時共有用のZFSを作成

Dedup:無効、compression:無効

ディスク使用容量の低減よりも速度を優先

• ストレージプール全体での容量は5.44TGBくらい

Page 28: 初心者がOpenIndianaで自宅サーバを作ったよって話

dedup/compressionを付けた場合の差 • ファイルコピーにかかる時間を計測してみました

注意:厳密な環境下で計測した結果ではありません

サーバでもクライアントでもいろんなサービスやアプリケーションによる通信が発生する環境のまま計測しました

時間の計測方法もクライアントマシンをiPad&WiMAXからリモート操作をしつつのストップウォッチ計測です

ぶっちゃけ時間がなかったのであんまりちゃんと計測できませんでした

ごめんなさい。そして、ごめんなさい。

Page 29: 初心者がOpenIndianaで自宅サーバを作ったよって話

コピーしたファイル • とある動画ファイル(サイズ2.07GB)

サーバ/クライアント間のネットワーク • GbEなNIC – Gb Switch – GbEなNIC

• NICはOnBoard、SwitchはCorega…

dedup/compressionが有効の場合 • コピーに要した時間:約4分(3:57)

• ZFS上でのディスク使用量:約1.8GB(約87%)

dedup/compressionが無効の場合 • コピーに要した時間:約2分(1:53)

• ZFS上でのディスク使用量:約2GB(100%)

Page 30: 初心者がOpenIndianaで自宅サーバを作ったよって話

どうしてもWindowsが必要な場合がある • 某保険会社さんの更新手続きとか

• 勤め先へのVPN的な接続とか

• Windowsでしか対応していないアプリとか

VirtualBoxを導入して仮想化 • Oracle VMファミリでOIでの利用でも信頼感あり

Solaris(系OS)上で無償かつ簡単に使える仮想化アプリケーションとしては、他に選択肢がないと言える

• GUIだけではなくCUIインタフェースもある

SSHでOIにログインすることで、コマンドのみで仮想マシンの管理(起動とか保存とか停止とか)が可能

Page 31: 初心者がOpenIndianaで自宅サーバを作ったよって話

代表的なVirtualBoxのCUIコマンド • VBoxManageコマンド

仮想マシンの管理作業が一通り行えるコマンド

GUIでできることはCUIでも同じことができる

っていうかGUIよりもできることが多い

• VBoxHeadlessコマンド

仮想マシンをヘッドレスで起動出来るコマンド

リモートアクセスを行う場合は画面出力は必要ない

一旦保存してGUI側で画面出力ありで起動することも可能

とはいえ、全てをCUIで行うは難しいので、インストールなどはGUIも使うと楽です

Page 32: 初心者がOpenIndianaで自宅サーバを作ったよって話

つかまんがよく使うコマンド • VBoxManage list runningvms

稼働中の仮想マシンを一覧表示する

• VBoxHeadless –startvm “VM名” –vrdp=off & 仮想マシンをヘッドレスで起動する

VDRP(VirtualBox Remote Desktop Protocol)は、必要に応じてonとoffを切り換える

バックグラウンドジョブで起動させる為に「&」を付ける

Shellを閉じるときにnohup処理がされる様に注意する

• VBoxManage controlvm “VM名” savestate 仮想マシンを「保存(停止)状態」にする

• VBoxManage controlvm “VM名” poweroff 仮想マシンの電源を落とす(使用注意!)

Page 33: 初心者がOpenIndianaで自宅サーバを作ったよって話

おまけ:つかまんのWin7なVMの利用法 • RDPはVRDPではなくOS標準のものを利用

クライアント側もMS謹製のアプリを使っているので

ちなみにVDRPの利用には”ExtensionPack”が必要

• 宅外からのアクセスには別の仕組みを利用

グローバルIPアドレスはそもそもOIに持たせてない

リモートアクセスソリューションとして次の2つを併用

LogMeIn

https://secure.logmein.com/JP/

Wyse PocketCloud

http://www.wyse.com/products/software/mobility/PocketCloud

Page 34: 初心者がOpenIndianaで自宅サーバを作ったよって話

本当にやるかどうかは未定

Page 35: 初心者がOpenIndianaで自宅サーバを作ったよって話

OpenIndiana 151aは日本語入力に難あり • デフォルトインストールの状態では入力不可 かの有名なssh「はい」「いいえ」問題が・・・ この問題の回避方法:http://bit.ly/OI_JP_SSH_ERR

原口さんによる151aで日本語入力を可能にする方法 https://blogs.oracle.com/hara/entry/anthy

「sudo pkg install ibus/anthy」を実行

インストール後、次のどちらかを実行

システム->設定->iBus の設定で IBus を起動(画面指示に従う)

「/etc/X11/xinit/xinitrc.d/0210.im」のshスクリプト作成

#!/bin/sh

if [ -x /usr/bin/ibus-daemon ]; then

/usr/bin/ibus-daemon -x &

export GTK_IM_MODULE='ibus'

export XMODIFIERS='@im=ibus'

fi

Page 36: 初心者がOpenIndianaで自宅サーバを作ったよって話

折角OIなんだからKVMとか手を出したい • とっても参考になるページ

東京OpenSolaris勉強会2011.11のまとめ

http://togetter.com/li/220119

@ipv6labさんのKVM on OIな発表資料へのリンクあり

まずはこいつを読んどけば大体OK?なはず

っていうかCPUの要件的にML115じゃ無理ぽ・・・

今段階でも”勝手に推奨サーバ”は在庫あり・・・

28,800円か・・・ゴクリ・・・

• サーバ機を新調できそうだったら挑戦します

無茶すると勉強会出入り禁止命令がでるので・・・

Page 37: 初心者がOpenIndianaで自宅サーバを作ったよって話

WLANアダプタが余ってたので動かしたい • むらやまさんドライバでとりあえず利用可能に

Free NIC drivers for OpenSolaris

http://homepage2.nifty.com/mrym3/taiyodo/eng/

• だがしかし・・・

なぜか802.11nでWPAなAPにつながらない・・・

フジワラさんより情報提供あり

http://d.hatena.ne.jp/flying-

foozy/comment/20110208/1297165646

ワークアラウンドを試してみたけど失敗 > 放置・・・

• 結局今は802.11gなAPを用意しました・・・

出来れば無くしてしまいたいので今後対応する

Page 38: 初心者がOpenIndianaで自宅サーバを作ったよって話

最近話題のMoshとかつかってみたいなぁ • Mosh: the mobile shell http://mosh.mit.edu/

MITで開発されたSSH代替のターミナルソフト 日本語の解説はこちらが詳しい

http://d.hatena.ne.jp/karasuyamatengu/20120411/1334092521

さくらのVPSでOI動かしたいなぁ • カスタムOSを起動する方法を試行錯誤中 SWAP領域にLiveイメージを置くやり方 GRUBからのchainloadで失敗・・・うーんむ

別でインストールしたHDDイメージを流し込むやり方 Solaris 11 Expressで動いたというエントリがあった

http://d.hatena.ne.jp/shakemid/20110219/1298120221

Page 39: 初心者がOpenIndianaで自宅サーバを作ったよって話

=まとめ?= サーバそのものはとっても安かった

• けど結局ちょこちょこ追加出費が・・・

なんだかんだで10万超えちゃってる気がする

これ嫁ちゃんにはオフレコでお願いします

• 次買うなら@ipv6labさん推奨のサーバ?

またはHP MicroServerあたりが良いかもしれない

苦労は楽しいけど毎日の運用となると辛い • 遊ぶサーバと実用サーバは分けるのが良さげ

Zoneを上手に組んだりVPSを使うのが良いかも

実用サーバは管理性や使い勝手を優先すると幸せ

OpenSolaris系OSは「クラウドOS」!? • 言葉の意味はよく分からないけど、まぁ、うん、その

多分、他の何かと組み合わせて使うと幸せになれそう

Page 40: 初心者がOpenIndianaで自宅サーバを作ったよって話

画: @laughsketch さん

ご清聴ありがとうございました!

ご意見ください♪ • びぎなーずでやってほしいネタを募集してます

• びぎなーずで話したい人も募集してます

• LTやっちゃいたい人も募集しています

• 平日夜とかでびぎなーずを実施したら?とか考えています