ceph集群搭建
ceph
ceph的构成
- Ceph OSD 守护进程: Ceph OSD 用于存储数据。此外,Ceph OSD 利用 Ceph 节点的 CPU、内存和网络来执行数据复制、纠删代码、重新平衡、恢复、监控和报告功能。存储节点有几块硬盘用于存储,该节点就会有几个osd进程。
- Ceph Mon监控器: Ceph Mon维护 Ceph 存储集群映射的主副本和 Ceph 存储群集的当前状态。监控器需要高度一致性,确保对Ceph 存储集群状态达成一致。维护着展示集群状态的各种图表,包括监视器图、 OSD 图、归置组( PG )图、和 CRUSH 图。
- MDSs: Ceph 元数据服务器( MDS )为 Ceph 文件系统存储元数据。
- RGW:对象存储网关。主要为访问ceph的软件提供API接口。
搭建ceph集群
主机名 | IP地址 |
---|
node1 | 172.18.10.11/24 |
node2 | 172.18.10.12/24 |
node3 | 172.18.10.13/24 |
client1 | 172.18.10.10/24 |
- 关机,为node1-node3各添加2块20GB的硬盘
[root@node1 ~]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 253:16 0 20G 0 disk
sdc 253:32 0 20G 0 disk
- node1挂载centos镜像。搭建vsftpd服务
mount /dev/cdrom /media
cd /media/Packages
rpm -ivh vsftpd*.rpm
systemctl enable vsftpd --now
umount /media
mkdir /var/ftp/centos
cat >> /etc/fstab<<eof
/dev/cdrom /var/ftp/centos iso9660 loop 0 0
eof
cd ~
tar xvf ceph-repo.tar.gz -C /var/ftp/
cd /etc/yum.repos.d/
rm -rf *
cat >> ftp.repo<<eof
[centos]
name=centos
baseurl=ftp://172.18.10.11/centos
enabled=1
gpgcheck=0
[ceph-repo]
name=ceph-repo
baseurl=ftp://172.18.10.11/ceph-repo
enabled=1
gpgcheck=0
eof
yum makecache
cat >> /etc/hosts<<eof
172.18.10.10 client
172.18.10.11 node1
172.18.10.12 node2
172.18.10.13 node3
eof
ssh-keygen
for i in client node{1..3}
do
ssh-copy-id $i
done
cd /etc/yum.repos.d/
for i in client node{2..3}
do
scp ftp.repo $i:$PWD
done
-
各节点务必关闭selinux和防火墙
-
集群安装前的准备工作
- 安装集群
```shell
[root@node1 ~]
> do
> ssh $i yum install -y ceph-mon ceph-osd ceph-mds ceph-radosgw
> done
[root@client1 ~]
[root@client1 ~]
29 allow 172.18.10.0/24
33 local stratum 10
[root@client1 ~]
[root@node1 ~]
> do
> ssh $i yum install -y chrony
> done
[root@node1 ~]
7 server 172.18.10.10 iburst
[root@node1 ~]
> do
> scp /etc/chrony.conf $i:/etc/
> done
[root@node1 ~]
> do
> ssh $i systemctl restart chronyd
> done
[root@node1 ~]
... ...
^* client1 10 6 17 40 -4385ns[-1241us] +/- 162us
[root@node1 ~]
[root@node1 ~]
[root@node1 ~]
[root@node1 ~]
[root@node1 ~]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
ceph.conf ceph-deploy-ceph.log ceph.mon.keyring
[root@node1 ceph-cluster]
.
├── ceph.conf
├── ceph-deploy-ceph.log
└── ceph.mon.keyring
[root@node1 ceph-cluster]
rbd_default_features = 1
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
● ceph-mon@node1.service .. ..
[root@node2 ~]
● ceph-mon@node2.service ... ...
[root@node3 ~]
● ceph-mon@node3.service ... ...
[root@node1 ceph-cluster]
health HEALTH_ERR
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@node1 Packages]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
├─sdb1 8:17 0 15G 0 part /var/lib/ceph/osd/ceph-0
└─sdb2 8:18 0 5G 0 part
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 15G 0 part /var/lib/ceph/osd/ceph-1
└─sdc2 8:34 0 5G 0 part
sr0 11:0 1 8.8G 0 rom /media
sr1 11:1 1 284M 0 rom /ceph
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
health HEALTH_OK
实现块存储
- 块设备存取数据时,可以一次存取很多。字符设备只能是字符流
[root@node1 ceph-cluster]
brw-rw---- 1 root disk 253, 0 11月 4 10:15 /dev/sda
[root@node1 ceph-cluster]
crw-rw-rw- 1 root tty 5, 0 11月 4 10:54 /dev/tty
- 块存储,就是可以提供像硬盘一样的设备。使用块存储的节点,第一次连接块设备,需要对块设备进行分区、格式化,然后挂载使用。
- ceph提供存储时,需要使用存储池。为了给客户端提供存储资源,需要创建名为存储池的容器。存储池类似于逻辑卷管理中的卷组。卷组中包含很多硬盘和分区;存储池中包含各节点上的硬盘。
[root@node1 ceph-cluster]
0 rbd,
[root@node1 ceph-cluster]
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
92093M 91889M 203M 0.22
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 16 0 30629M 3
[root@node1 ceph-cluster]
size: 3
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
demo-image
[root@node1 ceph-cluster]
rbd image 'demo-image':
size 10240 MB in 2560 objects
order 22 (4096 kB objects)
block_name_prefix: rbd_data.1035238e1f29
format: 2
features: layering
flags:
[root@node1 ceph-cluster]
Resizing image: 100% complete...done.
[root@node1 ceph-cluster]
rbd image 'demo-image':
size 15360 MB in 3840 objects
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
rbd image 'demo-image':
size 7168 MB in 1792 objects
客户端使用块设备
- 怎么用?装软件
- ceph集群在哪?通过配置文件说明集群地址
- 权限。keyring文件
[root@client1 ~]
[root@node1 ceph-cluster]
[root@node1 ceph-cluster]
[root@client1 ~]
demo-image
[root@client1 ~]
/dev/rbd0
[root@client ~]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
rbd0 252:0 0 7G 0 disk
[root@client1 ~]
/dev/rbd0
[root@client1 ~]
id pool image snap device
0 rbd demo-image - /dev/rbd0
[root@client1 ~]
[root@client1 ~]
[root@client1 ~]
文件系统 容量 已用 可用 已用% 挂载点
/dev/rbd0 7.0G 33M 7.0G 1% /mnt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)