添加 '存储/ceph/base.md'
This commit is contained in:
parent
9e47826564
commit
cda079318c
1 changed files with 153 additions and 0 deletions
153
存储/ceph/base.md
Normal file
153
存储/ceph/base.md
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
### 模块
|
||||||
|
OSD: 核心,存储
|
||||||
|
MON: 监控
|
||||||
|
RGW(radiosgw): 对象存储需要
|
||||||
|
MDS: 文件存储需要
|
||||||
|
|
||||||
|
### 配置文件
|
||||||
|
/etc/ceph.conf
|
||||||
|
/etc/
|
||||||
|
|
||||||
|
* 时间需要同步
|
||||||
|
|
||||||
|
### 安装ceph-deploy
|
||||||
|
```shell
|
||||||
|
# 需要在生成免密登录服务器上执行
|
||||||
|
yum -y install ceph-deploy
|
||||||
|
# 帮助
|
||||||
|
ceph-deploy mon --help
|
||||||
|
```
|
||||||
|
### 创建节点生成配置文件
|
||||||
|
```shell
|
||||||
|
ceph-deploy new node1 node2 node3
|
||||||
|
```
|
||||||
|
### 安装ceph
|
||||||
|
```shell
|
||||||
|
yum -y install ceph-mon ceph-osd ceph-mds ceph-radosgw
|
||||||
|
# ceph-deploy也可以安装
|
||||||
|
ceph-deploy install node1 node2 node3
|
||||||
|
```
|
||||||
|
|
||||||
|
### 初始化节点(配置文件传输到节点,启动mon)
|
||||||
|
```shell
|
||||||
|
ceph-deploy mon create-initial
|
||||||
|
# 或以下
|
||||||
|
ceph-deploy mon add node1
|
||||||
|
ceph-deploy mon add node2
|
||||||
|
ceph-deploy mon add node3
|
||||||
|
```
|
||||||
|
### 查状态
|
||||||
|
```shell
|
||||||
|
ceph -s
|
||||||
|
```
|
||||||
|
### 创建osd
|
||||||
|
```shell
|
||||||
|
# 需要缓存盘用于缓存写入数据
|
||||||
|
# 若全部使用,可以使用ceph-deploy做,若有不同分区,需自行分区
|
||||||
|
parted /dev/vdb mklabel gpt
|
||||||
|
parted /dev/vdb mkpart primary 1 50%
|
||||||
|
parted /dev/vdb mkpart 50% 100%
|
||||||
|
# 修改所属用户与组,使ceph有权限写入
|
||||||
|
chown ceph:ceph /dev/vdb1
|
||||||
|
chown ceph:ceph /dev/vdb2
|
||||||
|
# 以上操作只能保证当前有效,重启会恢复。以下操作可以永久生效
|
||||||
|
cat >> /etc/udev/rules.d/70-vdb.rules <<EOF
|
||||||
|
ENV{DEVNAME}=="dev/vdb1",OWNER="ceph",GROUP="ceph"
|
||||||
|
ENV{DEVNAME}=="dev/vdb2",OWNER="ceph",GROUP="ceph"
|
||||||
|
EOF
|
||||||
|
# 格式化数据盘
|
||||||
|
ceph-deploy disk zap node1:/dev/vdc node1:/dev/vdd
|
||||||
|
ceph-deploy disk zap node2:/dev/vdc node2:/dev/vdd
|
||||||
|
ceph-deploy disk zap node3:/dev/vdc node3:/dev/vdd
|
||||||
|
|
||||||
|
# 创建osd vdc,缓存为/dev/vdb1, osd vdd,缓存/dev/vdb2,并启动服务
|
||||||
|
ceph-deploy osd create node1:vdc:/dev/vdb1 node1:vdd:/dev/vdb2
|
||||||
|
ceph-deploy osd create node2:vdc:/dev/vdb1 node2:vdd:/dev/vdb2
|
||||||
|
ceph-deploy osd create node3:vdc:/dev/vdb1 node3:vdd:/dev/vdb2
|
||||||
|
|
||||||
|
# 查看状态
|
||||||
|
ceph -s
|
||||||
|
# 查看osd信息
|
||||||
|
ceph osd tree
|
||||||
|
```
|
||||||
|
## 存储池
|
||||||
|
```shell
|
||||||
|
# 默认已经创建0 rdb
|
||||||
|
ceph osd lspools
|
||||||
|
```
|
||||||
|
## 镜像
|
||||||
|
```shell
|
||||||
|
# layering: 开启cow功能,写时复制(可以做增量快照)
|
||||||
|
rdb create <image-name> --image-feature layering --size 10g
|
||||||
|
rdb create <pool-name>/<image-name> --image-feature layering --size 10g
|
||||||
|
|
||||||
|
# 查看
|
||||||
|
rbd list
|
||||||
|
rbd info <image-name>
|
||||||
|
# 扩缩
|
||||||
|
# --allow-shrink: 缩减需要添加
|
||||||
|
rbd resize --rize 7G <image-name> --allow-shrink
|
||||||
|
```
|
||||||
|
|
||||||
|
## 客户端访问
|
||||||
|
```shell
|
||||||
|
# 客户端安装
|
||||||
|
yum install -y ceph-common
|
||||||
|
# 配置文件及密码
|
||||||
|
# 从集群中复制相应文件
|
||||||
|
/etc/ceph/ceph.conf
|
||||||
|
/etc/ceph/ceph.client.admin.keyring
|
||||||
|
|
||||||
|
# 添加集群
|
||||||
|
rbd map <image-name>
|
||||||
|
# 查看本地磁盘
|
||||||
|
# 本地多了rbd*,可以正常格式化挂载操作
|
||||||
|
lsblk
|
||||||
|
|
||||||
|
# 查看image使用情况
|
||||||
|
rbd showmapped
|
||||||
|
# 查看image
|
||||||
|
rbd image list
|
||||||
|
```
|
||||||
|
## 快照
|
||||||
|
ceph多副本,保证osd异常时,数据不丢失
|
||||||
|
快照防止误操作
|
||||||
|
```shell
|
||||||
|
# 查看image快照
|
||||||
|
rbd snap ls <image-name>
|
||||||
|
# 创建快照
|
||||||
|
rdb snap creat image --snap <snap-image>
|
||||||
|
# 操作数据,如删除
|
||||||
|
# 卸载挂载目录(挂载地方)
|
||||||
|
umount /mnt
|
||||||
|
# 还原数据(恢复快照)
|
||||||
|
rbd snap rollback <image> --snap <snap-name>
|
||||||
|
# 重新挂载目录即可恢复数据
|
||||||
|
```
|
||||||
|
## 克隆
|
||||||
|
```shell
|
||||||
|
# 使用快照克隆比较快
|
||||||
|
# protect: 保护snap,防止被删
|
||||||
|
rbd snap protect <image-name> --snap <snap-name>
|
||||||
|
# 如下命令会删除失败
|
||||||
|
rbd snap rm <imag-name> --snap <snap-name>
|
||||||
|
# 克隆image
|
||||||
|
rbd clone <image-name> --snap <snap-name> image-clone --image-feature layering
|
||||||
|
# 查看父子image
|
||||||
|
rbd info <image-name-clone>
|
||||||
|
# 去掉父子关系, 使复制后的image独立工作,需要时间
|
||||||
|
rbd flatten <image-name-clone>
|
||||||
|
# 快照删除
|
||||||
|
rbd snap unprotect <image-name> --snap <snap-name>
|
||||||
|
rbd snap rm <imag-name> --snap <snap-name>
|
||||||
|
```
|
||||||
|
## 本地去掉盘
|
||||||
|
```shell
|
||||||
|
umount /mnt
|
||||||
|
rbd unmap <image-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue