搭建多OpenStack多節點私有雲平台(一)
1、規划虛擬機
IP地址 | 主機名 | 內存 | 磁盤 | 用途 |
---|---|---|---|---|
ens33: 192.168.25.141 10.0.0.11 | controller | 4G | 20G | 控制節點 |
ens33: 192.168.25.143 10.0.0.31 | compute1 | 4G | 20G | 計算節點 |
ens33: 192.168.25.144 10.0.0.41 | block1 | 1G | 40G | 存儲節點 |
准備實驗環境
2、配置基礎環境
創建第一台主機,安裝完centos7后,再克隆2台,之后把一台機改成1g內存40g磁盤
-
改IP地址
修改IP地址:vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.25.141 后面2台機就改這里就行了
NETMASK=255.255.255.0
GATEWAY=192.168.25.2
DNS1=114.114.114.114
重啟網絡:systemctl restart network
-
改主機名
controller:hostnamectl set-hostname controller
compute1:hostnamectl set-hostname compute1
block1:hostnamectl set-hostname block1
-
host解析
[root@controller ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 controller
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 controller
192.168.25.141 controller controller.locallocaldomain
192.168.25.143 compute1 compute1.locallocaldomain
192.168.25.144 block1 block1.locallocaldomain[root@controller ~]# scp -rp /etc/hosts 192.168.25.143:/etc/hosts
[root@controller ~]# scp -rp /etc/hosts 192.168.25.144:/etc/hosts
查看修改結果
[root@controller ~]# cat /etc/hosts
-
連通外網
[root@controller ~]# ping -c 10 www.baidu.com
4、配置yum源(可以本地、可以網絡)
[root@controller ~]# yum -y install wget
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
cd /etc/yum.repos.d
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS7-Base-163.repo CentOS-Base.repo
yum clean all
yum makecache
查看yum有沒有安裝完
# yum repolist all
5、配置SSH免密碼認證
每台主機都要弄
ssh-keygen -t rsa
ssh-copy-id -i controller
ssh-copy-id -i compute1
ssh-copy-id -i block1
6、關閉SeLinux和Firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
vi /etc/selinux/config
修改 SELINUX=disabled
7、配置時間同步
controller安裝chrony組件
yum install chrony -y
添加阿里雲時間源服務器
vim /etc/chrony.conf
server ntp6.aliyuncom iburst
allow 192.168.25.0/24 //記得把allow前面的#號刪除
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc sources
另外2台機操作一樣
yum install chrony -y
vim /etc/chrony.conf
server controller iburst
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc sources
如果虛擬機轉到快照,要重新輸入以下代碼,或者關機創建快照
systemctl enable chronyd.service
systemctl restart chronyd.service
chronyc sources
8、安裝OPenStack客戶端和OpenStack-selinux。
查看yum里有沒有openstack
yum list|grep openstack
安裝queens版本
yum install centos-release-openstack-queens.noarch -y
安裝OpenStack-selinux。
yum install python-openstackclient openstack-selinux -y
9、安裝及配置mysql數據庫后面都是controller節點的操作
安裝MariaDB數據庫
yum install mariadb mariadb-server python2-PyMySQL -y
添加mysql配置文件
vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.25.141
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
啟動MariaDB服務,並設置其開機啟動,如果這里出錯肯是安裝出錯重新安裝一下
systemctl enable mariadb.service
systemctl start mariadb.service
執行MariaDB的安全配置腳本,執行安全初始化,在設置root密碼時候(官方文檔的坑,不執行同步數據庫出錯)
mysql_secure_installation
Enter current password for root (enter for none):回車需要輸入你當前用戶的root密碼,默認密碼為空
Set root password? [Y/n] n設置root密碼, n不設置,密碼為空,y可以重新設置密碼,設置密碼root
Remove anonymous users? [Y/n] y移除匿名用戶
Disallow root login remotely? [Y/n] y禁止root遠程登錄
Remove test database and access to it? [Y/n] y移除text數據庫和訪問它的權限
Reload privilege tables now? [Y/n] y重載權限表
10、NoSQL數據庫安裝
安裝MongoDB包,用於監控計費,私有雲不需要監控計費,略過
11、RabbitMQ安裝及配置 (開發用的,運維安裝可運行)
-
安裝包:
# yum install rabbitmq-server
-
啟動消息隊列服務並將其配置為隨系統啟動:
# systemctl enable rabbitmq-server.service # systemctl start rabbitmq-server.service
-
添加
openstack
用戶:# rabbitmqctl add_user openstack RABBIT_PASS Creating user "openstack" ... ...done.
用合適的密碼替換
RABBIT_DBPASS
。 -
給
openstack
用戶配置寫和讀權限:d# rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" ... ...done.
-
輸入這個代碼進入網頁
rabbitmq-plugins enable rabbitmq_management
進入這個網頁http://192.168.25.141:15672/
默認密碼:guest guest (queues 隊列 監控指標,例如:秒殺
12、Memcached安裝
安裝軟件包:
# yum install memcached python-memcached
修改配置文件
# vi /etc/sysconfig/memcached
OPTIONS="-l 127.0.0.1,::1,controller"
啟動Memcached服務,並且配置它隨機啟動。
# systemctl enable memcached.service
# systemctl start memcached.service
查看監聽端口
# netstat -lntup