环境准备

离线场景中使用MyBase之前,您必须按照要求准备好运行环境。

前提条件

已完成创建项目

资源规划

如何进行资源规划,请参见资源规划

重要

所有机器的/apsara/apsaradb都必须严格按照创建逻辑卷的指引创建。

管控面机器

项目

生产建议

POC建议

规格和数量

不同数据库内核和工具的组合所需的资源要求不一样,规格和数量及其参数要求请参见资源规划的预估结果。

网络

万兆网卡。

默认端口请参见默认端口

存储

挂载点/apsara

  • 容量:大于 768 GB。

  • 物理机:推荐1块以上SSD组成LVM。

  • 虚拟机:推荐1块SSD磁盘或高效云盘。

挂载点/apsara

  • 容量:大于 768 GB。

  • 物理机:推荐1块SSD盘。

  • 虚拟机:推荐1块SSD磁盘或高效云盘。

系统

所有机器(包括本机127.0.0.1)均需满足以下任意一条条件:

  • 配置ssh root免密互访。

  • 配置相同的ssh账号、密码(推荐使用root或其他高权限账号)。

操作系统目录的默认权限为umask 022,即/etc/profile中设置的umask为022。

所有机器的时间需保持一致。

所有机器的主机名禁止重复。

数据面机器

说明

数据面机器的规格信息仅供参考,具体要求以各数据库产品为准。

产品

项目

生产建议

POC建议

PolarDB PostgreSQL本地盘三节点

规格和数量

3台机器,规格为3核9 GB。

  • 挂载点/apsara

    • 物理机:推荐1块以上SSD组成LVM。

    • 虚拟机:推荐1块SSD磁盘或高效云盘。

  • 挂载点/apsaradb

    • 物理机:推荐1~N块NVMe磁盘组成LVM。

    • 虚拟机:推荐1~N块NVMe磁盘组成LVM。

3台机器,规格为3核9 GB。

  • 挂载点/apsara

    • 物理机:推荐1块SSD盘。

    • 虚拟机:推荐1块SSD磁盘或高效云盘。

  • 挂载点/apsaradb

    • 物理机:推荐1~N块NVMe磁盘,磁盘容量为1 TB以上。

      说明
      • 仅在混布场景下涉及。

      • 必须与管控盘分开。

    • 虚拟机:推荐SSD或高效云盘,数量建议在1块或1块以上。

存储

挂载点/apsara:大于250 GB。

挂载点/apsaradb:大于10 GB。

挂载点/apsara:大于250 GB。

挂载点/apsaradb:大于10 GB。

PolarDB-X

规格和数量

3台机器,规格为10核40 GB。

3台机器,规格为10核40 GB。

存储

挂载点/apsara:大于 250 GB。

挂载点/apsaradb:大于 850 GB。

挂载点/apsara:大于 250 GB。

挂载点/apsaradb:大于 850 GB。

Tair

规格和数量

3台机器,规格为32核64 GB。

3台机器,规格为32核64 GB。

存储

挂载点/apsara:大于 250 GB。

挂载点/apsaradb:大于 320 GB。

挂载点/apsara:大于 250 GB。

挂载点/apsaradb:大于 320 GB。

创建逻辑卷

以下内容将指导您创建/apsara/apsaradb目录。

逻辑卷管理LVM(Logical Volume Manager)是Linux系统下的一种管理硬盘分区机制,在磁盘和分区之上建立一个逻辑层,可以灵活、高效地管理磁盘分区,简化了磁盘管理操作。逻辑卷的大小可以动态调整,而且不会丢失现有数据;即使新增了磁盘,也不会改变现有的逻辑卷。

本文以使用2块新磁盘(/dev/vdb/dev/vdc)为例,介绍如何通过LVM在多块云盘上创建逻辑卷,LVM配置示意图如下。

image

