基础环境配置
本章主要对服务器系统的安装步骤及基础配置进行说明。
准备安装包
安装部署之前,需准备的软件安装包如下:
- ZStack Cloud操作系统:4.4
- ZStack Cloud工具包:http://cdn.zstack.io/tools/zstack_tools.tar.gz
- ZStack企业版分布式存储软件包:sds-installer-5.2_RTMVersion_ZCE.tar.gz
ZStack Cloud操作系统ISO镜像可通过Rufus(x86推荐使用,国产化推荐使用FedoraMediaWrite)/UltraISO工具将把ISO文件刻录到U盘。
镜像刻录U盘
本次x86使用Rufus,将此ISO镜像刻录到U盘。
1. 在Rufus中打开ISO镜像。接入U盘,打开Rufus,引导类型选择列表选择镜像文件(请选择),点击选择按钮,打开已下载好的ISO镜像文件。

2. 写入镜像。选择好ISO镜像后,其他Rufus选项按照默认设置,点击开始。

3. 点击开始后,会提示U盘数据被格式化,点击确定,Rufus会把ISO镜像刻录至U盘。
说明:若U盘中存有重要数据,请确保格式化前已做好备份。

4. 此时U盘可用来作为启动盘,支持Legacy模式和UEFI模式引导。
安装操作系统
管理员对上架的网络设备和服务器加载电源,手动启动服务器进入 BIOS,检查以下内容:
- 确认服务器内硬盘的数据已作备份,安装过程会覆盖写入。
- 进入BIOS,开启CPU VT选项;开启超线程HT选项;例如Dell:

