Ceph

提供: Lisa Wiki
2015年7月9日 (木) 00:09時点におけるRoot (トーク | 投稿記録)による版

移動: 案内検索

Cephとは

分散ファイルシステム

必要機器

最低PCが3台 今回は4台の機器を使う事にしました。

計画

arm 192.168.100.1 BeagleBone Black (管理用)
osmc1 192.168.100.101 RaspberryPi2B (HDD提供用)
osmc2 192.168.100.102 RaspberryPi2B (HDD提供用)
osmc3 192.168.100.103 RaspberryPi2B (HDD提供用)
bbb1 192.168.100.104 BeagleBone Black (後で追加予定)
bbb2 192.168.100.105 BeagleBone Black (後で追加予定)
bbb3 192.168.100.106 BeagleBone Black (後で追加予定)

管理用PCの仕様

BeagleBone Black 管理用

OS:Ubuntu
CPU:ARM
RAM:512M
LAN:100M
USB LAN:100M

HDD提供用PCの仕様

Raspberry Pi ×3 HDD提供用

OS:OSMC(デビアン系)
CPU:ARM
RAM:1G
LAN:100M
USB HDD:500G

拡張予定のPCの仕様

BeagleBone Black HDD拡張用

OS:Ubuntu
CPU:ARM
RAM:512M
LAN:100M
USB HDD:2T

前準備

IPアドレスの設定

Hostsの設定

rootログインの設定

rootでいきなりログイン出来る様に設定してしまう。
rootのパスワードを設定します。これでいきなりsshでrootでログイン出来る様になります。

sudo su
passwd root
設定するパスワードを2回入力

OSMCは、これでいきなりログイン出来る様になりました。
Ubuntuは頑固でrootのパスワードを設定してもsshでいきなりrootログインはさせてくれなかった。
そこで、設定を変更しました。

sudo su
nano /etc/ssh/sshd_config

次の行を見つけ出し変更する。

PermitRootLogin without-password 変更前
                 ↓
PermitRootLogin yes              変更後

変更後、sshを再起動する。

service ssh restart

SSHパスワード無し鍵の設定

インストール中に何度もパスワードを入力するのは大変、なのでrootで互いに入れるようにしておきます。
1台目で鍵を作って、それを配ります。

cd ~
ssh-keygen
ssh-copy-id root@ノード名1
ssh-copy-id root@ノード名2
ssh-copy-id root@ノード名3

配る為に、最初はパスワードを聞いて来ます。今回だけ頑張って入力してください。

Cephのセットアップ

Cephの状態を見る

全体の状態を見る

ceph health

全体の状態を詳しく見る

ceph health detail

osdの状態を見る

ceph osd stat

osdの状態を詳しく見る

ceph osd tree

monの状態を見る

ceph mon stat

mdsの状態を見る

ceph mds stat

CephFSでのマウント

cronでマウント

Raspberry Pi での注意事項

OSMCをOSとして使う場合

OSMCの場合、カーネルに問題が有り、CephFSマウントは出来ませんでした。

RaspbianをOSとして使う場合

Raspbian標準のcephパッケージはかなり古いそうです。以下を実行し最新の状態にするとよい。

apt-get update
apt-get upgrade
wget --no-check-certificate -q -O- 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' | sudo apt-key add -
echo deb http://ceph.com/debian-firefly/ wheezy main | sudo tee /etc/apt/sources.list.d/ceph.list
apt-get update
apt-get install ceph ceph-fs-common ceph-deploy

Raspbianの場合、カーネルに問題が有りCephFSマウントは出来ませんでした。
カーネルをコンパイルする事により解決するそうですが、コンパイルには12時間ほどかかるらしい。

時計の時刻のズレ

内蔵クロックが無いので起動時に、タイムサーバで調整する様だが、Cephのルールが厳しすぎる。
0.05秒以上のズレはダメみたいです。monサーバ同士で調整し最終的には、ピッタリ一致するようですが、調整に凄く時間がかかります。家の場合、最大5秒のズレがあった様で、調整には30分程度かかりました。

root@arm1:~# ceph health detail
HEALTH_WARN clock skew detected on mon.osmc2, mon.osmc3
mon.osmc2 addr 192.168.100.102:6789/0 clock skew 2.42326s > max 0.05s (latency 0.0367512s)
mon.osmc3 addr 192.168.100.103:6789/0 clock skew 0.16542s > max 0.05s (latency 0.103259s)