(8)客戶端使用cephfs

Ceph wen件系統的名稱是 CephFS ,它是一個 POSIX 兼容的分佈式文件系統,並使用Ceph RADOS 存儲數據 。要實現 Ceph wen件系統,須要一個正常運行的 Ceph 存儲集羣,而且至少包含一個 Ceph 元數據服務器( Ceph Metadata Server, MDS) 。
客戶端能夠經過兩種方式使用 Ceph wen件系統:使用本地內核驅動程序掛載 CephFS ,或者使用 Ceph FUSE。node

(1)準備一個健康的ceph 集羣

[root@node140 mds]# ceph -s
cluster:
id: 58a12719-a5ed-4f95-b312-6efd6e34e558
health: HEALTH_OKdocker

services:
mon: 2 daemons, quorum node140,node142 (age 22h)
mgr: admin(active, since 6d), standbys: node140
osd: 16 osds: 16 up (since 17h), 16 in (since 3d)bootstrap

data:
pools: 5 pools, 768 pgs
objects: 2.61k objects, 9.8 GiB
usage: 47 GiB used, 8.7 TiB / 8.7 TiB avail
pgs: 768 active+cleanvim

(2)建立元數據目錄

[root@node140 ceph]# mkdir /var/lib/ceph/mds/ceph-node140 -pvcentos

(3)爲bootstrap-mds客戶端建立一個密鑰

[root@node140 ceph]# # ceph-authtool --create-keyring /var/lib/ceph/bootstrap-mds/ceph.keyring --gen-key -n client.bootstrap-mds服務器

(4)在ceph auth庫中建立bootstrap-mds客戶端,賦予權限添加以前建立的密鑰

[root@node140 ceph]# ceph auth add client.bootstrap-mds mon 'allow profile bootstrap-mds' -i /var/lib/ceph/bootstrap-mds/ceph.keyringapp

(5)在root家目錄裏建立ceph.bootstrap-mds.keyring文件

[root@node140 ceph]#touch /root/ceph.bootstrap-mds.keyring分佈式

(6)把keyring /var/lib/ceph/bootstrap-mds/ceph.keyring裏的密鑰導入家目錄下的ceph.bootstrap-mds.keyring文件裏

[root@node140 ceph]# ceph-authtool --import-keyring /var/lib/ceph/bootstrap-mds/ceph.keyring ceph.bootstrap-mds.keyringide

(7)在auth庫中建立mds.a用戶,並賦予權限和建立密鑰,密鑰保存在/var/lib/ceph/mds/ceph-node140/keyring文件裏

[root@node140 ceph]# ceph --name client.bootstrap-mds --keyring /var/lib/ceph/bootstrap-mds/ceph.keyring auth get-or-create mds.a osd 'allow rwx' mds 'allow' mon 'allow profile mds' -o /var/lib/ceph/mds/ceph-a/keyringcentos7

(8)賦予文件權限

[root@node140 ceph]# chown -R ceph.ceph /var/lib/ceph/mds/ceph-node140

(9)配置文件中添加MDS節點

vim /etc/ceph/ceph.conf
[mds.node140]
host = node140

(10)啓動ceph

[root@node140 mds]# systemctl enable ceph-mds@node140
[root@node140 mds]# systemctl start ceph-mds@node140
[root@node140 mds]# systemctl status ceph-mds@node140

(11)其餘節點添加MDS

[root@node141 ceph]# vim /etc/ceph/ceph.conf
[mds.node140]
host = node140
[mds.node141]
host = node141

