1. 程式人生 > >Openstack(基於虛擬機) 搭建實例

Openstack(基於虛擬機) 搭建實例

mask 環境 14. 安裝環境 qemu-kvm cli KS horizon ins

實驗要求:在真機中搭建兩臺虛擬機
虛擬機A 8G內存 200G硬盤sda 20G硬盤sdb
虛擬機B 5G內存 200G硬盤sda

真機安裝虛擬機安裝,依賴包
qemu-kvm
libvirt-client
libvirt-daemon
libvirt-daemon-driver-qemu

添加真機路由轉發
vim /etc/sysctl.d/70-system.conf
net.ipv4.ip_forward = 1

清空真機虛擬網絡
rm -rf /etc/libvirt/qemu/networks/autostart/

關閉selinux,關閉firewall

添加第一塊虛擬網卡veth1
vim /etc/libvirt/qemu/networks/veth1.xml

<network>
<name>veth1</name>
<bridge name="veth1"/>
<forword mode="nat"/>
<ip address="192.168.1.254" netmask="255.255.255.0">
<dhcp>
<range start="192.168.1.100" end="192.168.1.200"/>
</dhcp>
</ip>
添加第二塊虛擬網卡veth2
vim /etc/libvirt/qemu/networks/veth2.xml
<network>
<name>veth2</name>
<bridge name="veth2"/>
<forword mode="nat"/>
<ip address="192.168.2.254" netmask="255.255.255.0">
<dhcp>
<range start="192.168.2.100" end="192.168.2.200"/>
</dhcp>
</ip>
</network>
</network>

定義虛擬網卡
virsh net-define veth1.xml
virsh net-define veth2.xml

啟用網絡
virsh net-start veth1
virsh net-start veth2

自動啟用虛擬網絡
virsh net-autostart veth1
virsh net-autostart veth2

創建qcow2格式鏡像磁盤模板
cd /var/lib/libvirt/images/
qemu-img create -f qcow2 node.qcow2 16G

在真機配置一臺yum源linux安裝服務器(ftp,http)
新建虛擬機
網絡安裝
url:http://127.0.0.1/centos7
內存2G
cpu 2顆
選擇或創建自定義存儲
/var/lib/libvirt/images/node.qcow2
點選前進
根據條件,可選擇最小化安裝

(分區只分一個根, 標準分區
語言用默認英文
關閉kdump)

模板虛擬機上操作
配置yum源
安裝net-tools 來使用ifconfig命令
安裝vim-enhanced 來使用vim
安裝iproute 使用ip命令
安裝bash-completion 自動補齊

停用selinux,刪除firewall軟件
刪除這個軟件,使用默認的network服務
yum remove NetworkManager*
禁用空路由
vim /etc/sysconfig/network
NOZEROCONF="yes"
增加虛擬機console tty0接口
vim /etc/sysconfig/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet console=tty0 console=ttyS0,115200n8"

可以自定義yum源
關閉虛擬機

真機

cd /etc/libvirt/qemu
cp centos7.0.xml /roo

取消定義之前的virt-manager圖形管理裏面的centos7
virsh undefine centos7.0
修改模板
vim centos7.0.xml
刪除uuid
刪除總線地址
<address .../>
刪除mac地址
刪除包含usb的部分
刪除clock部分
刪除sound部分
刪除video部分
修改完畢後,作為模板使用創建虛擬機
虛擬機模板:http://pan.baidu.com/s/1Q5MN4m2z8MyPoB31vfyiVg
別全照抄,把需要更改的地改下
密碼: a82e

創建虛擬機
1、創建虛擬機配置文件
拷貝模板到/var/lib/libvirt/qemu/node1.xml
修改name字段,修改磁盤文件
3 <name>node1</name>
29 <source file=‘/var/lib/libvirt/images/node1.img‘/>
2、創建虛擬機磁盤文件
[root@room9pc01 ~]# cd /var/lib/libvirt/images/
[root@room9pc01 images]# qemu-img create -b node.qcow2 -f qcow2 node1.img 200G
[root@room9pc01 images]# qemu-img create -b node.qcow2 -f qcow2 node1.qcow2 20G
//以之前創建的node.qcow2作為模板復制一個node1.img鏡像
[root@room9pc01 qemu]# cd /var/lib/libvirt/qemu
[root@room9pc01 qemu]# virsh define node1.xml
定義域 node1(從 node1.xml)root

[root@room9pc01 qemu]# virsh start node1
域 node1 已開始
[root@room9pc01 qemu]# virsh console node1 成功連接

第二臺虛擬機按需更改之前的配置

openstack安裝環境準備
在真機上 安裝配置 dns,能做為一個轉發dns服務器
yum -y install bind-chroot
vim /etc/named.conf
listen-on port 53 { 192.168.1.254; };
//listen-on-v6 port 53 { ::1; };
recursion yes;
forwarders { 114.114.114.114; };

    dnssec-enable no;
    dnssec-validation no;

安裝配置 chronyd server
yum -y install -y chronyd
vim /etc/chronyd.conf
server ntp1.aliyun.com iburst
bindacqaddress 0.0.0.0
allow 0/0

systemctl restart chronyd
chronyc sources -v
2 配置兩臺虛擬機(安裝前配置網絡)
第一臺安裝管理節點需要8G內存
單獨加一塊硬盤給openstack cinder 使用20G
單獨加一塊網卡 eth1,eth2
第二臺安裝nova節點,最少5G內存
單獨加一塊網卡 eth1,eth2