- 进入BIOS,一般都在Advanced(高级设置)打开CPU Configuration(CPU设置)点击CPU POWER 打开Mangement Configuration选择Intel C State进行关闭。
- 进入阵列卡配置,合适的RAID级别,以提供一定的数据冗余特性,具体配置两块操作系统盘为Raid1 Write-through安装系统盘,其他SSD和SATA盘均配置NON Raid或者JBOD模式。
- 设置U盘为第一启动顺序。
- 所有节点均安装ZStack定制版操作系统。
- 超融合节点均作为KVM虚拟化节点,需选择【ZStack Cloud Compute Node】选项。
- 管理节点选择【ZStack Cloud Management Node】选项。
所有物理机暂且不配置IP地址,安装完成操作系统后在操作系统内部配置IP地址,配置IP地址请参考《设置网络基础环境》,管理节点安装请参考《安装管理节点服务》。
推荐分区如下:
- /boot,创建分区1GB。
- /,根分区,配置剩下容量(请不要分配SWAP分区)。
- 安装系统只需勾选待安装的系统盘,其他硬盘请勿勾选。
- 时区默认亚洲东八区,建议管理员提前检测物理机时间,配置为当前时间和时区。
- 安装时暂不配置网络,待进入系统后单独手动配置。
- 如果采用UEFI引导,则需额外配置1G的/boot/efi分区。
- 如果采用Legacy引导,系统盘容量超过2T,则需额外配默认1024 KIB的BIOS Boot分区以支持GPT。
- 部分老机型对UEFI支持度不佳,安装系统出现问题,可考虑在BIOS修改引导项为Legacy模式安装系统。
设置网络基础环境
服务器网络地址规划需与实际情况匹配,网络配置需与当前平台无冲突,且需规划后续扩容及网络互连等场景,需提前规划。
此处设置管理网络bond0,业务网络bond1,存储网络bond2。
以第一台节点为例,配置网络IP过程如下(其他节点类似):
# 创建主备模式的绑定网卡bond0 bond1 bond2,依次作为管理网络,业务网络和存储网络:(网卡名以em1 em2 em3 em4 p6p1 p6p2为例)
zs-bond-ab -c bond0
zs-bond-ab -c bond1
zs-bond-ab -c bond2
# 将网卡em1与em2均添加到bond0, 将网卡em3与em4均添加到bond1,将网卡p6p1与p6p2均添加至bond2;
zs-nic-to-bond -a bond0 em1
zs-nic-to-bond -a bond0 em2
zs-nic-to-bond -a bond1 em3
zs-nic-to-bond -a bond1 em4
zs-nic-to-bond -a bond2 p6p1
zs-nic-to-bond -a bond2 p6p2
#如果有VLAN,需要交换机配置Trunk模式并且允许对应VLAN通过,本次示例vlan 100为管理网;
zs-vlan -c bond0 100
#创建网桥br_bond0_100(IP地址配置在vlan子接口上)指定网络IP、掩码和网关,其中bond1作为业务网络,无须指定IP地址,bond2作为存储网络,无需指定网关;-b基于接口创建网桥并配置地址。
zs-network-setting -b bond0.100 192.168.1.100 255.255.255.0 192.168.1.1
zs-network-setting -b bond2 172.20.0.100 255.255.255.0
#查看主备端口bond是否创建成功
zs-show-network
…
--
| Bond Name | SLAVE(s) | BONDING_OPTS |
--
| bond0 | em1 | miimon=100 mode=active-backup 1 xmit_hash_policy=layer2 0 |
| | em2 | |
--
| bond1 | em3 | miimon=100 mode=active-backup 1 xmit_hash_policy=layer2 0 |
| | em4 | |
--
| bond2 | p6p1 | miimon=100 mode=active-backup 1 xmit_hash_policy=layer2 0 |
| | p6p2 | |
--
# 配置VXLAN(可选):
# 如果计划使用VXLAN网络,在创建VTEP接口地址时,应将地址直接配置在bond网卡,或物理网卡,或网卡VLAN子接口上(例如bond1、enp176s0f0、bond1.208)注意:配置了VTEP IP的网卡,不能在云平台上再使用相同的网卡(VTEP IP的网卡)和VLAN ID创建二层网络
# 创建VLAN子接口
zs-vlan -c bond1 208
# 在VLAN子接口上配置VTEP IP地址
zs-network-setting -i bond1.208 192.168.150.11 255.255.255.0
# 查看配置信息
ip address show dev bond1.208
# 删除网桥配置(如果网络配置错误,请使用如下步骤清理配置错误的网络重新配置):
# 重置当前网卡IP地址,这里示例bond1
zs-restore-network-setting -i bond1
# 如果要清理网桥上IP,只需替换bond1为br_bond1即可。
# 然后重新再使用zs-network-setting配置网络即可
# 扩展:手动清理网桥和vlan配置:
# 删除网桥配置:
# 停止创建的网桥
ip link set br_XXX down
# 删除网桥
brctl delbr br_XXX
# 删除网桥配置文件
rm -f /etc/sysconfig/network-scripts/ifcfg-br_XXX
# 删除vlan配置:
# 删除vlan子接口
zs-vlan -d bondX XX
# 删除bond:
# 删除错误的bond
zs-bond-ab -d bondX
# 然后再参考最开始配置网络,添加bond
安装管理节点服务
安装操作系统时候默认不配置IP地址,选择管理节点模式安装在服务器没有IP地址情况下不会自动安装ZStack Cloud云平台管理服务,进入操作系统之前系统会提示手动安装,手动安装方法如下:
# 手动使用BIN文件安装ZStack管理节点服务:
bash /opt/zstack-dvd/zstack-installer.bin -E
# 配置管理节点默认规模为中等规模,优化管理节点
zstack-ctl set_deployment -s medium
# 设置云平台数据库安全访问策略
zstack-ctl mysql_restrict_connection --root-password zstack.mysql.password --restrict --include-root
配置免密及时间同步及主机名
配置Host、免密、以及时间同步。
1. 下载ZStack Cloud 企业版工具包zstack_tools.tar.gz,此工具包可实现各节点直接SSH 免密,设置Hostname,设置时间同步服务器。
wget http://cdn.zstack.io/tools/zstack_tools.tar.gz
tar zxvf zstack_tools.tar.gz
cd zstack_tools/
2. 修改ansible/hosts.example下面的配置。
# 在nodes下列出所有节点的IP地址,ansible_user代表ssh 用户名,ansible_pass代表ssh密码,各物理机密码初始应配置相同密码,在chrony下面列出集群时间同步服务器(如果企业内部有时间服务器地址,可以将平台内物理机指向企业内部时间服务器地址);
vim ansible/hosts.example
# 修改成如下内容
# 节点IP,请使用管理网络IP来配置
[nodes]
192.168.1.100
……
192.168.1.109
#节点用户/密码
[nodes:vars]
ansible_user=root
ansible_ssh_pass=password
#时间同步服务器,建议使用管理网络IP配置
[chrony]
192.168.1.109
#保存退出
3. 编辑hostname前缀。
# 修改ansible/group_vars/nodes下hostname前缀;
vim ansible/group_vars/nodes
# 修改hostname前缀
hostname_prefix: zstack-
4. 保存退出,各个hostname前缀会被配置为zstack-1类似格式。
5. 执行一键准备环境,此配置会部署各节点之间SSH免密,时间同步,/etc/hosts,关闭防火墙等。
./prepare.sh -i ./ansible/hosts.example
# 执行完毕后所有节点时间同步均指向了192.168.1.109时间源服务器、所有服务器已经相互SSH免密、防火墙均已清理、hosts文件已经配置完成、hostname已经更新完毕。
设置管理节点DNS服务器
设置管理节点DNS服务器地址,让管理节点能正常访问互联网,设置正确的DNS服务器地址可以同步,如果未设置DNS服务器地址,平台上邮件告警,钉钉告警可能无法正常通信。
设置方法如下:
# 编辑DNS配置文件 vim /etc/resolv.conf # 设置DNS地址为114.114.114.114 nameserver 114.114.114.114