[root@node140 ceph]# scp /var/lib/ceph/bootstrap-mds/ceph.keyring node141:/etc/ceph/
[root@node140 ceph]# scp /root/ceph.bootstrap-mds.keyring node141:/etc/ceph/
[root@node141 ceph]# mkdir /var/lib/ceph/mds/ceph-node141/ -pv
[root@node141 ceph]# cp /etc/ceph/ceph.keyring /var/lib/ceph/bootstrap-mds/
[root@node141 ceph]# ceph auth add client.bootstrap-mds mon 'allow profile bootstrap-mds' -i /var/lib/ceph/bootstrap-mds/ceph.keyring
[root@node141 ceph]# ceph --name client.bootstrap-mds --keyring /var/lib/ceph/bootstrap-mds/ceph.keyring auth get-or-create mds.node141 osd 'allow rwx' mds 'allow' mon 'allow profile mds' -o /var/lib/ceph/mds/ceph-node141/keyring

[root@node141 ceph]# systemctl start ceph-mds@node141
[root@node141 ceph]# systemctl status ceph-mds@node141
[root@node141 ceph]# systemctl enable ceph-mds@node141

(12)#建立cephfs_data pool

[root@node140 mds]# ceph osd pool create cephfs_data 128
pool 'cephfs_data' created

(13)建立cephfs metadata pool

[root@node140 mds]# ceph osd pool create cephfs_metadata 128
pool 'cephfs_metadata' created

(14)建立cephfs

[root@node140 mds]# ceph fs new cephfs cephfs_metadata cephfs_data
new fs with metadata pool 7 and data pool 6

(15) 查看cephfs

[root@node140 mds]# ceph fs ls
name: cephfs, metadata pool: cephfs_metadata, data pools: [cephfs_data ]

[root@node140 mds]# ceph mds stat
cephfs:1 {0=node140=up:active}

客戶端使用內核驅動程序掛載cephfs

(1)服務器節點查看ceph.client.admin.keyring

[root@node140 ceph-node140]# cat /etc/ceph/ceph.client.admin.keyring
[client.admin]
key = AQB9w2BdnggFIBAA7SR+7cO/PtZl9PTlriBL1A==
caps mds = "allow "
caps mgr = "allow
"
caps mon = "allow "
caps osd = "allow
"

[root@docker38 ceph]# vim admin.key #複製ceph.client.admin.keyring,內容到客戶端
[root@docker38 ceph]# chown 600 admin.key

(2)掛載使用

[root@docker38 ceph]# mount -t ceph node140:6789:/ /mnt -o name=admin,secret=AQB9w2BdnggFIBAA7SR+7cO/PtZl9PTlriBL1A==

(3)centos7開機掛載

[root@docker38 ~]# vim /etc/rc.local
mount -t ceph node140:6789:/ /mnt -o name=admin,secret=AQB9w2BdnggFIBAA7SR+7cO/PtZl9PTlriBL1A==
若是開機不自動執行 /etc/rc.local
[root@docker38 ~]# chmod +x /etc/rc.d/rc.local

客戶端經過FUSE方式掛在cephfs

(1)客戶端安裝ceph-fuse軟件包

[root@docker38 ceph]# yum -y install ceph-fuse

(2)建立掛載目錄

[root@docker38 ~]# mkdir /ceph/cephfs -pv

(3)從服務器斷,將客戶端密鑰複製到/etc/ceph/

[root@node140 ceph]# scp ceph.client.admin.keyring root@10.10.204.38:/etc/ceph/

(4)掛載cephfs

[root@docker38 ~]# ceph-fuse -m node140:6789 /ceph/cephfs/

(5)查看掛載

[root@docker38 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 46G 24G 22G 54% /
devtmpfs 4.8G 0 4.8G 0% /dev
tmpfs 4.9G 0 4.9G 0% /dev/shm
tmpfs 4.9G 8.9M 4.8G 1% /run
tmpfs 4.9G 0 4.9G 0% /sys/fs/cgroup
/dev/sda1 1014M 255M 760M 26% /boot
10.10.202.140:6789:/ 2.8T 0 2.8T 0% /mnt
tmpfs 984M 0 984M 0% /run/user/0
ceph-fuse 2.8T 0 2.8T 0% /ceph/cephfs

(6)開機自動掛載

[root@docker38 ~]# vim /etc/rc.local ceph-fuse -m node140:6789 /ceph/cephfs/

相關文章
相關標籤/搜索