ceph存盤集群安裝(按照檔案步驟就可以搭建成功)
檔案分別坐了創建ceph集群,使用客戶端掛載ceph塊存盤
#####跟著檔案部署的時候一定要仔細看每一個字一定要一定要一定要(每一個字都很重要)
#私自轉載請聯系博主否則必定追究著作權 下方有微信
系統環境:
除客戶端全部為centos7每臺機器有兩個磁盤第二個磁盤作為ceph存盤磁盤
| IP | 節點名稱 |
|---|---|
| 192.168.182.150 | admin |
| 192.168.182.151 | ceph-1 |
| 192.168.182.152 | ceph-2 |
| 192.168.182.129 | client |
檔案內寫的三個節點都需要執行指的是admin、ceph-1、ceph-2三個節點
1、設定三個節點一個客戶端的主機名稱,
admin節點執行
[root@admin ~]# hostnamectl set-hostname admin
ceph-1節點執行
[root@ceph-1 ~]# hostnamectl set-hostname ceph-1
ceph-2節點執行
[root@ceph-2 ~]# hostnamectl set-hostname ceph-2
client客戶端執行
[root@client ~]# hostnamectl set-hostname client
2、把三個節點主機名稱寫入hosts檔案,并且關閉firewalld、selinux(臨時關閉),
#三個節點都需要執行
echo -e "192.168.182.150 admin\n192.168.182.151 ceph-1\n192.168.182.152 ceph-2" >>/etc/hosts
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
3、避免時間出錯,安裝ntp服務作為時間管理,
#三個節點都需要執行
[root@admin ~]# yum -y install ntp
[root@admin ~]# ntpdate edu.ntp.org.cn
4、由于ceph不能用root用戶執行,為ceph創建普通用戶、設定密碼(為了安全起見我們也不設定為ceph),
#三個節點都需要執行
useradd cphe
echo 123456|passwd --stdin cphe
5、確認新創建的用戶都有sudo權限
echo "cphe ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/cphe
sudo chmod 0440 /etc/sudoers.d/cphe
6、設定免密鑰登陸(因為 后面ceph-deploy的時候不會提示輸入密碼),
(以下命令不可直接復制ssh-keygen 直接回車ssh-copy-id cphe@ceph-1 輸入cphe密碼)
admin節點執行(執行此命令的時候需要切換到剛才創建的用戶也就是cphe)
[cphe@admin my-cluster]$ ssh-keygen
[cphe@admin my-cluster]$ ssh-copy-id -i /home/cphe/.ssh/id_rsa.pub cphe@admin
[cphe@admin my-cluster]$ ssh-copy-id -i /home/cphe/.ssh/id_rsa.pub cphe@ceph-1
[cphe@admin my-cluster]$ ssh-copy-id -i /home/cphe/.ssh/id_rsa.pub cphe@ceph-2
7、設定yum源并安裝ceph的key
#三個節點都需要執行
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*
echo -e "[ceph-noarch]\nname=Ceph noarch packages\nbaseurl=http://download.ceph.com/rpm-15.2.8/el7/noarch/\nenabled=1\ngpgcheck=1\ntype=rpm-md\ngpgkey=https://download.ceph.com/keys/release.asc" > /etc/yum.repos.d/ceph.repo
8、安裝部署工具ceph-deploy 管理ceph集群并創建集群目錄(注意切換到剛才創建的用戶)
admin節點執行
[root@admin ~]# yum -y install python-pip ceph-deploy
[root@admin ]# su - cphe
[cphe@admin ~]$ mkdir my-cluster
[cphe@admin ~]$ cd my-cluster/
9、使用ceph-deploy進行節點部署(注意切換到剛才創建的用戶)
admin節點部署
[cphe@admin my-cluster]$ ceph-deploy new admin ceph-1 ceph-2
##執行完之后可以ls查看下當前目錄有集群的組態檔和部署日志
10、配置集群網路和共有網路
admin節點執行
[cphe@admin my-cluster]$ echo -e "public network = 192.168.182.0/24\ncluster network = 192.168.182.0/24" >> /home/cphe/my-cluster/ceph.conf
11、開始為各個節點安裝ceph ceph-radosgw (官方給的命令是ceph-deploy install admin ceph-1 ceph-2但是由于網路太慢無法安裝采用阿里云源的辦法安裝)
##三個節點都需要執行(注意admin節點上面要使用sudo 或者另外開啟一個root視窗)
##下載阿里云的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
##添加阿里源:
echo -e "[ceph]\nname=ceph\nbaseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/x86_64/\ngpgcheck=0\n[ceph-noarch]\nname=cephnoarch\nbaseurl=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/\ngpgcheck=0" >/etc/yum.repos.d/ceph.repo
yum -y install ceph ceph-radosgw
12、配置初始 monitor(s)、并收集所有密鑰
[cphe@admin my-cluster]$ ceph-deploy mon create-initial
13、用 ceph-deploy 把組態檔和 admin 密鑰拷貝到管理節點和 Ceph 節點,這樣你每次執行 Ceph 命令列時就無需指定 monitor 地址和 ceph.client.admin.keyring 了,
admin節點執行
[cphe@admin my-cluster]$ ceph-deploy admin admin ceph-1 ceph-2
14、格式化磁盤并創建osd
[cphe@admin my-cluster]$ ceph-deploy disk zap admin:sdb
#執行上面命令會出錯,我查看了我的ceph-deploy版本是2.0版本的
#卸載2.0版本的ceph-deploy
#安裝ceph-deploy=1.5.39
[cphe@admin my-cluster]$ sudo yum -y remove ceph-deploy
[cphe@admin my-cluster]$ sudo pip install ceph-deploy==1.5.39
[cphe@admin my-cluster]$ ceph-deploy disk zap admin:sdb
[cphe@admin my-cluster]$ ceph-deploy disk zap ceph-1:sdb
[cphe@admin my-cluster]$ ceph-deploy disk zap ceph-2:sdb
[cphe@admin my-cluster]$ ceph-deploy osd create admin:sdb
[cphe@admin my-cluster]$ ceph-deploy osd create ceph-1:sdb
[cphe@admin my-cluster]$ ceph-deploy osd create ceph-2:sdb
15、給檔案增加可讀權限并查看集群狀態
admin節點執行
[cphe@admin my-cluster]$ sudo chmod +r /etc/ceph/ceph.client.admin.keyring
[cphe@admin my-cluster]$ ceph health
HEALTH_OK##這是回傳值
HEALTH_WARN 64 pgs degraded; 64 pgs stuck unclean; 64 pgs undersized##也有可能是這樣的回傳值繼續就好
16、為客戶端配置yum源并且安裝ceph
###注意是在哪臺機器上執行的
[cphe@admin my-cluster]$ scp /etc/yum.repos.d/* root@192.168.182.129:///etc/yum.repos.d/
[root@client ~]# yum -y install ceph
17、為客戶端拷貝ceph組態檔和key檔案
admin節點執行
[cphe@admin my-cluster]$ scp /home/cphe/my-cluster/ceph.conf root@192.168.182.129://etc/ceph/
[cphe@admin my-cluster]$ scp /home/cphe/my-cluster/ceph.client.admin.keyring root@192.168.182.129://etc/ceph/
18、查看集群快設備池并創建塊設備池也可以使用默認的rbd
client節點執行
[root@client ~]# ceph osd lspools
0 rbd,
[root@client ~]# ceph osd pool create wlrbd 128
pool 'wlrbd' created
[root@client ~]# ceph osd lspools
0 rbd,1 wlrbd,
19、創建塊設備并且查看
client節點執行
[root@client ~]# rbd create rbd1 --size 10240 --name client.admin
[root@client ~]# rbd ls
rbd1
[root@client ~]# rbd ls -p rbd --name client.admin
rbd1
以上兩種辦法都可以查看因為我們就有一個rbd1的塊設備
[root@client ~]# rbd list --name client.admin ##這是查看所有rbd設備
rbd1
[root@client ~]# [root@client ~]# rbd --image rbd1 info --name client.admin ##查看詳情
rbd image 'rbd1':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.37746b8b4567
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
flags:
20、在 ceph-client 節點上,把 image 映射為塊設備并且格式化設備,(會報錯內核不支持某些功能跟據上文保留layering功能其他禁用掉就可以)
client節點執行
[root@client ~]# rbd map --image rbd1 --name client.admin
rbd: sysfs write failed
RBD image feature set mismatch. You can disable features unsupported by the kernel with "rbd feature disable".
In some cases useful info is found in syslog - try "dmesg | tail" or so.
rbd: map failed: (6) No such device or address
[root@client ~]# rbd feature disable rbd1 exclusive-lock object-map fast-diff deep-flatten
[root@client ~]# rbd map --image rbd1 --name client.admin
/dev/rbd0
[root@client ~]# rbd showmapped --name client.admin ##查看設備資訊
id pool image snap device
0 rbd rbd1 - /dev/rbd0
[root@client ~]# mkfs.ext4 -m0 /dev/rbd0
21、創建掛載磁盤目錄并掛在磁盤
client節點執行
[root@client ~]# mkdir /mnt/ceph-1
[root@client ~]# mount /dev/rbd0 /mnt/ceph-1
[root@client ~]# df -hT /mnt/ceph-1
檔案系統 型別 容量 已用 可用 已用% 掛載點
/dev/rbd0 ext4 9.8G 37M 9.7G 1% /mnt/ceph-1
wx:a1362623821
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/241502.html
標籤:其他
