mysql multi volume,在MySQL数据库服务器上使用多个文件系统的最佳实践

在* NIX上装载卷时,最佳实践是创建一个带有已装载文件系统的子目录来承载实际文件。这是由于每个文件系统lost+found该文件系统的基本(根)目录中都有一个目录,该目录通常由root用户拥有。这可能会导致非root用户命令和进程出现问题。

我们最近在尝试使用tpm update命令时在客户站点上看到了此影响:

[tungsten@db1 tungsten-clustering-6.1.4-44]$ ./tools/tpm update

db1|ERROR: Initializing new object in package update failed:

find: ‘/opt/continuent/lost+found’: Permission denied

发生此问题的原因是,文件系统直接安装在 /opt/continuent

最佳实践是在主根目录下有一个子目录来保存安装点,并将文件系统安装到这些子目录上,然后在安装点目录下使用其他子目录供应用程序使用。

例如,假设我们有以下I / O流,每个I / O流都应具有自己的文件系统以获得最佳性能:

Root volume

MySQL Data

MySQL Binary Logs

Tungsten THL

MySQL General Log and any other logging

为了说明上述最佳做法,请查看以下结构:

/volumes/data/mysql

/volumes/binlogs/mysql

/volumes/logging/mysql

/volumes/tungsten/thl

我们上面看到的是一个3级的结构开始/volumes,这是一个简单的目录举行第二级子目录data,binlogs,logging和tungsten。在这些子目录上挂载文件系统时,它们称为mount points。挂载后,lost+found目录将变为可见。接下来,cd到安装点目录并创建第三级目录供应用程序使用。

这种结构的另一个好处是,在未挂载文件系统的情况下,可以防止MySQL写入根目录,因为文件系统上存在的第三级子目录将不可见。这将完全停止MySQL的启动,并确保所有适当的磁盘依赖项都已到位。

最佳做法是执行以下操作:

mkdir -p /volumes/data

mount {resource} /volumes/data

cd /volumes/data

mkdir continuent

cd /opt/

ln -s /volumes/data/continuent

并在INI中设置 install-directory=/volumes/data/continuent

总而言之,通过使用多个文件系统可以获得最佳性能。正确挂载和使用它们,以避免使非根进程与lost+found每个文件系统根目录下的目录交互的陷阱。

文章来源:https://www.continuent.com/resources/blog/best-practices-using-multiple-filesystems-mysql-database-servers

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值