20140807 linuxjosi-ceph
-
Upload
- -
Category
Engineering
-
view
939 -
download
7
description
Transcript of 20140807 linuxjosi-ceph
まったく意味ないけど5分でDocker使ってCeph体験しようぜ!
ハイロウテック
塩原 宏明2014/08/07
自己紹介
• ハイロウテック(http://www.hilotech.jp)代表社員 塩原 宏明
• このあいだまでホスティング系の会社にいました
• 8月1日からなぜか人形衣装を売る(+IT系全般をやる)会社を立てて独立しました
スーパードルフィー対応 ©ボークス社
この夏、怪獣が熱い!この夏、
怪獣が熱い!
Cephも怪獣!
怪獣を自宅で飼うのはたいへん
分散ストレージなんて、自宅にラックサーバーがあるような
光の勇者しか試せない
気軽に遊べない?
VPSくらいで試せたらいいのにー
そこで
もう一匹の怪獣を召喚してみた
DockerDocker
Docker=
コンテナ仮想化(以下略)
ググってね。
個人的には「お金のない人の仮想化」という見方ができると思う
Ceph対Docker南海の大決斗Ceph対Docker南海の大決斗
こんなふうにできたら、Cephを気楽に試せるんじゃない?
適当なVPS
Cephのストレージ
Dockerで作るCephノード
おおよその手順(CentOS)
1.ホスト側に ceph,ceph-deploy,ceph-fuse をインストール
2. Dockerfileで MON も OSD も MDS も兼用するイメージをビルド
3.ループバックファイルシステムを各ノードインスタンス用に作成
4. Dockerインスタンスに前項FSを –v オプションで割り当てて起動
5.各インスタンスに ceph-deploy をかましていく
6. ceph-fuseでホストにマウントする
1. ホスト側のインストール
• 秒殺
# yum –y install ceph ceph-deploy ceph-fuse
2. Dockerfileの例
• 長い! 後日 http://www.hilotech.jp/あたりからgithubをごらんください!
FROM centos:centos6MAINTAINER hilotech.jp
# networkingRUN echo -e "NETWORKING=yes" > /etc/sysconfig/networkEXPOSE 6789
# timezoneRUN ¥
echo 'ZONE="Asia/Tokyo"' > /etc/sysconfig/clock && ¥rm -f /etc/localtime && ¥ln -fs /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# packages:
3. loop用の疑似ファイルシステム作成
• 空っぽのファイルをつくって、それをcephノード(コンテナ)からストレージデバイスに見えるようにする
# dd if=/dev/zero of=/mnt/ceph0 bs=1024000 ¥count=3000
# mkfs.ext4 /mnt/ceph0# mkdir /mnt/ceph0d# mount -o loop -t ext4 /mnt/ceph0 /mnt/ceph0d
4. 各ノードを起動
• -v オプションでディスクを割り当てる以外はたいしたことない
#!/bin/shdocker run ¥
-h ceph01 ¥-p 6789:6789 ¥-v /mnt/ceph0d:/var/lib/ceph/osd/ceph-0 ¥-d hilotech/ceph-nodes
5. ceph-deploy
• デプロイスクリプトなのに手順が多くて泣ける
• Pythonのエラーがうるさいので自罰思考になる
# mkdir ~/mycluster# cd !$# ceph-deploy new ceph01# ceph-deploy install ceph01# ceph-deploy mon create ceph01# ceph-deploy gatherkeys ceph01 # ceph-deploy osd create ¥
ceph01:/var/lib/ceph/osd/ceph-0# ceph-deploy admin ceph01# ceph-deploy mds create ceph01
5. fuseでマウント
• /mnt/myfuse 以下でCephのボリュームを使える
• これで完了!
# mkdir /mnt/myfuse# ceph-fuse -m ceph01:6789 /mnt/myfuse
なんとかできた!みたい…自信ない
ハマりポイント
• ceph-deployが意外にめんどくさい!
• ググるとバージョンとディストリビューションが入り混じって、情報が混乱している!(Google脳キケン!)
• ホストもコンテナもrootでやらないとなんか詰まった!
• なんか「KVMだとダメなところがある」という話(Xenはだいじょうぶ)も聞いたが、よくわからない|ω・)…
やるメリット
• 分散ストレージを自分でセットアップする経験が得られる
– 900円くらいから…A○S使えばタダです
• 総合的なスキルが身につく(のか?)
• 非リア充が夏休みをつぶせる
やるデメリット
• 当然ながら、なんのパフォーマンス向上にもつながらない
– コンテナ仮想化+ループバックFS…• 誰の役にも立たない
– OpenStackと一緒に構築しないと…
• 「金があれば自宅にラックサーバー置けるのに!」という意味不明な物欲がわく
でも夏休みの自由研究
にはオススメ!
あなたも試しては?
ご清聴ありがとうございました