操作步骤如下:

  1. 创建物理卷(PV)。

    该步骤将为目标实例新创建并挂载2块磁盘,无需初始化。

    1. 远程连接目标实例。

    2. 运行以下命令安装LVM工具。

      sudo yum install -y lvm2
    3. 运行以下命令,查看目标实例上的所有的磁盘。

      lsblk

      返回示例如下,表示您有2块磁盘(vdb、vdc),通过LVM创建弹性可扩展的逻辑卷。

      image

    4. 运行以下命令用磁盘设备创建物理卷,多个设备之间用空格间隔。

      sudo pvcreate <磁盘设备名称> ... <磁盘设备名称

      示例如下,使用设备/dev/vdb/dev/vdc创建2块物理卷。

      sudo pvcreate /dev/vdb /dev/vdc

      返回示例如下,表示创建物理卷成功。

      image

  2. 创建卷组(VG)。

    1. 运行以下命令创建卷组。

      挂载点

      产品

      命令

      /apsara

      通用

      sudo vgcreate vg_apsara <物理卷名称> <物理卷名称>

      在本文中,示例命令如下:

      sudo vgcreate vg_apsara /dev/vdb /dev/vdc

      /apsaradb

      PolarDB-X

      sudo vgcreate -s 32 vg_apsaradb <物理卷名称> <物理卷名称>

      其他

      sudo vgcreate vg_apsaradb <物理卷名称> <物理卷名称>

      返回示例如下,表示创建卷组成功。

      image

    2. 运行以下命令查看卷组信息。

      sudo vgs

      结果如下所示,已创建卷组vg_apsara,容量约为999 GB(文件系统本身会占用部分存储空间)。

      image

  3. 创建逻辑卷(LV)。

    1. 运行以下命令创建逻辑卷。

      挂载点

      产品

      命令

      /apsara

      通用

      sudo lvcreate -L 768g -n <逻辑卷名> <逻辑卷组名>

      在本文中,示例命令如下:

      sudo lvcreate -L 768g -n lv_apsara vg_apsara

      /apsaradb

      通用

      sudo lvcreate -A y -I {stripe_size} -l 100%FREE -i {stripe_len} -n lv_apsaradb vg_apsaradb

      创建/apsaradb时,{stripe_size}{stripe_len}参数的推荐值如下:

      产品名称

      stripe_size

      stripe_len

      AnalyticDB PostgreSQL

      64k

      可用磁盘数

      PolarDB-X

      128k

      可用磁盘数(推荐4)

      PolarDB PostgreSQL

      8k

      可用磁盘数

      Tair

      128k

      可用磁盘数

      Lindorm

      128k

      可用磁盘数

      default

      128k

      可用磁盘数

      返回示例如下,表示逻辑卷创建成功。

      image

      image

  4. 创建并挂载文件系统。

    1. 运行以下命令,获取逻辑卷路径、名称、所属卷组等信息,后续操作步骤需使用。

      sudo lvdisplay

      image

      • LV Path:逻辑卷路径,例如/dev/vg_apsara/lv_apsara

      • LV Name:逻辑卷的名称,例如lv_apsara

      • VG Name:逻辑卷所属的卷组名称,例如vg_apsara

      • LV Size:逻辑卷的大小,图示信息为768 GiB。

    2. 运行以下命令在逻辑卷上创建文件系统。

      挂载点

      产品

      命令

      /apsara

      通用

      sudo mkfs.<文件系统格式> <逻辑卷路径>

      以文件系统ext4为例,示例命令如下:

      sudo mkfs -t ext4 -m 0 -q -J size=4096 -T largefile -i 16384 /dev/vg_apsara/lv_apsara

      /apsaradb

      PolarDB-X

      sudo mkfs.ext4 /dev/vgapsara/apsara -m 0 -O extent,uninit_bg -E lazy_itable_init=1 -q -L apsaradb -J size=4096

      其他

      sudo mkfs -t ext4 -m 0 -q -J size=4096 -T largefile -i 16384 /dev/vg_apsara/lv_apsaradb
    3. 创建新挂载点。

      sudo mkdir /apsara
      sudo mkdir /apsaradb
    4. 运行以下命令,将文件系统挂载至挂载点。

      sudo mount <逻辑卷路径> <挂载点>

      示例如下,将逻辑卷(路径为/dev/vg_apsaradb/lv_apsaradb)挂载至/apsaradb目录下。

      sudo mount /dev/vg_apsara/lv_apsara /apsara
      sudo mount /dev/vg_apsara/lv_apsaradb /apsaradb
    5. 检查挂载结果

      执行以下命令查看逻辑卷是否挂载成功

      df -h

      返回示例如下,Mounted on(挂载点)里有 /apsara /apsaradb ,则代表挂载成功,是符合要求的挂载点(有少量Use是因为文件系统本身会占用部分存储空间)。

      image

  5. 配置开机自动挂载。

    如果您需要设置开机自动挂载逻辑卷,需要在/etc/fstab中添加该逻辑卷的挂载信息,实现系统开机重启时自动挂载该逻辑卷。

    1. 运行以下命令备份etc/fstab文件。

      sudo cp /etc/fstab /etc/fstab.bak
    2. 运行以下命令,在/etc/fstab文件中添加目标逻辑卷的挂载信息。

      挂载点

      产品

      命令

      /apsara

      通用

      sudo sh -c "echo `blkid <逻辑卷路径> | awk '{print $2}' | sed 's/\"//g'` <逻辑卷挂载点> <逻辑卷的文件系统类型> defaults 0 0 >> /etc/fstab"

      在本文中,示例命令如下:

      sudo sh -c "echo `blkid /dev/vg_apsara/lv_apsara | awk '{print $2}' | sed 's/\"//g'` /apsara ext4 defaults 0 0 >> /etc/fstab"

      /apsaradb

      PolarDB-X

      echo "LABEL=apsaradb /apsaradb ext4 defaults,noatime,data=writeback,nodiratime,nodelalloc,barrier=0 0 0" >> /etc/fstab

      其他

      sudo sh -c "echo `blkid /dev/vg_apsara/lv_apsaradb | awk '{print $2}' | sed 's/\"//g'` /apsaradb ext4 defaults 0 0 >> /etc/fstab"
    3. 运行以下命令,查询逻辑卷的挂载信息是否添加成功。

      cat /etc/fstab

      结果如下所示,返回结果里出现了目标逻辑卷信息,说明已添加挂载信息至/etc/fstab文件。

      image

    4. 验证自动挂载功能是否生效。

      运行以下命令,重新挂载/etc/fstab配置的文件系统。如果无报错输出,说明逻辑卷已经成功挂载到指定的挂载点。

      sudo mount -a
    5. 运行以下命令,检查逻辑卷挂载的设备或分区。

      df -Th