【ceph运维】不含秘钥nautilus版ceph集群手动部署

mon部署

1. 为集群生成一个唯一的ID(即fsid)。

uuidgen

2. Create a default data directory (or directories) on the monitor host(s).

sudo mkdir /var/lib/ceph/mon/{cluster-name}-{hostname}

例如:

sudo -u ceph mkdir /var/lib/ceph/mon/ceph-node01

3. Generate a monitor map using the hostname(s), host IP address(es) and the FSID. Save it as /tmp/monmap:

monmaptool --create --add {hostname} {ip-address} --fsid {uuid} /tmp/monmap

例如:

monmaptool --create --addv cephqa04 [v2:192.168.0.2:3300,v1:192.168.0.1:6789]  \
                    --addv cephqa05 [v2:192.168.0.2:3300,v1:192.168.0.2:6789] \ 
                    --addv cephqa07 [v2:192.168.0.3:3300,v1:192.168.0.3:6789] \
                    --fsid 0e80c6ce-8894-4022-9589-5b6d9b01a5a0  /tmp/monmap

4. Populate the monitor daemon(s) with the monitor map.

sudo -u ceph ceph-mon [--cluster {cluster-name}] --mkfs -i {hostname} --monmap /tmp/monmap 

例如:

sudo -u ceph ceph-mon --mkfs -i node01 --monmap /tmp/monmap

5. 启动monitor进程: 

sudo systemctl start ceph-mon@node01

osd部署

 1. 部署osd

ceph-volume lvm create --bluestore --data /dev/sdx  --block.wal /dev/nsdy --block.db /dev/sdz
ceph-volume  lvm create --bluestore --data /dev/sdx --block.db /dev/sdy
ceph-volume  lvm create --bluestore --data /dev/sdx

 

【注意】

1. 如果要重建osd

ceph-volume lvm zap /dev/sdc --destroy

 2. 如果遇到逻辑卷无法删除

dmsetup remove {lv name}

 注意:创建物理卷出现如下错误 Can't initialize physical volume的解决方法:  pvcreate -ff -y /dev/sdb 

1. Ceph 创建 OSD 报错 ‘GPT headers found, they must be removed’ 的处理:

该错误关键点就是 GPT headers found, they must be removed,发生原因应该是之前磁盘被分区过,虽然删掉了分区,但是还存在 GPT 数据结构,使用 sgdisk 命令进行清除。
sgdisk --zap-all /dev/sdX

部署mgr

执行命令:

ceph auth get-or-create mgr.cephqa07 mon 'allow profile mgr'

执行命令:

systemctl start ceph-mgr@mgr_id

部署rgw

方法1:

在集群中创建keyring:

sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring
sudo chmod +r /etc/ceph/ceph.client.radosgw.keyring

生成ceph-radosgw服务对应的用户和key:

ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.rgw.node1 --gen-key 

添加用户访问权限:

ceph-authtool -n client.rgw.node1 --cap osd 'allow rwx' --cap mon 'allow rwx' /etc/ceph/ceph.client.radosgw.keyring 

将keyring导入集群中:

ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.rgw.node1 -i /etc/ceph/ceph.client.radosgw.keyring 

方法2:

1. 执行命令:

ceph auth get-or-create client.rgw.cephqaxx.rgw1 mon "allow rw" osd "allow rwx"

2. 修改ceph.conf 文件:/etc/ceph/ceph.conf

3. 启动radosgw进程:

systemctl start ceph-radosgw@rgw.cephqaxx.rgw1

 

部署mds

1. 创建mds数据目录:

mkdir -p /var/lib/ceph/mds/{cluster-name}-{id}

例如:

mkdir -p /var/lib/ceph/mds/ceph-node01

2. 创造一个 keyring:

ceph-authtool --create-keyring /var/lib/ceph/mds/{cluster-name}-{id}/keyring --gen-key -n mds.{id}

例如:

ceph-authtool --create-keyring /var/lib/ceph/mds/ceph-node01/keyring --gen-key -n mds.node01

3. 导入keyring并设置caps。

ceph auth add mds.{id} osd "allow rwx" mds "allow *" mon "allow profile mds" -i /var/lib/ceph/mds/{cluster}-{id}/keyring

例如:

ceph auth add mds.node01 osd "allow rwx" mds "allow *" mon "allow profile mds" -i /var/lib/ceph/mds/ceph-node01/keyring

4. cephfs 需要两个pool池,cephfs_data 和 cephfs_metadata,分别存储文件数据和文件元数据

创造数据 pool

ceph osd pool create cephfs_data 128

创造元数据pool

ceph osd pool create cephfs_metadata 128

启动pool

ceph fs new cephfs cephfs_metadata cephfs_data  # 元数据池在前,数据池在后

查看cephfs

ceph fs ls

4 创建一个 CephFS, 名字为 cephfs。

语法格式如下:

ceph fs authorize <fs_name> client.<client_id> <path-in-cephfs> rw

例如:

ceph fs new cephfs cephfs_metadata cephfs_data

验证至少有一个 MDS 已经进入 Active 状态

ceph fs status cephfs

运行结果如下:

[root@node01 ceph]# ceph fs status cephfs
cephfs - 2 clients
======
+------+--------+--------+---------------+-------+-------+
| Rank | State  |  MDS   |    Activity   |  dns  |  inos |
+------+--------+--------+---------------+-------+-------+
|  0   | active | node01 | Reqs:    0 /s |   22  |   16  |
+------+--------+--------+---------------+-------+-------+
+-----------------+----------+-------+-------+
|       Pool      |   type   |  used | avail |
+-----------------+----------+-------+-------+
| cephfs_metadata | metadata | 2304k | 51.3G |
|   cephfs_data   |   data   |  467M | 51.3G |
+-----------------+----------+-------+-------+
+-------------+
| Standby MDS |
+-------------+
+-------------+
MDS version: ceph version 14.2.10-4-g005cd9d2a2d (005cd9d2a2dcae42ed1b980c1b1629897c996cc7) nautilus (stable)
[root@node01 ceph]# 

 

在 Monitor 上, 创建一个用户,用于访问CephFs

ceph auth get-or-create client.cephfs mon 'allow r' mds 'allow rw' osd 'allow rw pool=cephfs_data, allow rw pool=cephfs_metadata'

 

客户端挂载

1. 基于内核

2. 基于ceph-fuse工具

yum install ceph-fuse
ceph-fuse -n client.egon -m mon01:6789,mon02:6789,mon03:6789 /mnt -o nonempty

注意:挂载源为文件系统的根,/mnt为挂载点,挂在时,如果/mnt不为空会挂载失败,此时可以清空,或者指定-o nonempty,然后重新挂载。

 

参考资料

1. ceph-volume 创建osd

2. 手动部署ceph集群

3. cephfs部署

4. 部署mds文件系统

posted @ 2021-11-03 09:43  苏格拉底的落泪  阅读(575)  评论(0编辑  收藏  举报