- 追加された行はこの色です。
- 削除された行はこの色です。
[[Ceph/概要]]
* パッケージのインストール [#n813f88f]
* Cephのインストール [#n813f88f]
** パッケージのインストール [#m23809ad]
Cephをインストールする前に,Cephのコンパイルに必要なパッケージをインストールする.~
合わせて,Cephのソースコードはgitで提供されているためgit-coreをインストールする.
$ sudo aptitude -y install automake autoconf automake gcc g++ libboost-dev libedit-dev libssl-dev \
libtool libfcgi libfcgi-dev libfuse-dev linux-kernel-headers libatomic-ops-dev \
btrfs-tools libexpat1-dev git-core
** Cephのダウンロード,インストール [#lb18812a]
Cephのソースコードをダウンロードし,コンパイル,インストールの作業を行う.
$ git clone git://ceph.newdream.net/git/ceph.git
$ cd ceph
$ ./autogen.sh
$ ./configure --with-fuse --with-radosgw --with-libatomic-ops
$ make
$ sudo make install
* 設定ファイルの作成 [#a329cd7e]
まず、/etc/ceph/ceph.confを作成する.
$ sudo mkdir /etc/ceph
$ touch /etc/ceph/ceph.conf
ceph.conf
[global]
pid file = /var/run/ceph/$name.pid
debug ms = 0
[mon]
mon data = /data/mon$id
[mon0]
host = ceph1
mon addr = xx.xx.xx.xx:6789
[mon1]
host = ceph2
mon addr = xx.xx.xx.xx:6789
[mon2]
host = ceph3
mon addr = xx.xx.xx.xx:6789
[mds]
debug mds = 0
[mds0]
host = ceph1
[mds1]
host = ceph2
[mds2]
host = ceph3
[osd]
sudo = true
osd data = /data/osd$id
osd journal = /data/osd$id/journal
osd journal size = 100
debug osd = 0
debug filestore = 0
[osd0]
host = ceph1
btrfs devs = /dev/sdb
[osd1]
host = ceph2
btrfs devs = /dev/sdb
[osd2]
host = ceph3
btrfs devs = /dev/sdb
* 設定ファイルの反映 [#l69ffe71]
$ sudo mkcephfs -c /etc/ceph/ceph.conf --allhosts --mkbtrfs
--allhostsはSSH経由で全サーバに設定を行うオプション
--mkbtrfsはbtrfsの初期化を行うオプション
* Cephの起動 [#ee467d6e]
$ cd ceph
$ sudo cp src/init-ceph /etc/init.d/ceph
$ sudo chmod a+x /etc/init.d/ceph
$ sudo /etc/init.d/ceph --allhosts start
** initスクリプトの書き換え [#iace2098]
デフォルトでは、/usr/local/etc/cephを読みに行く場合がある.~
今回の例では/etc/cephに設定ファイルを作成したので,initスクリプトが設定ファイルを読みに行く際/etc/cephを読むように書き換える.~
/etc/init.d/cephの24行目あたり
# i hate autoconf:
if [ "/usr/local/etc" = "/usr/etc" ]; then
ETCDIR=/etc/ceph
else
ETCDIR=/etc/ceph
# ETCDIR=/usr/local/etc/ceph
fi
fi