ceph分布式存儲配置

1 ceph后端存儲配置實戰(zhàn)

1.1 ceph配置前的準備

1.1.1 三臺機器都要配置

[root@linux-node1 ~]# hostname linux-node1

[root@linux-node1 ~]# echo "linux-node1" >>/etc/hostname

[root@linux-node2 ~]# hostname linux-node2

[root@linux-node2 ~]# echo "linux-node2" >>/etc/hostname

[root@linux-node3 ~]# hostname linux-node3

[root@linux-node3 ~]# echo "linux-node2" >>/etc/hostname

[root@linux-node1 ~]# vi /etc/hosts

192.168.100.151 linux-node1 linux-node1.oldboyedu.com

192.168.100.152 linux-node2 linux-node2.oldboyedu.com

192.168.100.153 linux-node3

[root@linux-node1 ~]# cd /etc/

[root@linux-node1 etc]# scp hosts linux-node2:/etc/

[root@linux-node1 etc]# scp hosts linux-node3:/etc/

[root@linux-node1 ~]# systemctl stop firewalld.service

[root@linux-node1 ~]# setenforce 0

[root@linux-node1 ~]# id ceph

[root@linux-node2 ~]# id ceph

[root@linux-node3 ~]# id ceph

[root@linux-node1 ~]# useradd -d /home/ceph -m ceph

[root@linux-node1 ~]# echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph

[root@linux-node1 ~]# passwd ceph

Changing password for user ceph.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@linux-node2 ~]# passwd ceph

Changing password for user ceph.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@linux-node3 ~]# passwd ceph

Changing password for user ceph.

New password:

BAD PASSWORD: The password is shorter than 8 characters

Retype new password:

passwd: all authentication tokens updated successfully.

[root@linux-node1 ~]# chmod 0440 /etc/sudoers.d/ceph

[root@linux-node1 ~]# visudo

#修改配置文件如下

... ...

Defaults:ceph !requiretty

[root@linux-node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@linux-node2 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@linux-node3 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@linux-node1 ~]# cd /etc/yum.repo.d/

[root@linux-node1 yum.repo.d]# vi ceph.repo

[ceph]

name=ceph

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/

gpgcheck=0

priority=1

[ceph-noarch]

name=cephnoarch

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/

gpgcheck=0

priority=1

[ceph-source]

name=Ceph source packages

baseurl=https://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/

enabled=0

gpgcheck=1

type=rpm-md

gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc

priority=1

[root@linux-node1 ~]# yum clean all

[root@linux-node1 ~]# yum makecache

[root@linux-node1 ~]# yum repolist

1.1.2 在linux-node1配置SSH認證

[ceph@linux-node1 ~]$ ssh-keygen -t rsa

[ceph@linux-node1 ~]$ ssh-copy-id ceph@linux-node1

[ceph@linux-node1 ~]$ ssh ceph@linux-node1

[ceph@linux-node1 ~]$ ssh-copy-id ceph@linux-node2

[ceph@linux-node1 ~]$ ssh ceph@linux-node2

[ceph@linux-node1 ~]$ ssh-copy-id ceph@linux-node3

[ceph@linux-node1 ~]$ ssh ceph@linux-node3

[ceph@linux-node1 ~]$ sudo vim ~/.ssh/config

Host linux-node1

? Hostname linux-node1

? User ceph

Host linux-node2

? Hostname linux-node2

? User ceph

Host linux-node3

? Hostname linux-node3

? User ceph

[ceph@linux-node1 ~]$ sudo chmod 600 ~/.ssh/config

1.2 安裝和配置ceph

[ceph@linux-node1 ~]$ sudo yum install yum-plugin-priorities

[ceph@linux-node1 ~]$ sudo yum install ceph-deploy

[ceph@linux-node1 ~]$ sudo mkdir my-cluster

[ceph@linux-node1 ~]$ sudo cd my-cluster

[ceph@linux-node1 ~]$ sudo chown -R ceph.ceph /home/ceph/my-cluster/

[ceph@linux-node1 my-cluster]$ ceph-deploy new linux-node1 linux-node2 linux-node3?

[ceph@linux-node1 my-cluster]$ ceph-deploy install --no-adjust-repos linux-node1 linux-node2 linux-node3

[ceph@linux-node1 my-cluster]$ ceph-deploy mon create-initial

