ceph 安装记录
ceph 安装 http://docs.ceph.com/docs/master/start/quick-ceph-deploy/
1. 系统要求 centos 7
systemctl disable firewalld
systemctl stop firewalld
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
将如下内容写入到 /etc/yum.repos.d/ceph.repo
中
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://download.ceph.com/rpm/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://download.ceph.com/keys/release.asc
然后执行 yum update && yum install ceph-deploy
2. 相关依赖
yum install ntp ntpdate
3. 环境相关
3.1 需要在 每一个节点
为 ceph 创建用户, 并设置 sudo 权限, 虽然可以拥有不同的用户名,但是这里为了省事都叫 uceph
useradd -d /home/uceph -m uceph
passwd uceph
echo "uceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/uceph
chmod 0440 /etc/sudoers.d/uceph
3.2 切到 uceph 用户,让 admin-node 能无密钥 ssh 到各节点
ssh-keygen
ssh-copy-id uceph@{node1}
4. 安装 EPEL
sudo yum install yum-plugin-priorities
5. 至此,admin-node 以及各 node 都准备好了,下面可以通过 admin-node 把 ceph 安装到各 node 中了。
安装到各节点
6. 首先创建集群, 传入 monitor 的节点
mkdir ceph-cluster
cd ceph-cluster
ceph-deploy new node1[, node2...]
这样 ceph-cluster
目录下就有了一些配置文件:
ceph.conf
ceph.mon.keyring
*.log
修改 ceph.conf
配置里面的 public network 10.0.5.0/mask
7. 执行安装
ceph-deploy install node1 node2 node3
如果安装失败就
yum remove epel-release
然后再重新弄
8. 初始化监控
ceph-deploy mon create-initial
# 失败了就多来几次
得到一些 keyring
文件
- ceph.client.admin.keyring
- ceph.bootstrap-mgr.keyring
- ceph.bootstrap-osd.keyring
- ceph.bootstrap-mds.keyring
- ceph.bootstrap-rgw.keyring
- ceph.bootstrap-rbd.keyring
9. 把 admin key 等分发到各 node 这样以后直接执行命令不需要授权啥的了,有相关工具
ceph-deploy admin node1 node2 node3
10. 创建一个 managere daemon (luminous 版本之后的才需要)
ceph-deploy mgr create node1
11. 添加 osd
# parted -s /dev/sdb mklabel gpt 超大硬盘需要先改成 gpt
ceph-deploy osd create node1:sdb node2:sdb
## 以后想再添加硬盘时也是通过这个命令
12. 验证
[uceph@node1 ceph-cluster]$ sudo ceph health
HEALTH_WARN 64 pgs degraded; 64 pgs undersized
[uceph@node1 ceph-cluster]$ sudo ceph -s
cluster f8bb8f53-2331-48a7-9529-63389650e247
health HEALTH_WARN
64 pgs degraded
64 pgs undersized
monmap e1: 1 mons at {node1=10.100.86.51:6789/0}
election epoch 3, quorum 0 node1
osdmap e9: 2 osds: 2 up, 2 in
flags sortbitwise,require_jewel_osds
pgmap v18: 64 pgs, 1 pools, 0 bytes data, 0 objects
68392 kB used, 10151 MB / 10217 MB avail
64 active+undersized+degraded
下面是测试验证环节
13. 创建一个 pool
rbd create foo --size 4 --image-format 2 --image-feature layering
rbd 创建文件异常可参考 http://blog.51cto.com/michaelkang/1786309
14. 挂载和格式化
rbd map foo
sudo mkfs.ext4 -m0 /dev/rbd0
mkdir ~/foo
mount /dev/rbd0 ~/foo
15. The End
经历比结果更重要