尝试使用 OpenStack 的经历(编辑中)
达到的目标
在进行本地硬件虚拟化的同时,可以尝试重新评估运营成本。
目标 (mù
在一台检验设备上使用VirtualBox,建立两个Ubuntu服务器,并尝试在OpenStack中进行虚拟化。
前提 (Qian ti)
可以参考日本虚拟化技术株式会社发布的OpenStack构建指南(Newton版本),可从以下网址下载:
https://enterprisecloud.jp/installguide-openstack/
验证设备信息
Windows 10 Pro 版本 1703 64位
Intel(R) Core(TM) i5-6200U CPU @2.30GHz 2.40GHz
已安装 16GB 内存
238GB 存储
VirtualBox版本5.1.26
环境的配置
首先,您可以从以下网站下载 Ubuntu Server:
https://www.ubuntu.com/download/server
30分程度のダウンロードで完了。
VM 間の通信を実現するため、
ダウンロードの合間にNAT ネットワークを作成する。
参考は下のサイト
http://changineer.info/server/virtualization/virtualbox.html#_8211-4
Oracle VM VirtualBox マネージャー から、
ファイル > 環境設定 > ネットワーク > NATネットワーク, +マークを押下 > NatNetwork という項目が追加される > NatNetwork を右クリック > 編集
NAT ネットワーク詳細 から、
ネットワークを有効化をチェック
ネットワークCIDR : 10.0.1.0/24(任意)
ネットワークオプション:DHCP のサポート にチェック
OK
Oracle VM VirtualBox マネージャー画面で、OK
使用下面的信息在VirtualBox上创建两个Ubuntu Server实例。
请忽略图像中的”ubuntu_Atype”服务器。
为了进行虚拟机之间的通信,需要添加一个网卡。
※需要在控制器和计算节点上都进行设置。
在Oracle VM VirtualBox 管理界面上,
右键点击相应的虚拟机 > 设置 > 网络 > 适配器2
启动VM,并将启动磁盘指定为Ubuntu Server的iso文件。
操作系统的初始设置
启动后,使用下面的参数进行设置。
LanguageEnglish同左本当は日本語がいいが、文字ずれするらしく英語を選択Ubuntu top? pageInstall Ubuntu Server同左
Select a languageEnglish同左
Select your locationUnited StatesOther > Asia > Japan
Configure localesUnited States同左
Configure the keyboardNo同左
Country of orgin for the keyboardJapanese同左
Keyborad layoutJapanese同左
Hostnameubuntuopenstackcontroller / openstackcompute任意Full name for the new userbrank任意
Username for your account上の情報の性任意
Choose a password for the new userblank任意
Encrypt your home directoryNo同左
Is this time zone correct Asia/TokyoYes同左Asia/Tokyo であることを確認するPartitioning methodGuided – use entire disk and set up LVM同左
Select disk to partitionSCSI3 (0,0,0) (sda) – 53.7 GB ATA VBOX HARDDISK同左
Write the changes to disks and configure LVMNoYes設定値が上の情報であることを確認するAmount of volume group to use for guided partitioning53.2GB同左
Write the changes to diskNoYes上の設定になっていることを確認するHTTP proxy informatinblank任意
manage upgrades on this systemNo automatic updates任意
Choose software to installstandard system utilitiesOpenSSH server初期値のスタンダートユーティリティはチェックを外すInstall the GRUB boot loader to the master bott recordYes同左
Finish the InstallationContinue同左
大约5分钟后,Ubuntu Server 就能成功启动。
使用注册的用户信息进行登录。
Ubuntu Server的网络设备设置
先列一份备份配置文件到任一位置,然后在两个服务器上进行配置。
创建原始文件的备份文件夹
mkdir /tmp/orgfiles
接口的备份
cp -p /etc/network/interfaces /tmp/orgfiles/interfacesORG
控制器的IP设置(例如)
auto enp0s3
iface enp0s3 inet dhcp
auto enp0s8
iface enp0s8 inet dhcp
在两个虚拟机上都执行上述操作。
為了使設定生效,請重新啟動伺服器
sudo 重新啟動
重新启动服务器后,请确认两个服务器的接口信息。
以下是对原文进行的中文翻译:
确认事项:
1. 确保有三个接口(enp0s3,enp0s8和lo等)可用。
2. 记下每个接口的IP地址。
请在控制器和计算机上执行此操作。
确认在互联网上离线且能够成功ping到其他服务器上。
1. 通过NAT,确认可以到达公共服务器
(例如) ping 8.8.8.8
2. 通过NAT网络,确认可以到达相邻服务器的接口(可能是enp0s8)
(例如) ping 10.0.1.4
为了OpenStack的应用,固定IF的IP地址。
你可以像下面这样固定每一个IP地址。
在终端输入以下命令:sudo vi /etc/network/interfaces
为了使设置生效,请对每个服务器进行重新启动:
sudo reboot
确认网络连接是否通畅。
■控制器端
ping 8.8.8.8
ping 10.0.2.102
计算側
ping 8.8.8.8
ping 10.0.2.101
静态主机名解析设置
hosts 情報を下のように修正する
sudo vi /etc/hosts
共通で、127.0.1.1 の行をコメントアウト(行の先頭に# を入力)する
系统的更新
各VM で、
Mitaka向けUbuntu Cloud Archiveリポジトリーを登録する
sudo add-apt-repository cloud-archive:newton
各VM で、
システムをアップデートする。
apt-get update && apt-get dist-upgrade
クライアントソフトのインストール
Controller サーバで、
sudo apt-get install python-openstackclient python-pymysql
在上述命令的中途,会被问到“你想要继续吗?”
是的
设置NTP
使用Chrony。
因为是初次使用,所以在下面的网站上学习了概述。
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/ch-Configuring_NTP_Using_the_chrony_Suite.html#sect-differences_between_ntpd_and_chronyd
从ntpd(网络时间协议守护程序)这方面来看,
对于频繁出现暂停网络连接、断断续续的断开和重新连接等系统,具有强大的适应能力。
例如,对于移动设备和虚拟系统,考虑引入这个程序会是一个不错的选择。
各VM で、
時刻同期のため、Chrony をインストールする。
sudo apt-get install chrony
上のコマンドの途中で、”do you wanto continue?” と聞かれるので、
Y
修改Chrony的设置。
将Controller设为父节点,将Compute设为子节点。
NTP的参考服务器为ntp.nict.jp。
■ 側控制器修改以下文件:sudo vi /etc/chrony/chrony.conf
以下是修改内容:
chrony 再起動
sudo service chrony restart
■计算主机側
sudo vi /etc/chrony/chrony.conf
进行如下修改
在10.0.1.101服务器上新增一行,将pool 2.~注释掉。
DB のインストール
Controller へMaria DB をインストール
sudo apt-get install mariadb-server python-pymysql
上のコマンドの途中で、 Do you wanto continue? と聞かれるので
Y
创建配置文件 sudo vi /etc/mysql/conf.d/openstack.cnf
下の内容を全て追記
[mysqld]
bind-address = 10.0.1.101
default-storage-engine = innodb innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
設定の反映のため、DB を再起動
sudo service mysql restart
安装 RabbitMQ
OpenStack のメッセージによる連携のため、メッセージパッケージをインストールする
■Controller 側
sudo apt-get install rabbitmq-server
途中で、continue 聞かれるので、
y
インストールには、15分程度時間がかかるので、ここで小休憩。
RabbitMQ へユーザを作成する
sudo /usr/sbin/rabbitmqctl add_user openstack (PW任意)
RabbitMQ のopenstack ユーザへ権限を付与する
sudo /usr/sbin/rabbitmqctl set_permissions openstack “.*” “.*” “.*”
重新启动服务
sudo /etc/init.d/rabbitmq-server restart
正常に動作していることをログで確認する
tailf /var/log/rabbitmq/rabbit@openstackcontroller.log
admin ユーザの環境変数設定ファイルを新規作成する
sudo vi ~/admin-openrc
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=password
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export PS1='\u@\h \W(admin)\$ '
demo ユーザの環境変数設定ファイルを新規作成する
sudo vi ~/demo-openrc.sh
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=password
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export PS1='\u@\h \W(demo)\$
安装和配置memcached
请使用以下命令在终端上安装memcached和python-memcache:
sudo apt-get install memcached python-memcache
将上述行添加到代码中。默认情况下,它为127.0.0.1,需要进行更改为10.0.1.101。
重新启动memcached服务:
通过sudo /etc/init.d/memcached restart命令。
Keystone のインストール
データベースを作成する
■Controller 側
mysql へログイン
mysql -u root
如果CLI显示如下,则表示登录成功
MariaDB [(none)]>
keystone データベースの作成とユーザの作成
CREATE DATABASE keystone;
授予’localhost’上的’keystone’用户对keystone数据库的所有权限,密码为’password’。
授予’keystone’@’%’对于keystone数据库的所有权限,密码为’password’。
exit
通过登录验证,确认存在名为keystone的用户和数据库
mysql -u keystone -p
显示数据库;
如果以下方式顯示,表示完成了。