[ceph@linux-node1 my-cluster]$ ceph-deploy disk zap linux-node1 /dev/sdb

[ceph@linux-node1 my-cluster]$ ceph-deploy disk zap linux-node2 /dev/sdb

[ceph@linux-node1 my-cluster]$ ceph-deploy disk zap linux-node3 /dev/sdb

[ceph@linux-node1 my-cluster]$ sudo chmod +r ceph.client.admin.keyring

[ceph@linux-node1 my-cluster]$ sudo cp -a /home/ceph/my-cluster/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

[ceph@linux-node1 my-cluster]$ vi ~/my-cluster/ceph.conf

[global]

fsid = 55b2d4e8-cb32-4edb-9cce-d32a64294503

mon_initial_members = linux-node1, linux-node2, linux-node3

mon_host = 192.168.100.151,192.168.100.152,192.168.100.153

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

osd pool default size = 2

mon clock drift allowed = 2

mon clock drift warn backoff = 30

[mon]

mon allow pool delete = true

[ceph@linux-node1 my-cluster]$ ceph-deploy --overwrite-conf config push linux-node{1..3}

[ceph@linux-node1 my-cluster]$ sudo systemctl restart ceph-mon.target

[ceph@linux-node1 my-cluster]$ sudo systemctl stauts ceph-mon.target

[ceph@linux-node1 my-cluster]$ ceph-deploy osd create linux-node1 --data /dev/sdb

[ceph@linux-node1 my-cluster]$ ceph-deploy osd create linux-node2 --data /dev/sdb

[ceph@linux-node1 my-cluster]$ ceph-deploy osd create linux-node3 --data /dev/sdb

[ceph@linux-node1 my-cluster]$ ceph-deploy mgr create linux-node1 linux-node2 linux-node3

[ceph@linux-node1 my-cluster]$ ceph -s

[ceph@linux-node1 my-cluster]$ vi ceph.conf

[global]

fsid = 55b2d4e8-cb32-4edb-9cce-d32a64294503

mon_initial_members = linux-node1, linux-node2, linux-node3

mon_host = 192.168.100.151,192.168.100.152,192.168.100.153

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

osd pool default size = 2

mon clock drift allowed = 2

mon clock drift warn backoff = 30

[mon]

mon allow pool delete = true

[ceph@linux-node1 my-cluster]$ ceph-deploy --overwrite-conf config push linux-node{1..3}

[ceph@linux-node1 my-cluster]$ sudo systemctl restart ceph-mon.target

[ceph@linux-node1 my-cluster]$ sudo systemctl stauts ceph-mon.target

1.3 創(chuàng)建文件系統(tǒng)

1.3.1 創(chuàng)建Ceph MDS角色

[ceph@linux-node1 my-cluster]$ sudo modprobe rbd

[ceph@linux-node1 my-cluster]$ sudo lsmod | grep rbd

[ceph@linux-node1 my-cluster]$ sudo modprobe ceph

[ceph@linux-node1 my-cluster]$ sudo lsmod | grep ceph

1.3.2 創(chuàng)建Ceph MDS角色

[ceph@linux-node1 my-cluster]$ ceph-deploy --overwrite-conf mds create linux-node1

[ceph@linux-node1 my-cluster]$ netstat -tnlp | grep mds

1.3.3 手動創(chuàng)建data和metadata兩個池

[ceph@linux-node1 my-cluster]$ ceph osd pool create cephfs_data 128

[ceph@linux-node1 my-cluster]$ ceph osd pool create cephfs_metadata 128

[ceph@linux-node1 my-cluster]$ ceph osd pool stats cephfs_data

[ceph@linux-node1 my-cluster]$ ceph osd pool stats cephfs_metadata

[ceph@linux-node1 my-cluster]$ ceph fs new cephfs cephfs_metadata cephfs_data

[ceph@linux-node1 my-cluster]$ ceph fs ls

[ceph@linux-node1 my-cluster]$ ceph mds stat

[ceph@linux-node1 ~]$ mysql my-cluster/

[ceph@linux-node1 my-cluster]$ vi ceph.conf

[global]

fsid = 55b2d4e8-cb32-4edb-9cce-d32a64294503

mon_initial_members = linux-node1, linux-node2, linux-node3

mon_host = 192.168.100.151,192.168.100.152,192.168.100.153

auth_cluster_required = cephx

auth_service_required = cephx

auth_client_required = cephx

