OpenNebula構成図#
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ファイルの編集##
vi /etc/hosts
10.30.0.100 master1
10.30.0.101 master2
ssh鍵交換##
ssh-keygen -t rsa
ssh-copy-id master1
ssh-copy-id 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
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
cd /root
git clone --recursive https://github.com/LINBIT/drbdmanage.git
cd /root/drbdmanage/conf
cp drbdmanaged.cfg /etc/
make
make install
LVMの設定##
yum install -y lvm2
pvcreate /dev/sda3
vgcreate drbdpool /dev/sda3
事前に/dev/sda3のファイルシステムをlvmに設定していると想定しています。
DRBD9の設定##
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設定の確認##
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をマウントします##
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レポジトリの設定##
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パッケージのインストール##
yum install epel-release
yum install opennebula-server opennebula-sunstone opennebula-ruby opennebula-gate opennebula-flow
/usr/share/one/install_gems
MariaDBのインストール##
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ファイルの設定変更##
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起動前の設定##
echo "oneadmin:opennebula" > /var/lib/one/.one/one_auth
Opennebulaの起動##
systemctl start opennebula
systemctl start opennebula-sunstone
Opennebula起動の確認##
oneuser show
USER 0 INFORMATION
ID : 0
NAME : oneadmin
GROUP : oneadmin
PASSWORD : 3bc15c8aae3e4124dd409035f32ea2fd6835efc9
AUTH_DRIVER : core
ENABLED : Yes
上記の様な表示でしたらOKです。下記の場合は設定が上手くいっていないので
やり直してください。
oneuser show
Failed to open TCP connection to localhost:2633 (Connection refused - connect(2) for "localhost" port 2633)
問題無ければ一度opennebulaをstopします。
その後、mountしているdrbdをunmountします。
Opennebulaの停止##
systemctl stop opennebula-sunstone
systemctl stop opennebula
MariaDBの停止##
systemctl stop mariadb.service
DRBDのunmount##
unmount /dev/drbd100
unmount /dev/drbd101
unmount /dev/drbd102
ここからはmaster2の設定#
手動でDRBDをマウントします##
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レポジトリの設定##
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パッケージのインストール##
yum install epel-release
yum install opennebula-server opennebula-sunstone opennebula-ruby opennebula-gate opennebula-flow
/usr/share/one/install_gems
MariaDBのインストール##
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ファイルの設定変更##
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起動前の設定##
echo "oneadmin:opennebula" > /var/lib/one/.one/one_auth
Opennebulaの起動##
systemctl start opennebula
systemctl start opennebula-sunstone
Opennebula起動の確認##
oneuser show
USER 0 INFORMATION
ID : 0
NAME : oneadmin
GROUP : oneadmin
PASSWORD : 3bc15c8aae3e4124dd409035f32ea2fd6835efc9
AUTH_DRIVER : core
ENABLED : Yes
上記の様な表示でしたらOKです。下記の場合は設定が上手くいっていないので
やり直してください。
oneuser show
Failed to open TCP connection to localhost:2633 (Connection refused - connect(2) for "localhost" port 2633)
問題無ければ一度opennebulaをstopします。
その後、mountしているdrbdをunmountします。
Opennebulaの停止##
systemctl stop opennebula-sunstone
systemctl stop opennebula
MariaDBの停止##
systemctl stop mariadb.service
DRBDのunmount##
unmount /dev/drbd100
unmount /dev/drbd101
unmount /dev/drbd102
次のOpenNebulaでDRBD Manage Storage Driverを使ってみよう➁で
PacemakerとCorosyncの設定を行います。