CephFS Client
CephにMDSを組み込むと POSIX準拠のファイルシステムとして利用できる.
参照先https://ceph.readthedocs.io/en/latest/cephfs/mount-prerequisites/

MDSを有したCephはファイルシステムとして利用可能となる
そしてそのCephFSへのアクセスには

の2種類がある.

事前に

Cephの構成ファイル(/etc/ceph/ceph.conf)とMDSへアクセスするキーリングを用意する

Cephの構成ファイルは単にMonitor、Metadataとかから/etc/ceph/ceph.confをより寄せればいいのだが、
全部は必要ない。必要な分だけ貰えればいい

その必要な分だけ貰う方法が下記となる

[root@ceph-client ~]# ssh root@ceph-mds "sudo ceph config generate-minimal-conf" | sudo tee /etc/ceph/ceph.conf
root@ceph-mds's password:
# minimal ceph.conf for c2d06c20-9197-40b4-a8c4-1a0604936ce8
[global]
        fsid = c2d06c20-9197-40b4-a8c4-1a0604936ce8
        mon_host = [v2:192.168.0.48:3300/0,v1:192.168.0.48:6789/0] [v2:192.168.0.47:3300/0,v1:192.168.0.47:6789/0] [v2:192.168.0.49:3300/0,v1:192.168.0.49:6789/0]
[root@ceph-client ~]#

次にCeph/MDS#e2ceb9bcで作ったファイルシステム(cephfs)へのアクセスキーを作ります.
ここでは目印「emfs」は「/(root)」でrw(読み書き)権限を持つキー(ceph.client.emfs.keyring)を作ります
「sudo ceph fs authorize <filesystem> client.<CephX user> / rw」で作られるようで、<filesystem>はここではemfs、<CephX user>もemfsにしてみた.

[root@ceph-client ~]# ssh root@ceph-mds "sudo ceph fs authorize emfs client.emfs / rw" | sudo tee /etc/ceph/ceph.client.emfs.keyring
root@ceph-mds's password:
 
[client.emfs]
        key = AQAuuptlLrnaLhAAECYG105pGdTUmGWUxe4CEA==
 
[root@ceph-client ~]# ls -l /etc/ceph/ceph.client.emfs.keyring
-rw-r--r--. 1 root root 62 Jan  8 18:04 /etc/ceph/ceph.client.emfs.keyring
 
[root@ceph-client ~]# chmod 600 /etc/ceph/ceph.client.emfs.keyring

これでCephFSのファイルシステムをmountする準備は整った

カーネルベース

CephFSのマウントポイントを作って、mountコマンドでマウントします
https://docs.ceph.com/en/latest/cephfs/mount-using-kernel-driver/

既に「/etc/ceph/ceph.client.emfs.keyring」とemfsキーリングを持っている cephの認証に入っているリストは「ceph auth list」で得られる
これを使います.
っで初期期は「mount -t ceph <CephX user>@.<filesystem>=/ /<mount point>」で行えて、ここでは<CephX user>は「emfs」、<filesystem>は「emfs」なので下記のようにしてmountする

[root@client ~]# mkdir /emfs
 
[root@client ~]# mount -t ceph emfs@.emfs=/ /emfs
 
[root@ceph-client ~]# df -hTt ceph
Filesystem                                       Type  Size  Used Avail Use% Mounted on
emfs@c2d06c20-9197-40b4-a8c4-1a0604936ce8.emfs=/ ceph   16G     0   16G   0% /emfs
 
[root@ceph-client ~]#

/etc/fstabへの記載は

[root@ceph-client ~]# cat /etc/fstab
 :
emfs@.emfs=/ /emfs ceph rw 0 0
 :
[root@ceph-client ~]#

を末尾に加えます
autofsの場合は

[root@ceph-client ~]# cat /etc/auto.master
/- /etc/auto.home --timeout=60
 
[root@ceph-client ~]# cat /etc/auto.home
/emfs -fstype=ceph  emfs@.emfs=/
 
[root@ceph-client ~]#

でいける.

従来型のmount方式も使えるようで

[root@ceph-client ~]# mount -t ceph :/ /emfs -o name=emfs
 
[root@ceph-client ~]# df -Tht ceph
Filesystem                                              Type  Size  Used Avail Use% Mounted on
192.168.0.47:6789,192.168.0.48:6789,192.168.0.49:6789:/ ceph   16G     0   16G   0% /emfs
[root@ceph-client ~]#

no_root_squash

なんか規定でno_root_squashが適用されているみたい.

fuseでmount

いわゆるユーザランドでのmountになります

既に/etc/ceph/ceph.confと「/etc/ceph/ceph.client.emfs.keyring」があるのなら

[root@ceph-client ~]# ceph-fuse --id emfs /emfs
ceph-fuse[11865]: starting ceph client
2024-01-08T22:58:09.559+0900 7fd66660c480 -1 init, newargv = 0x5604c9ef6150 newargc=15
ceph-fuse[11865]: starting fuse
 
[root@ceph-client ~]# df -lTht fuse.ceph-fuse
Filesystem     Type            Size  Used Avail Use% Mounted on
ceph-fuse      fuse.ceph-fuse   16G     0   16G   0% /emfs
 
[root@ceph-client ~]#

となります。/etc/fstabに記載するなら下記のようにします

[root@ceph-client ~]# cat /etc/fstab
 :
none /emfs  fuse.ceph ceph.id=emfs,_netdev,defaults  0 0
 
[root@ceph-client ~]#

monitor側では

この時のmsでは下記のような状態.

[root@ceph-mds ~]# ceph -s
  cluster:
    id:     c2d06c20-9197-40b4-a8c4-1a0604936ce8
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-mgr,ceph-mds,ceph-osd1 (age 30h)
    mgr: ceph-mgr(active, since 30h)
    mds: 1/1 daemons up
    osd: 3 osds: 3 up (since 30h), 3 in (since 30h)
 
  data:
    volumes: 1/1 healthy
    pools:   3 pools, 81 pgs
    objects: 24 objects, 461 KiB
    usage:   117 MiB used, 48 GiB / 48 GiB avail
    pgs:     81 active+clean
 
[root@ceph-mds ~]#

48GBなのに dfでみると半分の 16GBになっています. すべてレプリケーション3でpoolを作ったので 1/3 で 16GB となります
3つのOSDノードを拵え、各ノードに16GBのHDDをcephに供出しました. 16GB*3 = 48TB

ここでosdホストを追加して1つHDDを増やしてみます

[root@ceph-osd4 ~]# ceph-volume lvm create --bluestor --data /dev/sdc

すると「ceph -s」で状態を見ると自動的に re-balancing が始まる

[root@ceph-mgr ~]# ceph -s
  cluster:
    id:     c2d06c20-9197-40b4-a8c4-1a0604936ce8
    health: HEALTH_WARN
            Degraded data redundancy: 898/6285 objects degraded (14.288%), 28 pgs degraded
 
  services:
    mon: 3 daemons, quorum ceph-mgr,ceph-mds,ceph-osd1 (age 31h)
    mgr: ceph-mgr(active, since 32h)
    mds: 1/1 daemons up
    osd: 4 osds: 4 up (since 41s), 4 in (since 51s); 1 remapped pgs
 
  data:
    volumes: 1/1 healthy
    pools:   3 pools, 81 pgs
    objects: 2.10k objects, 8.1 GiB
    usage:   27 GiB used, 37 GiB / 64 GiB avail
    pgs:     898/6285 objects degraded (14.288%)
             85/6285 objects misplaced (1.352%)
             49 active+clean
             28 active+recovery_wait+degraded
             3  active+recovering
             1  active+remapped+backfill_wait
 
  io:
    recovery: 59 MiB/s, 14 objects/s
 
[root@ceph-mgr ~]#
 :
[root@ceph-mgr ~]# ceph -s
  cluster:
    id:     c2d06c20-9197-40b4-a8c4-1a0604936ce8
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-mgr,ceph-mds,ceph-osd1 (age 31h)
    mgr: ceph-mgr(active, since 32h)
    mds: 1/1 daemons up
    osd: 4 osds: 4 up (since 2m), 4 in (since 2m)
 
  data:
    volumes: 1/1 healthy
    pools:   3 pools, 81 pgs
    objects: 2.10k objects, 8.1 GiB
    usage:   25 GiB used, 39 GiB / 64 GiB avail
    pgs:     81 active+clean
 
[root@ceph-mgr ~]#

ストレージは 16*4 --> 64TBに膨れる. またclient側では 16GB から 21GB に増える

[root@ceph-client ~]# df -lTht ceph
Filesystem                                       Type  Size  Used Avail Use% Mounted on
emfs@c2d06c20-9197-40b4-a8c4-1a0604936ce8.emfs=/ ceph   21G  8.1G   12G  41% /emfs
[root@ceph-client ~]#
最新の60件
2024-04-19 2024-04-18 2024-04-17 2024-04-16 2024-04-15 2024-04-11 2024-04-06 2024-04-05 2024-03-30 2024-03-29 2024-03-19 2024-03-17 2024-03-15 2024-03-06 2024-03-05 2024-03-03 2024-02-23 2024-02-22 2024-02-21 2024-02-20 2024-02-19 2024-02-18 2024-02-17 2024-02-13 2024-02-12 2024-02-09 2024-02-04 2024-02-03 2024-01-31 2024-01-30 2024-01-29 2024-01-28 2024-01-22 2024-01-16 2024-01-13 2024-01-09
  • Ceph/Client
2024-01-08 2024-01-07 2024-01-03 2023-12-22 2023-12-17

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-01-09 (火) 01:01:42