osd pool default size = 2

mon clock drift allowed = 2

mon clock drift warn backoff = 30

[mon]

mon allow pool delete = true

[ceph@linux-node1 my-cluster]$ sudo systemctl restart ceph-mon.target

[ceph@linux-node1 my-cluster]$ sudo systemctl stauts ceph-mon.target

[ceph@linux-node1 my-cluster]$ ceph -w

? cluster:

? ? id:? ? b86c386a-141f-4330-8267-2b15584bb915

? ? health: HEALTH_OK

? services:

? ? mon: 3 daemons, quorum linux-node1,linux-node2,linux-node3

? ? mgr: linux-node1(active), standbys: linux-node2, linux-node3

? ? mds: cephfs-1/1/1 up? {0=linux-node1=up:active}

? ? osd: 3 osds: 3 up, 3 in

? data:

? ? pools:? 2 pools, 256 pgs

? ? objects: 21 objects, 2246 bytes

? ? usage:? 3080 MB used, 58347 MB / 61428 MB avail

? ? pgs:? ? 256 active+clean

2018-08-15 18:27:10.171244 mon.linux-node1 [INF] overall HEALTH_OK

[ceph@linux-node1 my-cluster]$ ceph -s

? cluster:

? ? id:? ? b86c386a-141f-4330-8267-2b15584bb915

? ? health: HEALTH_OK

? services:

? ? mon: 3 daemons, quorum linux-node1,linux-node2,linux-node3

? ? mgr: linux-node1(active), standbys: linux-node2, linux-node3

? ? mds: cephfs-1/1/1 up? {0=linux-node1=up:active}

? ? osd: 3 osds: 3 up, 3 in

? data:

? ? pools:? 2 pools, 256 pgs

? ? objects: 21 objects, 2246 bytes

? ? usage:? 3080 MB used, 58347 MB / 61428 MB avail

? ? pgs:? ? 256 active+clean

1.4 客戶端掛載

1.4.1 用戶空間掛載 CEPH 文件系統(tǒng)

在linux-node3上執(zhí)行如下配置

[ceph@linux-node3 ceph]$ sudo yum install -y ceph-fuse.x86_6

[ceph@linux-node3 ceph]$ sudo scp root@linux-node1:/home/ceph/my-cluster/ceph.conf /etc/ceph/ceph.conf

[ceph@linux-node3 ceph]$ sudo scp root@linux-node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

[ceph@linux-node3 ceph]$ sudo mkdir /home/ceph/cephfs

[ceph@linux-node3 ceph]$ sudo ceph-fuse -m 192.168.100.151:6789 /home/ceph/cephfs

1.4.2 在linux-node1上執(zhí)行如下配置

[ceph@linux-node1 ceph]$ sudo yum install -y ceph-fuse.x86_6

[ceph@linux-node1 ceph]$ sudo scp root@linux-node1:/home/ceph/my-cluster/ceph.conf /etc/ceph/ceph.conf

[ceph@linux-node1 ceph]$ sudo scp root@linux-node1:/etc/ceph/ceph.client.admin.keyring /etc/ceph/ceph.client.admin.keyring

[ceph@linux-node1 ceph]$ sudo mkdir /home/ceph/cephfs

[ceph@linux-node1 ceph]$ sudo ceph-fuse -m 192.168.100.151:6789 /home/ceph/cephfs

1.5 用內(nèi)核驅(qū)動掛載 CEPH 文件系統(tǒng)

1.5.1 要掛載 Ceph 文件系統(tǒng)添怔,如果你知道監(jiān)視器IP地址可以用 mount 命令湾戳、或者用 mount.ceph工具來自動解析監(jiān)視器IP地址

# sudo mkdir /mnt/mycephfs

# sudo mount -t ceph 192.168.100.151:6789:/ /mnt/mycephfs

1.5.2 要掛載啟用了 cephx 認證的 Ceph 文件系統(tǒng),你必須指定用戶名广料、密鑰

# sudo mount -t ceph 192.168.100.151:6789:/ /mnt/mycephfs -o name=admin,secret=AQATSKdNGBnwLhAAnNDKnH65FmVKpXZJVasUeQ==

1.5.3 前述用法會把密碼遺留在 Bash 歷史里砾脑,更安全的方法是從文件讀密碼。例如

