搭建OpenStack私有雲准備工作


Centos7安裝完成后克隆其他子節點

首先在VMware中:右擊 虛擬機controller-->設置-->添加-->網絡適配器,然后做如下設置:

 

 

 

VMware中操作

 

 

 

點擊:克隆-->下一步-->虛擬機中的當前狀態-->創建完整克隆-->下一步(克隆controllercompuetstorage

總體硬件架構:

 

 

添加虛擬網絡

步驟:打開VMware-->點擊編輯-->虛擬網絡編輯器-->更改設置-->添加網絡(備用)

 

 

 

 

 

 

 

 添加成功后可以修改網段也可以不改,我這里改為10.0.0.0網段

最終效果:

Controller

Compute

 

Storage

 

 

 

Linux修改主機名

  1. 命令方式修改

[root@ Core ~]# hostnamectl set-hostname compute

[root@Core ~]# hostname compute

[root@Core ~]# exit     重新登錄發現主機名修改成功了!

  1. 修改配置文件

[root@Core ~]# echo "storage" > /etc/hostname

[root@Core ~]# hostname storage

[root@Core ~]# exit    重新登錄發現主機名修改成功了!

最終要確保重啟后主機名不重復,且有以下三台主機:

controller compute storage  

 

Linux靜態IP地址配置

首先在VMware菜單中點擊編輯-->虛擬網卡編輯器,查看NAT網段(子網掩碼、網關、起止IP地址)

 

下圖是可以連接外網的網卡信息:

 

 下圖是只能內部連接的網卡信息,我設置了兩個網段,在實驗中這個網段用不到:

 

 

 

  1. nmcli命令配置IP地址(建議選用第一種方式配置)

配置第一塊網卡用於連接外網:

[root@controller ~]# nmcli connection show

NAME   UUID                                  TYPE      DEVICE

ens33  3a90c11e-a36f-401e-ba9d-e7961cea63ca  ethernet  ens33  

[root@controller ~]# nmcli connection modify ens33 ipv4.method manual \

> ipv4.addresses 192.168.181.10/24 ipv4.gateway 192.168.181.2 \

> ipv4.dns 8.8.8.8 autoconnect yes

驗證:

[root@controller ~]# nmcli connection up ens33

[root@controller ~]# ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.181.10  netmask 255.255.255.0  broadcast 192.168.181.255

[root@controller ~]# ping -c 3 g.cn

PING g.cn (203.208.50.63) 56(84) bytes of data.

64 bytes from g.cn (203.208.50.63): icmp_seq=1 ttl=128 time=40.8 ms

64 bytes from g.cn (203.208.50.63): icmp_seq=2 ttl=128 time=41.6 ms

64 bytes from g.cn (203.208.50.63): icmp_seq=3 ttl=128 time=41.6 ms

配置第二塊網卡用於連接內網:

[root@controller ~]# nmcli connection add con-name ens37 ifname ens37 type ethernet ipv4.method manual ipv4.addresses 10.0.0.10/24 autoconnect yes

[root@controller ~]# nmcli connection up ens37

最終要確保重啟后IP和主機名一一對應:

           外網IP(ens33)            內網IP(ens37)

controller 192.168.181.10              10.0.0.10

compute  192.168.181.20              10.0.0.20

storage                              10.0.0.30

配置controllercompute的第三塊網卡,不獲取IP

[root@controller ~]# nmcli connection add con-name ens38 ifname ens38 type ethernet ipv4.method manual ipv4.addresses 192.168.181.41/24 autoconnect

[root@controller ~]# sed -i '2,3d;5,13d' /etc/sysconfig/network-scripts/ifcfg-ens38

  1. 修改配置文件的方式修改IP地址

[root@controller ~]# sed -i 's/dhcp/static/' /etc/sysconfig/network-scripts/ifcfg-ens33

[root@controller ~]# sed -i '$a IPADDR="192.168.181.10"' /etc/sysconfig/network-scripts/ifcfg-ens33

[root@controller ~]# sed -i '$a PREFIX="24"' /etc/sysconfig/network-scripts/ifcfg-ens33

[root@controller ~]# sed -i '$a GATEWAY="192.168.181.2"' /etc/sysconfig/network-scripts/ifcfg-ens33

[root@controller ~]# sed -i '$a DNS1="114.114.114.114"' /etc/sysconfig/network-scripts/ifcfg-ens33

[root@controller ~]# systemctl restart network

驗證:

[root@controller ~]# ifconfig

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.181.10  netmask 255.255.255.0  broadcast 192.168.181.255

[root@controller ~]# ping -c 3 g.cn

PING g.cn (203.208.50.55) 56(84) bytes of data.

64 bytes from g.cn (203.208.50.55): icmp_seq=1 ttl=128 time=46.9 ms

64 bytes from g.cn (203.208.50.55): icmp_seq=2 ttl=128 time=46.8 ms

要確保每個節點都可以pingg.cn

 

總統網絡架構:

 

 

配置本地域名解析

  1. 在控制節點上配置本地域名解析

[root@controller ~]# sed -i '3,100d' /etc/hosts

[root@controller ~]# sed -i 's/^:/#/' /etc/hosts

[root@controller ~]# echo "10.0.0.10  controller" >> /etc/hosts

[root@controller ~]# echo "10.0.0.20  compute" >> /etc/hosts

[root@controller ~]# echo "10.0.0.30  storage" >> /etc/hosts

[root@controller ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.0.0.10  controller

10.0.0.20  compute

10.0.0.30  storage

驗證結果:

[root@controller ~]# ping compute

PING controller (192.168.181.10) 56(84) bytes of data.

64 bytes from controller (192.168.181.10): icmp_seq=1 ttl=64 time=0.036 ms

64 bytes from controller (192.168.181.10): icmp_seq=2 ttl=64 time=0.096 ms

最終各個節點配置IP的目標:

要確保相互之間可以ping通,如:

[root@controller ~]# ping controller

PING controller (192.168.181.10) 56(84) bytes of data.

64 bytes from controller (192.168.181.10): icmp_seq=1 ttl=64 time=5.02 ms

64 bytes from controller (192.168.181.10): icmp_seq=2 ttl=64 time=0.940 ms

  1. 配置免密訪問/登錄

[root@controller ~]# ssh-keygen   #如果沒什么特殊需求一路回車即可

[root@controller ~]# ssh-copy-id compute

Are you sure you want to continue connecting (yes/no)? yes

root@controller's password:     #此處輸入compute的密碼

驗證:

[root@controller ~]# ssh root@compute

Last login: Fri Feb 14 19:00:39 2020

[root@controller ~]# exit   #exit返回到原來節點

storage做相同操作

  1. 發送hosts文件到其他三個節點(controllercomputestorage

[root@controller ~]# scp /etc/hosts root@controller:/etc/hosts

hosts                             100%  241    74.4KB/s   00:00

關閉SELinux

  1. 臨時關閉selinux (4個節點做相同操作)

[root@controller ~]# getenforce   #查看當前狀態

Enforcing

[root@controller ~]# setenforce 0  #關閉selinux

[root@controller ~]# getenforce   #查看狀態

Permissive

  1. 永久關閉selinux12可只做2

[root@controller ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

[root@controller ~]# reboot    #永久關閉需要重啟才能生效

關閉防火牆

四台機器都做相同操作:

[root@controller ~]# systemctl stop firewalld.service   #臨時關閉

[root@controller ~]# systemctl disable firewalld.service   #關閉開機自啟

搭建OpenStackyum

  1. 備份舊的yum源,刪除原yum

[root@controller ~]# tar -zcf /etc/yum.repos.d/yum.repo.bak.gz /etc/yum.repos.d/*

[root@controller ~]# rm -rf /etc/yum.repos.d/CentOS-*

  1. 構建本地OpenStack yum源(與3二選一)

借鑒於:https://blog.51cto.com/12114052/2383171

  1. 構建在線OpenStackyum

阿里各類yum源地址:https://developer.aliyun.com/mirror/

構建阿里雲epel源,centos

[root@controller yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

[root@controller yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

構建系統光盤自帶的yum

[root@controller yum.repos.d]# sed -i '$a /dev/cdrom /mnt/ iso9660 defaults 0 0' /etc/fstab

[root@controller yum.repos.d]# mount -a

[root@controller yum.repos.d]# tee /etc/yum.repos.d/CentOS-7.repo <<-'EOF'

> [centos]

> name=centos7

> baseurl=file:///mnt/

> enable=1

> gpgcheck=0

> EOF

[root@controller yum.repos.d]# yum clean all

[root@controller yum.repos.d]# yum repolist

4.在三個節點上都做相同的配置(controllercomputestorage

在此本人選擇構建在線OpenStackyum源,即重復13步驟,以下代碼可以復制執行

echo "nameserver 8.8.8.8    

nameserver 119.29.29.29

nameserver 114.114.114.114" > /etc/resolv.conf

cd /etc/yum.repos.d/

tar -zcf yum.repo.tar.gz * 

rm -rf /etc/yum.repos.d/CentOS-*

wget -O /etc/yum.repos.d/CentOS-epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

sed -i '$a /dev/cdrom /mnt/ iso9660 defaults 0 0' /etc/fstab

mount -a

tee /etc/yum.repos.d/CentOS-7.repo <<-'EOF'

[centos]

name=centos7

baseurl=file:///mnt/

enable=1

gpgcheck=0

EOF

yum -y install centos-release-ceph-jewel centos-release-qemu-ev

wget -O /opt/centos-release-openstack-ocata-1-2.el7.noarch.rpm https://mirrors.aliyun.com/centos-vault/altarch/7.6.1810/extras/ppc64le/Packages/centos-release-openstack-ocata-1-2.el7.noarch.rpm?spm=a2c6h.13651111.0.0.25962f70kIQliu&file=centos-release-openstack-ocata-1-2.el7.noarch.rpm

wget -O /opt/rdo-release-ocata-3.noarch.rpm https://repos.fedorapeople.org/repos/openstack/EOL/openstack-ocata/rdo-release-ocata-3.noarch.rpm

rpm -ivh /opt/centos-release-openstack-ocata-1-2.el7.noarch.rpm

rpm -ivh /opt/rdo-release-ocata-3.noarch.rpm

echo "[openstack-ocata]

name=ocata

baseurl=https://buildlogs.cdn.centos.org/centos/7/cloud/x86_64/openstack-ocata/

enable=1

gpgcheck=0" >> /etc/yum.repos.d/CentOS-7.repo

yum clean all

yum repolist

yum makecache
ls

服務部署架構:

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM