目錄
基本介紹
部署準備
開始部署
1.查看并修改虛擬機網路
2.創建manager節點
2.配置manage節點
2.克隆為agent節點
3.配置NFS服務
4.安裝MySQL服務
5.設定網路橋接
6.安裝CloudStack
(1)網路源
(2)本地源
7.配置CloudStack
8.創建資源域
9.注冊ISO,添加實體,創建模板
可能遇到的問題
基本介紹
本文旨在介紹如何在本機虛擬機里部署一套CloudStack環境的測驗流程,包括一臺管理節點(manager)和一臺計算節點(agent),其中,manager節點會搭建作為二級存盤的NFS服務,agent會搭建用于鏡像下載的nginx服務器,
本文使用KVM創建虛擬機,通過libvirtd管理虛擬機,
最后一個部分,是常見的問題與解決方案,會持續更新一段時間,有問題可以自行去尋找,
部署準備
軟體安裝:
VMWare Workstation,XShell
資源下載:
CentOS-7-x86_64-Minimal-1810.iso //系統鏡像
cloudstack-common-4.13.1.0-1.el7.x86_64.rpm
cloudstack-management-4.13.1.0-1.el7.x86_64
cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm
systemvmtemplate-4.11.3-kvm.qcow2.bz2
本文所用所有資源的百度云分享鏈接:https://pan.baidu.com/s/1AiuZUF5JvudgIgFjc_8j4Q 提取碼:oy3h
開始部署
1.查看并修改虛擬機網路
首先,打開Wmware Workstation,選擇選單欄“編輯”->虛擬網路編輯器,查看VMnet8的子網地址,
每臺機器VMnet8被分配的子網地址都不相同,但在每個網段中,本機都默認為1,網關都默認為2,
以本機“192.168.100.0”網段為例,在該網段中,默認本機的IP地址為“192.168.100.1”,默認網關的IP地址為“192.168.100.2”,
而若是“192.168.67.0”網段,則默認本機的IP地址為“192.168.67.1”,默認網關的IP地址為“192.168.67.2”,
請注意并修改后續操作中IP地址,以保證在VMnet8的網段中,
若想更改網段,可以點擊右下角“更改設定”,以管理員權限打開虛擬網路編輯器,修改左下角子網IP,
默認DHCP分配IP范圍為128-254,可以點擊“DHCP設定”調整,本文調整如下,開放地址范圍為192.168.100.100-192.168.100.254,

綜上,本機虛擬網路相關的資訊如下:
地址范圍:192.168.100.100-192.168.100.254
網關:192.168.100.2
子網掩碼:255.255.255.0
2.創建manager節點
本文先創建manager節點虛擬機,安裝必要的軟體后,會克隆該虛擬機作為agent節點,再分別部署各自節點,
本文manager節點IP設定為192.168.100.100,agent節點IP設定為192.168.100.101,可自行修改為其他,但注意必須在DHCP范圍內,
在VmWare Station 中新建虛擬機,在新建向導中依次選擇“典型”、“稍后安裝作業系統”、“Linux”、“CentOS 7 64位”,
命名該虛擬機為Manager,避免混淆,

磁盤容量為默認20G足可,在最后一步中點擊“自定義硬體”,按下圖配置,

Manager節點推薦記憶體為2G,
處理器內核2顆,開啟Intel VT-x/EPT,
CD驅動器加載CentOS的iso鏡像,并確定已勾選啟動時連接,
再洗掉多余的聲卡和列印機硬體,
點擊“關閉”并點擊“完成”,
再次編輯該虛擬機設定,點擊左下角添加,添加硬碟,
一路點“下一步”,最后完成新硬碟添加,
啟動虛擬機,開始鏡像安裝,點擊虛擬螢屏,按上下鍵選擇“Install CentOs 7”,進入可視化安裝界面,
第一步,選擇中文,
點擊“繼續”,等待依賴檢索完成,依次配置“安裝位置”、“網路和主機名”,
選擇“IPv4 設定”,選擇“手動分配,點擊"Add”,
添加靜態IP地址“192.168.100.100”,子網掩碼“255.255.255.0”,網關“192.168.100.2”,
請根據自己VMnet8的實際網段與自己設定的manager節點靜態IP進行修改,
在下方DNS服務器輸入阿里DNS服務器223.5.5.5,
如下圖所示,點擊“保存”和“完成”,
點擊“開始安裝”,
在安裝時,設定ROOT密碼,本文設定為12345,若密碼過于簡單,點擊兩次完成也可以完成設定,
安裝完成后,重啟,
2.配置manage節點
打開XShell,新建會話,

點擊“用戶身份驗證”,輸入root和ROOT密碼,

