3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OpenNebulaでDRBD Manage Storage Driverを使ってみよう➀

Last updated at Posted at 2018-05-23

OpenNebula構成図#

構成図.png

Frontendの構成#

【master1】
Centos7.4
10.30.0.100
primary
/dev/sda3 500G

【master2】
Centos7.4
10.30.0.101
secondary
/dev/sda3 500G

Frontendの構築#

前提条件##

selinuxはdisabledにします。
firewalldは適宜設定します。(この例ではfirewalldはoffにしています)

hostsファイルの編集##

master1,2共通
vi /etc/hosts
10.30.0.100  master1
10.30.0.101  master2

ssh鍵交換##

master1
ssh-keygen -t rsa
ssh-copy-id master1
ssh-copy-id master2
master2
ssh-keygen -t rsa
ssh-copy-id master1
ssh-copy-id master2

authorized_keysにそれぞれの公開鍵を登録してください。

パッケージのインストール##

http://ftp.kddilabs.jp/Linux/RPMS/elrepo/elrepo/el7/x86_64/RPMS/
から下記パッケージの最新版を利用すること

・drbd-utils
・kmod-drbd
・drbdmanage

master1,2共通
yum groupinstall "Development Tools"
yum install -y wget
yum install -y libxslt pygobject2 help2man
yum install -y kernel-headers
yum install -y perl

curl -sO http://ftp.kddilabs.jp/Linux/RPMS/elrepo/elrepo/el7/x86_64/RPMS/kmod-drbd90-9.0.9-1.el7_4.elrepo.x86_64.rpm

curl -sO http://ftp.kddilabs.jp/Linux/RPMS/elrepo/elrepo/el7/x86_64/RPMS/drbd90-utils-9.3.1-1.el7.elrepo.x86_64.rpm

rpm -ivh *drbd*.rpm
master1,2共通
cd /root

git clone --recursive https://github.com/LINBIT/drbdmanage.git

cd /root/drbdmanage/conf

cp drbdmanaged.cfg /etc/

make

make install

LVMの設定##

master1,2共通
yum install -y lvm2
pvcreate /dev/sda3
vgcreate drbdpool /dev/sda3

事前に/dev/sda3のファイルシステムをlvmに設定していると想定しています。

DRBD9の設定##

master1
drbdmanage init 10.30.0.100
drbdmanage add-node master2 10.30.0.101
drbdmanage add-resource mariadbdata
drbdmanage add-resource opennebuladata
drbdmanage add-resource opennebulaetc
drbdmanage add-volume mariadbdata 50G
drbdmanage add-volume opennebuladata 250G
drbdmanage add-volume opennebulaetc 10G
drbdmanage assign-resource mariadbdata master1
drbdmanage assign-resource mariadbdata master2
drbdmanage assign-resource opennebuladata master1
drbdmanage assign-resource opennebuladata master2
drbdmanage assign-resource opennebulaetc master1
drbdmanage assign-resource opennebulaetc master2

DRBD9設定の確認##

master1
drbdmanage v

+------------------------------------------------------------------------------+
| Name           | Vol ID |    Size | Minor |                          | State |
|------------------------------------------------------------------------------|
| mariadbdata    |      0 |  50 GiB |   100 |                          |    ok |
| opennebuladata |      0 | 250 GiB |   101 |                          |    ok |
| opennebulaetc  |      0 |  10 GiB |   102 |                          |    ok |
+------------------------------------------------------------------------------+

ここからはmaster1の設定#

手動でDRBDをマウントします##

master1
mkdir /var/lib/mysql 
mkdir /var/lib/one
mkdir /etc/one
mount /dev/drbd100 /var/lib/mysql
mount /dev/drbd101 /var/lib/one
mount /dev/drbd102 /etc/one

OpenNebulaレポジトリの設定##

master1
vi /etc/yum.repos.d/opennebula.repo

[opennebula]
name=opennebula
baseurl=https://downloads.opennebula.org/repo/5.4/CentOS/7/x86_64
enabled=1
gpgkey=https://downloads.opennebula.org/repo/repo.key
gpgcheck=1

OpenNebulaパッケージのインストール##

master1
yum install epel-release

yum install opennebula-server opennebula-sunstone opennebula-ruby opennebula-gate opennebula-flow

/usr/share/one/install_gems

MariaDBのインストール##

