2011年11月04日

[RHEL][Linux][NFS][MySQL] mysql datadir on nfs

このエントリーをはてなブックマークに追加

信頼性はどうであれ、共有ディスクを使ったMySQL

nfsマウント領域にmysql datadirを配置し、mysqlを起動させる。

検証環境
  • RHEL 6.0 / CentOS 6.0
  • nfs-utils 1.2.2-7.el6
  • mysql-server 5.1.52-1.el6_0.1
要件定義
  • 隣のノードの/var/lib/mysqlをdatadirとしてMySQLを起動
作業概要
  1. nfsサーバ
    1. /var/lib/mysql を公開領域として設定
  2. nfsクライアント, mysqld
    1. nfsサーバの/var/lib/mysqlを、自身の/var/lib/mysqlにnfsマウント
    2. mysqlを起動
環境定義
用途IPアドレスnfsディレクトリ
nfsクライアント192.0.2.12/24/var/lib/mysql/
nfsサーバ192.0.2.13/24/var/lib/mysql/
事前作業

NFSの設定作業は ファイルサーバ構築 を参照の事。公開ディレクトリとマウントポイントを、それぞれ /var/lib/mysql に置き換えれば良い。

共通
# yum -y install mysql-server
nfsサーバ
# echo '/var/lib/mysql 192.0.2.0/24(rw)' >> /etc/exports
# exportfs -ra
作業内容

事前作業にて、nfsサーバの設定が終わってるものとする。

SELinuxを無効化

mysql datadirがnfsマウントされているとmysqldが起動しない。

# /etc/init.d/mysqld start
chown: changing ownership of `/var/lib/mysql': Operation not permitted
chmod: changing permissions of `/var/lib/mysql': Operation not permitted
MySQL Daemon failed to start.
Starting mysqld:                                           [FAILED]

nfsマウントしたmysql datadir領域でもmysqlが起動する様にSELinuxを設定するのが良いのだろうが、本題はmysqlを起動させる事なのでSELinux無効化で済ませる。

# cp -pi /etc/sysconfig/selinux /etc/sysconfig/selinux.0
# diff /etc/sysconfig/selinux.0 /etc/sysconfig/selinux
7c7
< SELINUX=enforcing
---
> SELINUX=disabled

システム再起動

# reboot

SELinuxが無効化さていればmysqlが起動するはず。

mysql datadirをnfsマウント

mountコマンドでnfsマウント。

# mount -t nfs 192.0.2.13:/var/lib/mysql /var/lib/mysql

必要に応じて/etc/fstabにマウントエントリを追加しておく事。

mysql起動

mysqlを起動

# /etc/init.d/mysqld start

mysqlが起動してる事を確認

# mysqladmin -uroot ping
mysqld is alive

mysql接続して内容を確認

# mysql -uroot

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.06 sec)

必要に応じてmysqlをサービス起動対象に追加しておくこと。

# chkconfig --list mysqld
mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off

あとがき

疑わしい挙動をする時はSELinuxを無効化か


Linuxで作るアドバンストシステム構築ガイド (18Network Server Construction Guide)
デージーネット
秀和システム
売り上げランキング: 190665



トラックバックURL

この記事へのトラックバック

1. [RHEL][ucarp][mysql] Linux+ucarpで作るMySQL冗長化構成  [ 半袖野郎 blog.hansode.org ]   2011年11月04日 18:33
環境構築する為の準備運動 ここ数日のエントリは、本エントリの環境を構築する為の検証作業。 mysql datadir on nfs ファイルサーバ構築 Linux + ucarpによるサーバ冗長化 準備運動が ...

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