兩臺虛擬機上操作
下載 RPM-GPG-KEY-CentOS-7
wget http://192.168.1.254/cloud1/RPM-GPG-KEY-CentOS-7

[[email protected] ~]# rpm --import RPM-GPG-KEY-CentOS-7

將yum源簽名認證改為1
[CentOS7-1708]
name=CentOS7-1708
baseurl=http://192.168.2.254/cloud1
enabled=1
gpgcheck=1

yum -y install qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

yum install lftp lrzsz

yum -y install cloud-utils-growpart
LANG=en_US.UTF-8
growpart /dev/vda 1
xfs_growfs /

[[email protected] ~]# systemctl stop NetworkManager
[[email protected] ~]# systemctl disable NetworkManager
openstack 機器在上安裝
yum -y install lvm2
pvcreate /dev/vdb
vgcreate cinder-volumes /dev/vdb
vgs

[root@openstack~]# yum install -y openstack-packstack
[root@openstack~]# packstack --gen-answer-file answer.txt

sed -i "11c CONFIG_DEFAULT_PASSWORD=Taren1" /root/answer.txt
sed -i "42c CONFIG_SWIFT_INSTALL=n" /root/answer.txt
sed -i "75c CONFIG_NTP_SERVERS=192.168.1.254" /root/answer.txt
sed -i "98c CONFIG_COMPUTE_HOSTS=192.168.1.10,192.168.1.11" /root/answer.txt
sed -i "102c CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11" /root/answer.txt
sed -i "554c CONFIG_CINDER_VOLUMES_CREATE=n" /root/answer.txt
sed -i "840c CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan" /root/answer.txt
sed -i "876c CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5" /root/answer.txt
sed -i "910c CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex" /root/answer.txt
sed -i "921c CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0" /root/answer.txt
sed -i "936c CONFIG_NEUTRON_OVS_TUNNEL_IF=eth1" /root/answer.txt
sed -i "1179c CONFIG_PROVISION_DEMO=n" /root/answer.txt

[root@openstack ~]# packstack --answer-file answer.txt

之後進行安裝,耐心等待30分鐘時間左右

修復bug
[root@openstack ~]# vim /etc/httpd/conf.d/15-horizon_vhost.conf
36 WSGIApplicationGroup %{GLOBAL}
[root@openstack ~]# systemctl restart httpd

openstack 默認登陸信息,在root下一個叫key.*打頭的文件中,可以用cat打開,有默認的帳號密碼

http://192.168.1.10
用戶名 admin
密碼 cat 192.168.1.10:/root/keystonerc_admin

右上角點選“項目”選項
點選創建項目
輸入描述信息
點選配額選項

點選“身份管理”選項
身份管理-創建用戶-輸入用戶名-密碼-確認密碼-點選項目

點選項目-鏡像-創建鏡像
輸入鏡像名稱 輸入描述信息
文件點選瀏覽 點選對應文件
鏡像格式 QCOW2-QEMU模擬器
鏡像要求不要去更改任何設置
點選創建鏡像文件
有一個小bug,進度條滿後,點選鏡像選項按鈕刷新,狀態運行中就ok!

點選頂端列表,管理員-雲主機類型-創建雲主機類型
例:名稱* vcpu 2 內存 512MB 根磁盤 3G 創建
————————————————————————————————————————————————
點選頂端列表,管理員-網絡-創建網絡
名稱:public
項目:nsd
物理網絡:physnet1
供應商:Flat
共享的,外部網絡 勾選
——————————————————————————————————————————————————————————
切換用戶(配置實例)
切換項目用戶

選項網絡-網絡-增加子網
子網名稱:wan
網絡地址:192.168.1.0/24
網關:192.168.1.254
下一步:
勾掉激活DHCP
以創建

創建用戶專屬內網
點選網絡-網絡拓撲
網絡名稱:lan 
下一步
子網名稱:lan
網絡地址:192.168.100.0/24
網絡IP:192.168.100.254
下一步
激活DHCP
分配地址池
192.168.100.50,192.168.100.100
dns服務器
192.168.1.254
以創建 
——————————————————
創建路由
點選網絡拓撲-路由-新建路由
路由名稱:r1
外部網絡:public
點選路由圖標
點選路由名稱超鏈接
點選接口
增加接口
子網:lan192.168.100.0/24
ip地址:192.168.100.254


點選項目-雲主機數量-創建雲主機
雲主機名稱:host1
源:點選鏡像,不創建新的卷
下方鏡像可用:點選+
雲主機類型:點選對應類型+
網絡:點選專屬的內部網絡lan+
創建雲主機
—————————————————————————————————————————————————————————————
點選計算-雲主機數量-控制臺-點擊只顯示控制臺-點選返回
默認只能單向訪問
點選訪問和安全
點選管理規則
刪除ipv6
點選訪問和安全
點選創建安全組
名稱:ssh
管理規則
規則:定tcp規則
方向:入口
打開端口:端口
端口:22
遠程:cidr
cidr:0.0.0.0


點選雲主機數量:
點選下拉菜單-編輯安全組-把默認default改成ssh規則-保存


點選計算-雲主機數量-點選主機後端的下拉菜單-點選綁定浮動ip
ip地址點選+
點選資源池
點選分配
點選關聯


更換管理員
點選管理員
點選主機聚合
點選虛擬機管理器

Openstack(基於虛擬機) 搭建實例