（可选）规划磁盘 
=============================

OceanBase 数据库的服务器依赖数据盘、事务日志盘和 OceanBase 数据库的安装盘。本文介绍如何规划您的磁盘。如果您是个人用户, 您可以将所有数据放到一块盘上并跳过此步骤。如果您是企业用户，您必须将数据分别挂载至三块磁盘。

如果您的机器上没有三块磁盘，或者您使用的是 RAID 磁盘阵列, 您需要对磁盘或者磁盘阵列的逻辑卷进行分区。建议您采用以下方案分区：

* 数据盘

  数据盘的配置参数为 `data_dir`。数据盘用来存储基线数据。在您首次启动 OceanBase 数据库时，`${data_dir}/sstable` 将自动创建。数据盘的大小由 `datafile_disk_percentage` 参数决定。`datafile_disk_percentage` 的默认值为 `95`。`data_dir` 创建后无法调整大小。您可以通过加减机器为 OceanBase 数据库进行扩容和缩容。目前，OceanBase 数据库不支持单机的磁盘级扩容和缩容。
  

* 事务日志盘

  事务日志盘的配置参数为 `redo_dir`。建议您将事务日志盘的大小设置为 OceanBase 数据库内存的 3 倍到 4 倍及以上。事务日志盘包含多个固定大小的文件。这些文件位于安装目录 `${redo_dir}/{clog,ilog,slog}` 下。您可以根据您的需要自动创建和清除事务日志。事务日志达到磁盘总量的 80% 时，将触发自动清除。但是，只有事务日志对应的内存数据已经合并融至基线数据中时，事务日志才能被删除。在相同数据量的情况下，事务日志的大小约为内存数据大小的三倍。因此事务日志盘所需空间上限与两次合并后的数据总量成正比。经验公式：事务日志文件大小 = 增量数据内存上限的 3 到 4 倍。
  

* OceanBase 数据库安装盘

  OceanBase 数据库安装盘的配置参数为 `home_path`。建议您为 OceanBase 数据库安装盘预留至少 200 G 空间，以保存 7 天及以上的日志。OceanBase 数据库的 RPM 包安装目录位于 `${home_path}` 下。其中，基线数据文件和事务日志文件会通过软链接分别指向独立的数据盘和事务日志盘。OceanBase 数据库的运行日志位于 `${home_path}/log` 下。运行日志会不断增长，并且 OceanBase 数据库无法自动删除运行日志。因此您需要定时删除运行日志。
  




磁盘划分后, 执行以下命令检查磁盘划分情况：

```bash
df -h
```



返回以下结果：

```bash
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         31G     0   31G   0% /dev
tmpfs            31G     0   31G   0% /dev/shm
tmpfs            31G  516K   31G   1% /run
tmpfs            31G     0   31G   0% /sys/fs/cgroup
/dev/vda1       493G  171G  302G  37% /
tmpfs           6.2G     0  6.2G   0% /run/user/0
/dev/vdd1     984G    77M  934G  1%  /data
/dev/vdc1     196G     61M   186G  1%  /redo
/dev/vdb1     492G    73M   467G  1%  /home/admin/oceanbase
```



其中，`/data` 为数据盘，大小为 1 TB。`/redo` 存放 redo 日志。`/home/admin/oceanbase` 存放 OceanBase 数据库的二进制文件和运行日志。