master1
yum install mariadb mariadb-server
mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON opennebula.* TO oneadmin@localhost IDENTIFIED BY 'opennebula';
mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
mysql> quit

oned.confファイルの設定変更##

master1
vi /etc/one/oned.conf

# DB = [ BACKEND = "sqlite" ]

# Sample configuration for MySQL
 DB = [ BACKEND = "mysql",
        SERVER  = "localhost",
        PORT    = 0,
        USER    = "oneadmin",
        PASSWD  = "opennebula",
        DB_NAME = "opennebula" ]

Opennebula起動前の設定##

master1
echo "oneadmin:opennebula" > /var/lib/one/.one/one_auth

Opennebulaの起動##

master1
systemctl start opennebula
systemctl start opennebula-sunstone

Opennebula起動の確認##

master1
oneuser show

USER 0 INFORMATION
ID              : 0
NAME            : oneadmin
GROUP           : oneadmin
PASSWORD        : 3bc15c8aae3e4124dd409035f32ea2fd6835efc9
AUTH_DRIVER     : core
ENABLED         : Yes

上記の様な表示でしたらOKです。下記の場合は設定が上手くいっていないので
やり直してください。

master1
oneuser show

Failed to open TCP connection to localhost:2633 (Connection refused - connect(2) for "localhost" port 2633)

問題無ければ一度opennebulaをstopします。
その後、mountしているdrbdをunmountします。

Opennebulaの停止##

master1
systemctl stop opennebula-sunstone
systemctl stop opennebula

MariaDBの停止##

master1
systemctl stop mariadb.service

DRBDのunmount##

master1
unmount /dev/drbd100
unmount /dev/drbd101
unmount /dev/drbd102

ここからはmaster2の設定#

手動でDRBDをマウントします##

master2
mkdir /var/lib/mysql 
mkdir /var/lib/one
mkdir /etc/one
mount /dev/drbd100 /var/lib/mysql
mount /dev/drbd101 /var/lib/one
mount /dev/drbd102 /etc/one

OpenNebulaレポジトリの設定##

master2
vi /etc/yum.repos.d/opennebula.repo

[opennebula]
name=opennebula
baseurl=https://downloads.opennebula.org/repo/5.4/CentOS/7/x86_64
enabled=1
gpgkey=https://downloads.opennebula.org/repo/repo.key
gpgcheck=1

OpenNebulaパッケージのインストール##

master2
yum install epel-release

yum install opennebula-server opennebula-sunstone opennebula-ruby opennebula-gate opennebula-flow

/usr/share/one/install_gems

MariaDBのインストール##

master2
yum install mariadb mariadb-server
mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON opennebula.* TO oneadmin@localhost IDENTIFIED BY 'opennebula';
mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
mysql> quit

oned.confファイルの設定変更##

master2
vi /etc/one/oned.conf

# DB = [ BACKEND = "sqlite" ]

# Sample configuration for MySQL
 DB = [ BACKEND = "mysql",
        SERVER  = "localhost",
        PORT    = 0,
        USER    = "oneadmin",
        PASSWD  = "opennebula",
        DB_NAME = "opennebula" ]

Opennebula起動前の設定##

master2
echo "oneadmin:opennebula" > /var/lib/one/.one/one_auth

Opennebulaの起動##

master2
systemctl start opennebula
systemctl start opennebula-sunstone

Opennebula起動の確認##

master2
oneuser show

USER 0 INFORMATION
ID              : 0
NAME            : oneadmin
GROUP           : oneadmin
PASSWORD        : 3bc15c8aae3e4124dd409035f32ea2fd6835efc9
AUTH_DRIVER     : core
ENABLED         : Yes

上記の様な表示でしたらOKです。下記の場合は設定が上手くいっていないので
やり直してください。

master2
oneuser show

Failed to open TCP connection to localhost:2633 (Connection refused - connect(2) for "localhost" port 2633)

問題無ければ一度opennebulaをstopします。
その後、mountしているdrbdをunmountします。

Opennebulaの停止##

master2
systemctl stop opennebula-sunstone
systemctl stop opennebula

MariaDBの停止##

master2
systemctl stop mariadb.service

DRBDのunmount##

master2
unmount /dev/drbd100
unmount /dev/drbd101
unmount /dev/drbd102

次のOpenNebulaでDRBD Manage Storage Driverを使ってみよう➁で
PacemakerとCorosyncの設定を行います。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?