保存并連接,驗證主機密鑰,選擇“接受并保存”,
在XShell中完成以下配置,
(1)設定IP映射
設定后可以直接通過Hostname,訪問到對應節點,
復制一下指令到XShell會話框中,按回車執行,
vi /etc/hosts
在該檔案新的一行中插入以下內容:
192.168.100.100 manager
192.168.100.101 agent
小提示
按I鍵進入INSERT模式,
按ESC,輸入“:wq”保存并退出,輸入“:q!"不保存退出,
按ESC,按兩下D洗掉游標所在行,
(2)關閉防火墻
systemctl disable firewalld
systemctl stop firewalld
然后設定selinux為permissive模式
修改config檔案
vi /etc/selinux/config
找到selinx并改成
SELINUX=permissive
重啟生效
reboot
查看selinux
getenforce
(3)時區設定(非必要)
timedatectl set-timezone Asia/Shanghai
查看時區
timedatectl
(4)安裝EPEL
yum -y install epel*
重建本地倉庫快取
yum clean all && yum makecache
安裝VIM,用以編輯檔案,
yum -y install vim
安裝lrzsz,用以向虛擬機發送檔案,
yum -y install lrzsz
(5)安裝時間同步模塊
yum -y install chrony
修改組態檔
vim /etc/chrony.conf
將服務器修改為阿里云的時間同步服務器
找到以下四行
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
修改為
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst
重啟chronyd服務
systemctl restart chronyd
(5)安裝NFS服務
yum -y install nfs-utils
編輯組態檔
vim /etc/sysconfig/nfs
取消如下項的注釋,其中,RQUOTAD_PORT需要手動添加,
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020
啟動服務并設定開機啟動,
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs
查看新增硬碟
fdisk -l
格式化硬碟,建立ext4檔案系統,“Process anyway?”選擇“y”,
mkfs.ext4 /dev/sdb
至此,兩節點的通用配置已完成,
2.克隆為agent節點
關閉manager節點,在庫中,右鍵manager節點,選擇“管理”->“克隆”,進入克隆虛擬機向導,
依次選擇“克隆當前狀態”、“創建完整克隆”,命名為“agent”,然后點擊完成,
由于克隆后agent節點IP與manager沖突,建議先在虛擬機內部修改完靜態IP地址后,再通過XShell配置,
開啟agent虛擬機,輸入賬戶root,密碼12345,
修改host名
vim /etc/hostname
修改manager為agent
修改IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ens33
將IPADDR修改為192.168.100.101,修改后如下,

重啟虛擬機
reboot
在XShell中,創建新會話,名稱為“agent”,主機為192.168.100.101,賬號為root,密碼為12345,
在XShell的會話中完成后續配置,
3.配置NFS服務
前面已經配置過檔案,此步驟只需設定共享目錄,請注意各個操作與其操作節點,避免混淆,
manager節點
創建掛載點
mkdir -p /export/secondary
硬碟掛載
echo "/dev/sdb /export/secondary ext4 defaults 0 0" >> /etc/fstab
快速掛載
mount -a
查看掛載
df -h
結果如下

