分布式存储ceph---部署ceph
Posted renyz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式存储ceph---部署ceph相关的知识,希望对你有一定的参考价值。
一、部署准备
准备5台机器(linux系统为centos7.6版本),当然也可以至少3台机器并充当部署节点和客户端,可以与ceph节点共用:
1台部署节点(配一块硬盘,运行ceph-depoly)
3台ceph节点(配两块硬盘,第一块为系统盘并运行mon,第二块作为osd数据盘)
1台客户端(可以使用ceph提供的文件系统,块存储,对象存储)
[root@ren3 ~]# lsblk 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 5G 0 disk sdc 8:32 0 5G 0 disk sr0 11:0 1 4.3G 0 rom [root@ren3 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xf44577f9 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p 分区号 (1-4,默认 1): 起始 扇区 (2048-10485759,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759): 将使用默认值 10485759 分区 1 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):p 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xf44577f9 设备 Boot Start End Blocks Id System /dev/sdb1 2048 10485759 5241856 83 Linux 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@ren3 ~]# fdisk /dev/sdc 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0xa7937c9d 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p 分区号 (1-4,默认 1): 起始 扇区 (2048-10485759,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759): 将使用默认值 10485759 分区 1 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@ren3 ~]# lsblk 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 5G 0 disk └─sdb1 8:17 0 5G 0 part sdc 8:32 0 5G 0 disk └─sdc1 8:33 0 5G 0 part sr0 11:0 1 4.3G 0 rom [root@ren3 ~]# mkfs -t xfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=4, agsize=327616 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=1310464, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@ren3 ~]# mkfs -t xfs /dev/sdc1 meta-data=/dev/sdc1 isize=512 agcount=4, agsize=327616 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=1310464, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
1、所有ceph集群节点(包括客户端)设置静态域名解析;
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.11.3 ren3 #openstack 控制节点(ceph节点1) 192.168.11.4 ren4 #openstack 计算节点(ceph节点2) 192.168.11.5 ren5 #openstack 存储节点(ceph节点3) 192.168.11.6 ren6 #ceph 部署节点
2、所有集群节点(包括客户端)创建cent用户,并设置密码,后执行如下命令:
useradd cent && echo "123" | passwd --stdin cent echo -e ‘Defaults:cent !requiretty cent ALL = (root) NOPASSWD:ALL‘ | tee /etc/sudoers.d/ceph chmod 440 /etc/sudoers.d/ceph
3、在部署节点切换为cent用户,设置无密钥登陆各节点包括客户端节点;
[root@ren6 ~]# su - cent [cent@ren6 ~]$ ssh-keygen [cent@ren6 ~]$ ssh-copy-id ren3 [cent@ren6 ~]$ ssh-copy-id ren4 [cent@ren6 ~]$ ssh-copy-id ren5
/etc/ssh/sshd_confid文件中的PasswordAuthentication yes需要改为yes
4、在部署节点切换为cent用户,在cent用户家目录,设置如下文件:vi~/.ssh/config# create new ( define all nodes and users );
Host ren6
Hostname ren6
User cent
Host ren3
Hostname ren3
User cent
Host ren4
Hostname ren4
User cent
Host ren5
Hostname ren5
User cent
chmod 600 ~/.ssh/config
二、所有节点配置国内ceph源
1、all-node(包括客户端)在/etc/yum.repos.d/创建 ceph-yunwei.repo
[ceph-yunwei] name=ceph-yunwei-install baseurl=https://mirrors.aliyun.com/centos/7/storage/x86_64/ceph-jewel/ enable=1 gpgcheck=0
或者也可以将如上内容添加到现有的 CentOS-Base.repo 中。
2、到国内ceph源中https://mirrors.aliyun.com/centos/7.6.1810/storage/x86_64/ceph-jewel/下载如下所需rpm包。注意:红色框中为ceph-deploy的rpm,只需要在部署节点安装,下载需要到https://mirrors.aliyun.com/ceph/rpm-jewel/el7/noarch/中找到最新对应的ceph-deploy-xxxxx.noarch.rpm 下载
ceph-10.2.11-0.el7.x86_64.rpm ceph-base-10.2.11-0.el7.x86_64.rpm ceph-common-10.2.11-0.el7.x86_64.rpm ceph-deploy-1.5.39-0.noarch.rpm ceph-devel-compat-10.2.11-0.el7.x86_64.rpm cephfs-java-10.2.11-0.el7.x86_64.rpm ceph-fuse-10.2.11-0.el7.x86_64.rpm ceph-libs-compat-10.2.11-0.el7.x86_64.rpm ceph-mds-10.2.11-0.el7.x86_64.rpm ceph-mon-10.2.11-0.el7.x86_64.rpm ceph-osd-10.2.11-0.el7.x86_64.rpm ceph-radosgw-10.2.11-0.el7.x86_64.rpm ceph-resource-agents-10.2.11-0.el7.x86_64.rpm ceph-selinux-10.2.11-0.el7.x86_64.rpm ceph-test-10.2.11-0.el7.x86_64.rpm libcephfs1-10.2.11-0.el7.x86_64.rpm libcephfs1-devel-10.2.11-0.el7.x86_64.rpm libcephfs_jni1-10.2.11-0.el7.x86_64.rpm libcephfs_jni1-devel-10.2.11-0.el7.x86_64.rpm librados2-10.2.11-0.el7.x86_64.rpm librados2-devel-10.2.11-0.el7.x86_64.rpm libradosstriper1-10.2.11-0.el7.x86_64.rpm libradosstriper1-devel-10.2.11-0.el7.x86_64.rpm librbd1-10.2.11-0.el7.x86_64.rpm librbd1-devel-10.2.11-0.el7.x86_64.rpm librgw2-10.2.11-0.el7.x86_64.rpm librgw2-devel-10.2.11-0.el7.x86_64.rpm python-ceph-compat-10.2.11-0.el7.x86_64.rpm python-cephfs-10.2.11-0.el7.x86_64.rpm python-rados-10.2.11-0.el7.x86_64.rpm python-rbd-10.2.11-0.el7.x86_64.rpm rbd-fuse-10.2.11-0.el7.x86_64.rpm rbd-mirror-10.2.11-0.el7.x86_64.rpm rbd-nbd-10.2.11-0.el7.x86_64.rpm
3、将下载好的rpm拷贝到所有节点,并安装。注意ceph-deploy-xxxxx.noarch.rpm 只有部署节点用到,其他节点不需要,部署节点也需要安装其余的rpm
4、在部署节点(cent用户下执行):安装 ceph-deploy,在root用户下,进入下载好的rpm包目录,执行:
yum localinstall -y ./*
(或者sudo yum install ceph-deploy)
创建ceph工作目录
mkdir ceph && cd ceph
以上是关于分布式存储ceph---部署ceph的主要内容,如果未能解决你的问题,请参考以下文章