From bb9de18c314a972962a91483e288551dd2ab7677 Mon Sep 17 00:00:00 2001 From: zhang_xubo <2578876417@qq.com> Date: Sat, 18 Feb 2023 19:25:15 +0800 Subject: [PATCH] add single opengauss with ceph deploy guide --- content/zh/post/zhangxb/ddes/cephv.png | Bin 0 -> 5260 bytes content/zh/post/zhangxb/ddes/disk.png | Bin 0 -> 5616 bytes content/zh/post/zhangxb/ddes/dmsoff.png | Bin 0 -> 3965 bytes content/zh/post/zhangxb/ddes/lsp.png | Bin 0 -> 12814 bytes content/zh/post/zhangxb/ddes/lsvg.png | Bin 0 -> 7596 bytes content/zh/post/zhangxb/ddes/oel_deploy.png | Bin 0 -> 10836 bytes ...Gauss-DSS-Ceph\351\203\250\347\275\262.md" | 277 ++++++++++++++++++ 7 files changed, 277 insertions(+) create mode 100644 content/zh/post/zhangxb/ddes/cephv.png create mode 100644 content/zh/post/zhangxb/ddes/disk.png create mode 100644 content/zh/post/zhangxb/ddes/dmsoff.png create mode 100644 content/zh/post/zhangxb/ddes/lsp.png create mode 100644 content/zh/post/zhangxb/ddes/lsvg.png create mode 100644 content/zh/post/zhangxb/ddes/oel_deploy.png create mode 100644 "content/zh/post/zhangxb/openGauss-DSS-Ceph\351\203\250\347\275\262.md" diff --git a/content/zh/post/zhangxb/ddes/cephv.png b/content/zh/post/zhangxb/ddes/cephv.png new file mode 100644 index 0000000000000000000000000000000000000000..5d623c7768307ac8d3048f4b0dc1be2917413574 GIT binary patch literal 5260 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 literal 0 HcmV?d00001 diff --git a/content/zh/post/zhangxb/ddes/lsp.png b/content/zh/post/zhangxb/ddes/lsp.png new file mode 100644 index 0000000000000000000000000000000000000000..508f701216ef19fd478b0c0d5ed511d22d5629ba GIT binary patch literal 12814 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 Ms|w4#^VIME08oQwo&W#< literal 0 HcmV?d00001 diff --git a/content/zh/post/zhangxb/ddes/lsvg.png b/content/zh/post/zhangxb/ddes/lsvg.png new file mode 100644 index 0000000000000000000000000000000000000000..bf12d0525d0d5a5fa5a0d72c013370fc0d692e75 GIT binary patch literal 7596 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 literal 0 HcmV?d00001 diff --git "a/content/zh/post/zhangxb/openGauss-DSS-Ceph\351\203\250\347\275\262.md" "b/content/zh/post/zhangxb/openGauss-DSS-Ceph\351\203\250\347\275\262.md" new file mode 100644 index 00000000..af6f9fc7 --- /dev/null +++ "b/content/zh/post/zhangxb/openGauss-DSS-Ceph\351\203\250\347\275\262.md" @@ -0,0 +1,277 @@ ++++ +title = "openGauss共享存储对接Ceph-单机openGauss-Ceph" +date = "2023-02-18" +tags = ["共享存储", "Ceph"] +archives = "2023-02-18" +author = "zhangxb" +summary = "openGauss共享存储对接Ceph(单机openGauss + Ceph)" +img = "/zh/post/zhangxb/title/img.png" +times = "19:30" ++++ + +### openGauss + DSS + Ceph部署操作步骤 + +本文档介绍单机版openGauss+DSS+Ceph集群部署方式。后续提供主备下的步骤。 + +服务器: + +| Hostname | IP | 系统 | 规格 | 磁盘 | +| ---- | ---- | ---- | ---- | ----| +| Ceph1 | 192.168.0.2 | openEuler20.03 x86_64 | 8核16GB | 2 * 100GB | +| Ceph2 | 192.168.0.3 | openEuler20.03 x86_64 | 8核16GB | 2 * 100GB | + +![](../ddes/disk.png) +>- /dev/sdb 格式化为文件系统,用来部署数据库 +>- /dev/sdc 按照块设备使用,提供给ceph部署OSD节点。 + +### 1. 部署Ceph + +Ceph集群推荐服务端3台机器,客户端按需部署。我们这次部署单机版,ceph服务端用几台机器都可以,客户端也可以和服务端公用机器。 + +目前将这两台机器都部署上ceph。 + +#### (1) 每台节点都执行以下操作: + +##### 关闭防火墙 +``` +systemctl stop firewalld +systemctl disable firewalld +systemctl status firewalld +``` + +##### 关闭selinux +``` +setenforce 0 +``` + +##### 修改节点名称 +``` +# 建议修改节点名称。ceph集群服务端改为ceph1,ceph2,client节点改为client1,client2等 +hostnamectl --static set-hostname ceph1 +hostnamectl --static set-hostname ceph2 +``` + +##### ntp配置 +需要保证这几台服务器节点的时间同步。可以通过配置ntp保证时间同步。 + +##### 安装Ceph +``` +yum install ceph -y +pip install prettytable +# 这里安装的是openeuler系统自带的12.2.8。 如果需要其他版本,可以自行安装。 +``` + +##### 建立这几个节点互信 + +ceph-deploy部署时候需要保证几个节点之间root用户免密连通,即需要建立root用户的互信。 +可以使用openGauss的OM工具gs_sshexkey来建立互信。 +``` +./gs_sshexkey -f ./hostfile # hosffile里面所有节点ip,每行一个 +``` + +#### (2) 选择ceph1节点上执行部署ceph操作: + +##### 安装ceph-deploy部署工具 +``` +pip install ceph-deploy +``` +openEuler上需要适配修改: +``` +vim /lib/python2.7/site-packages/ceph_deploy/hosts/__init__.py +``` +添加一行对openeuler的支持。 \ +![](../ddes/oel_deploy.png) + +ceph -v 查询是否安装成功。 \ +![](../ddes/cephv.png) + +##### 部署MON节点 + +Ceph Monitor,负责监视Ceph集群,维护Ceph集群的健康状态。 + +只用在ceph1节点执行 +``` +cd /etc/ceph +ceph-deploy new ceph1 ceph2 #所有的客户端和服务端节点都要 +ceph-deploy mon create-initial +ceph-deploy --overwrite-conf admin ceph1 ceph2 #所有的客户端和服务端节点都要 +``` + +部署完成后,可以使用 ceph -s 查看状态 + +##### 部署MGR节点 + +提供外部监测和管理系统的接口。 + +只用在ceph1节点执行 +``` +ceph-deploy mgr create ceph1 ceph2 #只需要给服务端部署 +``` + +##### 部署OSD节点 + +osd(Object Storage Device)主要用于存储数据,一般将一块数据盘对应一个osd,也可以把一个分区作为一个osd。 + +查看数据盘是否有分区 \ +使用 lsblk查看,需要部署osd的数据盘如果之前被做了分区,可以用如下命令清除。 +``` +ceph-volume lvm zap /dev/sdb --destroy #/dev/sdb 为要清除分区的数据盘 +``` + +##### 部署OSD +``` +ceph-deploy osd create ceph1 --data /dev/sdc +ceph-deploy osd create ceph2 --data /dev/sdc +``` + +ceph1为当前服务器名称, `/dev/sdc` 为对应服务器要部署osd的数据盘盘符。 + +完成后使用ceph -s 查看状态 + +##### MDS部署 + +MDS(Metadata Server)即元数据Server主要负责Ceph FS集群中文件和目录的管理。 +我们使用ceph的块设备,不用cephfs文件系统。可以不需要部署MDS服务。 +``` +cd /etc/ceph +ceph-deploy mds create ceph1 ceph2 +``` + +状态查看 +``` +集群状态: ceph -s +集群健康信息: ceph health detail +OSD信息: ceph osd tree +各个服务状态: +systemctl status ceph-mon@ceph1 +systemctl status ceph-mgr@ceph1 +systemctl status ceph-osd@ceph1 +``` + +### 2. 部署DSS + +数据库和DSS都是部署在子用户下运行,需要有子用户调用ceph接口的权限。我们将/ec/ceph目录权限以及里面的文件权限改为755,保证子用户可读。 +``` +chmod -R 755 /etc/ceph +``` + +#### (1) 创建块设备 + +##### 创建存储池: +``` +ceph osd pool create blkpool 64 64 +``` + +##### 创建块设备 +``` +rbd create dssimage --size 50GB --pool blkpool --image-format 2 --image-feature layering +``` +>- blkpool 存储池名称 +>- dssimage 实际使用的块设备名称,类似于磁盘,在创建时候需要指定大小。 + +``` +rbd map blkpool/dssimage +``` +将ceph的块设备挂载到系统上。例如挂载为: `/dev/rbd0` + +> 这一步无实际意义,仅是为了做个标识。对ceph的读写不会真正去打开/dev/rbd0,而是通过存储池> 名称blkpool和块设备名称dssimage调用rbd接口打开以及读写。 + +#### (2) DSS对接到Ceph块设备 + +##### 编译DSS +``` +sh build.sh -m Release -3rd /xxx/openGauss-third_party_binarylibs_openEuler_x86_64 -t cmake -s ceph +``` + +下载最新的dss代码进行编译,编译命令后面加上 `-s ceph` 表明构建出的二级制支持ceph块设备。 + +编译需要安装rbd的依赖: +``` +yum install librados-devel librbd-devel -y +``` + +##### 部署DSS + +导入环境变量: +``` +export DSSAPP=/data/ddes/code/DSS-zxb/output +export LD_LIBRARY_PATH=$DSSAPP/lib:$LD_LIBRARY_PATH +export PATH=$DSSAPP/bin:$PATH +export DSS_HOME=/data/ddes/app/dsshome +export DSSDATA=/dev/rbd0 +``` + +>- DSSAPP目录为编译出来的dss二级制目录,下面为bin以及lib +>- DSS_HOME为dss的配置文件目录,指定一个目录并创建 + +创建配置以及日志目录: +``` +mkdir -p ${DSS_HOME}/cfg +mkdir -p ${DSS_HOME}/log +``` + +写入DSS配置文件: +``` +echo "VOLUME_TYPES=${DSSDATA}=1" > ${DSS_HOME}/cfg/dss_inst.ini +echo "POOL_NAMES=${DSSDATA}=blkpool" >> ${DSS_HOME}/cfg/dss_inst.ini +echo "IMAGE_NAMES=${DSSDATA}=dssimage" >> ${DSS_HOME}/cfg/dss_inst.ini +echo "CEPH_CONFIG=/etc/ceph/ceph.conf" >> ${DSS_HOME}/cfg/dss_inst.ini +echo "data:${DSSDATA}" > ${DSS_HOME}/cfg/dss_vg_conf.ini +``` + +>- DSSDATA=/dev/rbd0 为挂载ceph块设备,名称仅做标识。 +>- POOL_NAMES为存储池配置,格式为 `/dev/rbd0=dsspool` +>- IMAGE_NAMES为image配置,格式为 `/dev/rbd0=dssimage` +>- CEPH_CONFIG为ceph集群配置文件,默认是`/etc/ceph/ceph.conf` + +初始化DSS卷组 +``` +dsscmd cv -g data -v ${DSSDATA} -s 2048 -D ${DSS_HOME} +``` + +启动dssserver +``` +nuhop dssserver & +``` + +查看dss卷组大小 +``` +dsscmd lsvg -m G +``` +![](../ddes/lsvg.png) + +查看dss目录 +``` +dsscmd ls -p +data +``` +![](../ddes/lsp.png) + +### 3. 部署openGauss + +openGauss单机版本部署方式不变,自行编译或者取构建好的包就行。 + +#### 部署二级制 +将opengauss内核的二进制包解压,导入环境变量: +``` +export GAUSSHOME=/data/ddes/app/gauss +export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH +export PATH=$GAUSSHOME/bin:$PATH +``` +> GAUSSHOME 是解压的二级制目录。下面包含bin和lib + +正常打包会把dss的`dsscmd/dssserve`r以及依赖库`libdss*.so`打包到openGauss的软件包里面。 +加载了opengauss的环境变量后,会优先使用`$GAUSSHOME/bin`下的dss二级制以及依赖库。需要保证上面手动编译出来的dss的二进制文件、库文件和`$GAUSSHOME`下面的一致。 + +#### 初始化openGauss: +``` +gs_initdb -d /data/ddes/datanode/dn1 --nodename=ss -w Test@123 --vgname="+data" --enable-dss --dms_url="0:127.0.0.1:1611,1:127.0.0.1:1711" -I 0 --socketpath="UDS:/tmp/.dss_unix_d_socket" +``` + +由于单机版本的不支持dms,在初始化完成后,修改下postgresql.conf,将`ss_enable_dms`置为`off` + +![](../ddes/dmsoff.png) + +#### 启动数据库 +``` +gs_ctl start -D /data/ddes/datanode/dn1 +``` \ No newline at end of file -- Gitee