設定共享目錄
vim /etc/exports
添加
/export/secondary *(rw,async,no_root_squash,no_subtree_check)
重新匯入共享目錄配置
exportfs -a
agent節點
創建掛載點
mkdir -p /export/primary
硬碟掛載
echo "/dev/sdb /export/primary ext4 defaults 0 0" >> /etc/fstab
快速掛載
mount -a
設定共享目錄
vim /etc/exports
添加
/export/primary *(rw,async,no_root_squash,no_subtree_check)
重新匯入共享目錄配置
exportfs -a
驗證共享
manager 節點查看 agent的共享目錄
showmount -e agent
agent 節點查看 manager 的共享目錄
showmount -e manager
4.安裝MySQL服務
manager節點
yum -y install mariadb-server mariadb
編輯 mariadb 組態檔
vim /etc/my.cnf
在mysqld 模塊下加入
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
bind-address = 0.0.0.0
啟動mariadb 并設定為開機啟動
systemctl enable mariadb
systemctl start mariadb
執行資料庫初始化安全操作
mysql_secure_installation
初始未設定密碼按回車跳過,選擇設定密碼,設定為12345,移除匿名用戶,不屏蔽遠程登錄等,其他按回車選擇默認,
賦予 root 遠程登錄權限
請注意并修改下方操作中的密碼為自己設定的密碼
mysql -uroot -p12345 -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '12345' WITH GRANT OPTION";
5.設定網路橋接
agent節點
yum -y install net-tools bridge-utils
編輯網卡橋接檔案 cloudbr
vim /etc/sysconfig/network-scripts/ifcfg-cloudbr0
修改后內容如下,靜態IP根據自己實際情況修改,
TYPE=Bridge
BOOTPROTO=none
DEVICE=cloudbr0
ONBOOT=yes
IPADDR=192.168.100.101
NETMASK=255.255.255.0
GATEWAY=192.168.100.2
DNS1=223.5.5.5
STP=yes
設定網卡檔案
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改后如下
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="ad4d6e67-ae59-4a3c-9270-7045700517cd"
DEVICE="ens33"
ONBOOT="yes"
BRIDGE=cloudbr0
重新啟動網路服務
systemctl restart network
查看 網橋 和路由
brctl show route -n
至此,基本環境安裝已經完成,建議拍攝快照,以免后期配置錯誤,功虧一簣,
6.安裝CloudStack
(1)網路源
manager和agent節點
配置網路源檔案,兩臺節點配置相同
vi /etc/yum.repos.d/cloudstack.repo
添加
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos7/4.13/
enabled=1
gpgcheck=0
manager節點
yum -y install cloudstack-management
agent 節點
yum -y install cloudstack-agent
(2)本地源
官方下載地址:
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-management-4.13.1.0-1.el7.x86_64.rpm
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm
http://cloudstack.apt-get.eu/centos7/4.13/cloudstack-common-4.13.1.0-1.el7.x86_64.rpm
或
本文提供的百度云里下載,
本文使用lrzsz進行檔案發送,若遇問題,也可以使用WinSCP等其他軟體發送,
manager節點
將cloudstack-common和cloudstack-management兩個rpm檔案,分別拖入XShell會話框,發送給虛擬機,
執行下述指令進行本地安裝,
yum -y install cloudstack-common-4.13.1.0-1.el7.x86_64.rpm cloudstack-management-4.13.1.0-1.el7.x86_64.rpm
安裝程序或以后使用程序中,有任何問題,可以通過日志查看,
tail -f /var/log/cloudstack/management/management-server.log
初始化資料庫,創建新用戶cloud,
最后,root:12345為root賬號及root密碼,密碼不同請修改,
cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:12345
啟動management
cloudstack-setup-management
agent 節點
將cloudstack-common和cloudstack-agent兩個rpm檔案,分別拖入XShell會話框,發送給虛擬機,
執行下述指令進行本地安裝,
yum -y install cloudstack-common-4.13.1.0-1.el7.x86_64.rpm cloudstack-agent-4.13.1.0-1.el7.x86_64.rpm
manager節點
安裝KVM模板
在二級存盤中安裝KVM模板,以下兩種方式二選一,
a.網路源安裝
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /export/secondary \
-u http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.3-kvm.qcow2.bz2 \
-h kvm -F
b.本地源
官方地址:
http://cloudstack.apt-get.eu/systemvm/4.11/systemvmtemplate-4.11.3-kvm.qcow2.bz2
或
本文提供的百度云里下載,
同上述程序,拖入會話即可,
注意:當前檔案夾是否為root,不是請先“cd /root”,或者修改下述代碼中路徑,
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /export/secondary \
-f /root/systemvmtemplate-4.11.3-kvm.qcow2.bz2 \
-h kvm –F
agent 節點
配置libvirt
編輯QEMU VNC組態檔
vim /etc/libvirt/qemu.conf
取消注釋
vnc_listen="0.0.0.0"
配置/etc/libvirt/libvirtd.conf檔案
vim /etc/libvirt/libvirtd.conf
取消注釋或添加
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0
小提示
可以按下ESC,使用“/+搜索詞”,如“/listen”進行搜索,
配置/etc/sysconfig/libvirtd檔案
vim /etc/sysconfig/libvirtd
取消注釋
LIBVIRTD_ARGS="--listen"
重啟libvirtd 并設定為開機自啟
systemctl restart libvirtd
systemctl enable libvirtd
請注意,這一步配置錯導致libvirt服務啟動失敗,會導致后續創建資源域時無法添加主機,解決方法看文章最后的QA,
7.配置CloudStack
默認訪問埠為manager節點IP的8080埠,
打開瀏覽器,訪問http://192.168.199.100:8080/client/,
默認賬號為admin,默認密碼為password,選擇語言為“簡體中文”,登陸,

初次登陸選擇左下角“我以前使用過”,
選擇左下角“全域設定”,搜索并修改以下設定,
cpu.overprovisioning.factor 2.0 //CPU超配
mem.overprovisioning.factor 2.0 //記憶體超配,即2GB變4GB
secstorage.allowed.internal.sites 0.0.0.0/0 //從該網段下載ISO或模板,后期搭建ngix服務器可修改
management.network.cidr 192.168.100.0/24 //管理網段,可不修改,但會有警報資訊
在manager節點中,重啟cloudsatck-management服務
systemctl restart cloudstack-management
重啟時間較長,請耐心等候,可以觀察日志檔案,了解啟動行程,
tail -f /var/log/cloudstack/management/management-server.log
8.創建資源域
重新登錄,選擇左下角“基礎架構”,選擇“資源域”,點擊工具列“+ 添加資源域”,
配置如下即可,






