1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Ubuntu20.04LTSでCeph構築

Last updated at Posted at 2022-03-05

簡単にCeph構築

先日Ceph構築したのでまとめようかと思いました。ハイ

環境

VirtualBoxでVMを作り、VMを作り、そのうえでCephを構築しました。

構成

image.png
image.png

準備

VM準備

VM4台は下の表と同じに設定しています。

ハードウェアなど スペックなど
CPU 1コア
HDD(sda) 15GB
HDD(sdb) 10GB
LAN Intel PRO/1000MT(NAT)
LAN Intel PRO/1000MT(ホストオンリーアダプタ)
LAN Intel PRO/1000MT(内部ネットワーク)
OS Ubuntu20.04 LTS

構築手順

※全部root権限で設定します!(めんどくさかった)

  • 事前準備を行う。
  • Cephadmのインストールとブートストラップ実行
  • CephCLIの有効化
  • それぞれのノードに対してSSHを可能にする
  • Cephクラスタにノードを追加する
  • CephクラスタにOSD(Object Storage Device)を登録する
  • CephクラスタにMON(Monitor)を追加する

事前準備

それぞれのノードで実行する

root@ceph1:/#apt install -y ntp ntpdate ntp-doc
root@ceph1:/#ntpdate ntp.nict.jp
root@ceph1:/#hwclock --systohc
root@ceph1:/#systemctl enable ntp
root@ceph1:/#systemctl start ntp
root@ceph1:/#apt install -y docker docker.io
root@ceph1:/#systemctl enable docker
root@ceph1:/#systemctl start docker
root@ceph1:/#apt install -y python3
/etc/hosts/
追記
192.168.6.1 ceph1
192.168.6.2 ceph2
192.168.6.3 ceph3
192.168.6.4 ceph4
/etc/ssh/sshd-config
追記
PermitRootLogin yes
root@ceph1:/#systemctl restart sshd

Cephadmのインストールとブートストラップ実行

root@ceph1:/#apt install -y cephadm
root@ceph1:/#cephadm bootstrap --mon-ip 192.168.6.1

CephCLIの有効化

root@ceph1:/#cephadm add-repo --release octpus
root@ceph1:/#cephadm install ceph-common
#cephパッケージがインストールされたコンテナでbashシェルを起動
root@ceph1:/#cephadm shell
root@ceph1:/#exit
#cephコマンドが使えるか確認
root@ceph1:/#ceph -s
### ceph1からそれぞれのノードに対してSSHを可能にする
root@ceph1:/#ssh-copy-id -f -i /etc/ceph/ceph.pub root@192.168.6.2
root@ceph1:/#ssh-copy-id -f -i /etc/ceph/ceph.pub root@192.168.6.3
root@ceph1:/#ssh-copy-id -f -i /etc/ceph/ceph.pub root@192.168.6.4

Cephクラスタにノードを追加する

root@ceph1:/#ceph orch host add ceph2 192.168.6.2
root@ceph1:/#ceph orch host add ceph3 192.168.6.3

CephクラスタにOSD(Object Storage Device)を登録する

OSDとして追加できるデバイスを確認する
root@ceph1:/#ceph orch device ls
Hostname  Path      Type  Serial               Size   Health   Ident  Fault  Available
ceph1     /dev/sdb  hdd   VBd7a4a7e5-90c04f3c  10.7G  Unknown  N/A    N/A    Yes
ceph2     /dev/sdb  hdd   VB9cbef998-bd4fb4f1  10.7G  Unknown  N/A    N/A    Yes
ceph3     /dev/sdb  hdd   VBa7daca68-6baffa35  10.7G  Unknown  N/A    N/A    Yes
使用可能なデバイスすべてをOSDへ追加
root@ceph1:/# ceph orch apply osd --all-available-devices 
Scheduled osd.all-available-devices update...
cephに追加された確認する
root@ceph1:/#ceph -s
  cluster:
    id:     bbd98972-948c-11ec-a7f6-7739cf49ecc6
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph1,ceph2,ceph3 (age 6m)
    mgr: ceph1.khwhcg(active, since 57m), standbys: ceph2.aczbit
    osd: 3 osds: 3 up (since 5m), 3 in (since 5m)
 
  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 27 GiB / 30 GiB avail
    pgs:     1 active+clean