# sudo mount -t ceph 192.168.100.151:6789:/ /mnt/mycephfs -o name=admin,secretfile=/etc/ceph/admin.secret

1.5.4 要卸載 Ceph 文件系統(tǒng)艾杏,可以用 unmount 命令

# sudo umount /mnt/mycephfs

1.6 CEPHFS配額管理

1.6.1 創(chuàng)建該文件目錄的磁盤配額為100MB

[ceph@linux-node1 ~]$ sudo setfattr -n ceph.quota.max_bytes -v 100000000 /home/ceph/cephfs/k8s

1.6.2 查看磁盤配額

[ceph@linux-node1 ~]$ sudo getfattr -n ceph.quota.max_bytes /home/ceph/cephfs/k8s

getfattr: Removing leading '/' from absolute path names

# file: home/ceph/cephfs/k8s

ceph.quota.max_bytes="100000000"

1.6.3 測試配額效果

[ceph@linux-node1 k8s]$ dd if=/dev/zero of=1.txt bs=1M count=200

dd: failed to open ‘1.txt’: Permission denied

[ceph@linux-node1 k8s]$ sudo dd if=/dev/zero of=1.txt bs=1M count=200

dd: error writing ‘1.txt’: Disk quota exceeded

105+0 records in

104+0 records out

109314048 bytes (109 MB) copied, 3.52606 s, 31.0 MB/

1.6.4 再一次測試韧衣,發(fā)現(xiàn)無法寫入了。

[ceph@linux-node1 k8s]$ sudo dd if=/dev/zero of=2.txt bs=1M count=200

dd: error writing ‘2.txt’: Disk quota exceeded

1+0 records in

0+0 records out

0 bytes (0 B) copied, 0.00256971 s, 0.0 kB/

1.6.5 刪除配額

[ceph@linux-node1 k8s]$ sudo setfattr -n ceph.quota.max_bytes -v 0 /home/ceph/cephfs/k8s

[ceph@linux-node1 k8s]$ sudo getfattr -n ceph.quota.max_bytes /home/ceph/cephfs/k8s

/home/ceph/cephfs/k8s: ceph.quota.max_bytes: No such attribute

1.6.6 刪除已經(jīng)創(chuàng)建的塊設(shè)備

[root@linux-node1 ~]# rbd ls list -p volumes

rbd_test

volume-5e0b9cf5-6ebe-4641-8436-c3451af51eb9

[root@linux-node1 ~]# rbd unmap volumes/rbd_test

[root@linux-node1 ~]# rbd showmapped

[root@linux-node1 ~]# rbd remove volumes/rbd_test

Removing image: 100% complete...done.

[root@linux-node1 ~]# rbd ls list -p volumes

volume-5e0b9cf5-6ebe-4641-8436-c3451af51eb9

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末糜颠,一起剝皮案震驚了整個濱河市汹族,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌其兴,老刑警劉巖顶瞒,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異元旬,居然都是意外死亡榴徐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門匀归,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坑资,“玉大人,你說我怎么就攤上這事穆端「ぶ” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵体啰,是天一觀的道長攒巍。 經(jīng)常有香客問我嗽仪,道長,這世上最難降的妖魔是什么柒莉? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任闻坚,我火速辦了婚禮,結(jié)果婚禮上兢孝,老公的妹妹穿的比我還像新娘窿凤。我一直安慰自己,他們只是感情好跨蟹,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布雳殊。 她就那樣靜靜地躺著,像睡著了一般喷市。 火紅的嫁衣襯著肌膚如雪相种。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天品姓,我揣著相機與錄音,去河邊找鬼箫措。 笑死腹备,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斤蔓。 我是一名探鬼主播植酥,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼弦牡!你這毒婦竟也來了友驮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤驾锰,失蹤者是張志新(化名)和其女友劉穎卸留,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椭豫,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡耻瑟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了赏酥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喳整。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖裸扶,靈堂內(nèi)的尸體忽然破棺而出框都,到底是詐尸還是另有隱情,我是刑警寧澤呵晨,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布魏保,位于F島的核電站蔗蹋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏囱淋。R本人自食惡果不足惜猪杭,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妥衣。 院中可真熱鬧皂吮,春花似錦、人聲如沸税手。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芦倒。三九已至艺挪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兵扬,已是汗流浹背麻裳。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留器钟,地道東北人津坑。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像傲霸,于是被迫代替她去往敵國和親疆瑰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容