請注意,“添加主機”這一步,是添加計算節點作為集群的默認主機,而不是管理節點,




點擊“啟動資源域”,等待創建完成,然后啟動即可,
9.注冊ISO,添加實體,創建模板
如下,等待系統VM創建成功后,開始后續步驟,


agent節點
創建一個NGINX 服務器當作鏡像下載站,
安裝 nginx 軟體
yum -y install nginx
編輯 nginx 組態檔
vim /etc/nginx/nginx.conf
在access_log /var/log/nginx/access.log main一行后加上
autoindex on;# 顯示目錄
autoindex_exact_size on;# 顯示檔案大小
autoindex_localtime on;# 顯示檔案時間
清空 /usr/share/nginx/html 目錄
小心謹慎
cd /usr/share/nginx/html
rm -rf *
將準備好的ISO鏡像放進去,本文使用的是虛擬機的鏡像,直接拖入會話框,傳送至/usr/share/nginx/html目錄,
重啟nginx 服務,設定為開機啟動
systemctl enable nginx
systemctl start nginx
可通過瀏覽器直接訪問agent節點IP地址查看,

注冊ISO
選擇左側“模板”->選擇視圖“ISO”,點擊工具列“注冊ISO”,

依次填寫所有資訊,URL可以從192.168.100.101網頁中復制鏈接,

點擊“確定”,點擊該ISO,點擊“資源域”,查看狀態,

安裝完成后,如下所示,

添加實體
依次選擇左邊“實體”->工具列“添加實體”,
選擇ISO創建,

選擇剛剛注冊的ISO,

計算方案選擇Medium,分配記憶體為1GB,可在“服務方案”中修改,

其余一律默認即可,最后填寫資訊,

啟動VM,等待VM創建并運行,
選擇該虛擬機快速查看->查看控制臺,

在彈出的控制臺網頁中,安裝ISO即可,
安裝程序同虛擬機大致一樣,不同的是網路只需打開即可,不需要設定靜態IP和主機名,
安裝完成后,重啟,
至此,一臺可以用于生產的實體已經部署完成,后續可以安裝其他生產環境,本文僅做測驗,安裝系統即可,
創建模板
接下來是,將安裝有生產環境的示例創建模板,用以創建更多實體,
關閉實體,“快速查看”->停止,

等待停止后,點擊“查看卷”,

選擇“快速查看”->“創建模板”,

填寫資訊后,創建即可,

以后添加實體時,選擇該模板即可創建一模一樣的實體,

可能遇到的問題
Q:安裝軟體時一直切換鏡像,最后也不下載,這是怎么回事?
A:有兩種可能
1.沒有配置DNS服務器,
沒有配置網橋的話,配置網路
vi /etc/sysconfig/network-scripts/ifcfg-ens33
添加DNS服務器
DNS1=223.5.5.5
配置網橋了的話,在網橋檔案里添加DNS,
vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0
2.網關配置錯誤
本文使用的VMnet8網段為192.168.100.0-192.168.100.254網段,其中192.168.100.2為虛擬網關地址,每個人的網段號不同,請根據自己的網段查看網關是否正確,
查看組態檔,注意其中GATEWAY欄位是否正確,
vi /etc/sysconfig/network-scripts/ifcfg-ens33
Q:管理節點重啟后,CloudStack 的WEB UI上不去,這是怎么回事?
A:一般是Server還在啟動中,稍等即可,
可以通過查看日志的方式排除問題,
tail -f /var/log/cloudstack/management/management-server.log
Q:系統VM創建失敗,日志顯示“can't create development for vm”,這是為什么?
A:這可能有兩個原因造成:
1.agent節點硬體資源不足
本文建議的4GB記憶體加2核,再加上2倍超配,經多次試驗完全能滿足要求,
2.沒有安裝KVM模板
如果日志中報錯“Not such file or directory”,然后指向/export/secondary里的template檔案夾,那么就是這個原因,按照第6部中的“安裝KVM模板”步驟完成即可,
Q:日志報資料庫中列錯誤,怎么處理?
A:按照第6步中,初始化資料庫的步驟,重新創建用戶,安裝management,
Q:資源域創建最后一步添加主機時報錯,說“Unable to add the host”,查找management的日志,找到以下錯誤,怎么解決?
A:這是在agent節點配置libvirt時出現了問題,建議先檢查自己在第六步配置libvirt時出現了什么問題,
有快照建議恢復到配置之前,
無快照,按照以下方法重新安裝libvirt,
卸載libvirt及其依賴
yum remove libvirt*
然后按照第六步中的程序重新安裝,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/167312.html
標籤:其他
上一篇:nginx服務部署