※特定のデバイスをOSDへ登録する方法

root@ceph1:/#ceph orch demon add osd ceph2:/dev/sdb

CephクラスタにMON(Monitor)を追加する

既にCephクラスタ内の全てのノードにはMONが動作している。しかし新たに追加する場合も新たに追加することも考え、追加方法も以下に示す。今回はceph2を新しく追加するという仮定で行った。

root@ceph1:/#ceph orch apply mon ceph2
Scheduled mon update...
root@ceph1:/#ceph -s
  cluster:
    id:     bbd98972-948c-11ec-a7f6-7739cf49ecc6
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph1,ceph3,ceph2 (age 4s)
    mgr: ceph1.khwhcg(active, since 87m), standbys: ceph2.aczbit
    osd: 3 osds: 3 up (since 34m), 3 in (since 34m)
 
  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 27 GiB / 30 GiB avail
    pgs:     1 active+clean

ブロックストレージとして利用する

root@ceph1:/#ssh ceph4 “apt install -y ceph-common”
root@ceph1:/#scp /etc/ceph/ceph.conf  ceph4:/etc/ceph/ceph.conf
root@ceph1:/#scp /etc/ceph/ceph.client.admin.keyring ceph4:/etc/ceph/
root@ceph1:/#scp ceph4 “chown ceph. /etc/ceph/ceph.*”
root@ceph4:/#ceph osd pool create rbd 128
root@ceph4:/#ceph osd pool set rbd pg_autoscale_mode on
root@ceph4:/#rbd pool init rbd
root@ceph4:/#ceph osd pool autoscale-staus
root@ceph4:/#rbd create –size 5G –pool rbd rbd01
root@ceph4:/#rbd map rbd01
root@ceph4:/#mkfs.xfs /dev/rbd0
root@ceph4:/#mount /dev/rbd0 /mnt
root@ceph4:/# df -hT
Filesystem                        Type      Size  Used Avail Use% Mounted on
udev                              devtmpfs  445M     0  445M   0% /dev
tmpfs                             tmpfs      98M  1.1M   97M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4       14G  4.3G  8.8G  34% /
tmpfs                             tmpfs     489M     0  489M   0% /dev/shm
tmpfs                             tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs                             tmpfs     489M     0  489M   0% /sys/fs/cgroup
/dev/sda2                         ext4      976M  108M  802M  12% /boot
/dev/loop0                        squashfs   56M   56M     0 100% /snap/core18/1944
/dev/loop1                        squashfs   70M   70M     0 100% /snap/lxd/19188
/dev/loop2                        squashfs   32M   32M     0 100% /snap/snapd/10707
tmpfs                             tmpfs      98M     0   98M   0% /run/user/1000
/dev/rbd0                         xfs       5.0G   69M  5.0G   2% /mnt

動作確認

root@ceph4:~# dd if=/dev/zero of=/mnt/write.tmp ibs=1M obs=1M count=1024
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 72.1003 s, 14.9 MB/s
root@ceph1:~# ceph -s
  cluster:
    id:     bbd98972-948c-11ec-a7f6-7739cf49ecc6
    health: HEALTH_WARN
            3 hosts fail cephadm check
            clock skew detected on mon.ceph1, mon.ceph2
 
  services:
    mon: 3 daemons, quorum ceph3,ceph1,ceph2 (age 2h)
    mgr: ceph1.khwhcg(active, since 19h), standbys: ceph2.aczbit
    osd: 3 osds: 3 up (since 2d), 3 in (since 2d)
 
  data:
    pools:   2 pools, 33 pgs
    objects: 276 objects, 1.0 GiB
    usage:   6.4 GiB used, 24 GiB / 30 GiB avail
    pgs:     33 active+clean

増えてる!!!

まとめ

構築できた!!!!!!!
全てDockerコンテナで動くのでとにかく楽でした。またYAML形式で書いて設定することもできるのでAnsibleとか使わなくてもいけます!!あと実は、Webダッシュボードも使えます。一番最初にブートストラップを実行するとIPアドレスと、ユーザとパスワードが表示されているのでアクセスして設定することもできます。
image.png
image.png

やったね!

参考文献

https://docs.ceph.com/en/pacific/start/intro/
https://www.server-world.info/query?os=Ubuntu_20.04&p=ceph15&f=3

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?