Solaris下多节点OpenStack的详细搭建
来源:互联网 发布:充电器检测软件 编辑:程序博客网 时间:2024/06/06 21:10
本文用两台服务器搭建一个双计算节点和双存储节点的OpenStack环境
操作系统是Solaris11.3Openstack版本为Juno
配置OpenStack 控制节点
配置NTP
本NTP 服务器安装在控制节点上
1. 安装 NTP 软件包。
ntp-server# pkg install ntp
2. 安装配置文件。
ntp-server# cp /etc/inet/ntp.server /etc/inet/ntp.conf
3. 编辑 /etc/inet/ntp.conf 文件:配置 server 和 driftfile 关键字。
例如:
server 127.127.1.0 prefer
...
driftfile /var/ntp/ntp.drift
注 - 127.127.1.0 不是 IP 地址。它是一种格式,用来引用向服务器提供准确时间的时
钟。请务必阅读 ntp.conf 文件中对 server 关键字进行解释的注释。
根据您之前的定义创建 /var/ntp/ntp.drift 文件。
ntp-server# touch /var/ntp/ntp.drift
5. 启动 ntp 服务。
ntp-server# svcadm enable ntp
配置NTP客户端
1cp /etc/inet/ntp.client /etc/inet/ntp.conf
2. 配置 /etc/inet/ntp.conf 文件。
a. 注释掉 multicastclient 选项。
b. 取消注释一个或多个服务器选项,并提供 NTP 服务器的具体名称或其 IP 地址。
如下例所示:
# multicastclient 224.0.1.1
...
server IPXXX iburst
# server server_name2 iburst
# server server_name3 iburst
3. 启用 ntp 服务。
controller# svcadm enable ntp
创建IP
注:net0 供机房内部使用
net1存储网络、管理网络、内网
net2外网
ipadmcreate-ip net1
ipadmcreate-addr - T static -a 192.168.1.100/24 net1/v4
ipadmcreate-addr - T static -a 192.168.0.100/24 net1/v4a
ipadmcreate-ip net2
ipadmcreate-addr - T static -a 172.17.0.100/24 net2/v4
2 修改/etc/hosts
172.17.0.100 public_1
172.17.0.101 public_2
192.168.1.100 controller
192.168.1.101 compute
192.168.0.100 admin_1
192.168.0.101 admin_2
3以下都是root 用户
pkg install openstack
pkg install mysql-56 mysql-56/client python-mysql rabbitmq markupsafe rad-evs-controller
svcadm enable rabbitmq
svcadm restart rad:local
svcadm enable mysql
mysqladmin -u root passwordmysql
mysql -u root -p
delete from mysql.user where user='';
drop database if exists nova;
drop database if exists cinder;
drop database if exists glance;
drop database if exists keystone;
drop database if exists neutron;
drop database if exists heat;
create database cinder default character set utf8 default collate utf8_general_ci;
grant all privileges on cinder.* to 'cinder'@'admin_1' identified by 'cinder';
grant all privileges on cinder.* to 'cinder'@'localhost' identified by 'cinder';
grant all privileges on cinder.* to 'cinder'@'admin_2' identified by 'cinder';
create database glancedefault character set utf8 default collate utf8_general_ci;
grant all privileges on glance .* to 'glance'@'admin_1' identified by 'glance';
grant all privileges on glance .* to 'glance'@'localhost' identified by 'glance';
create databasekeystonedefault character set utf8 default collate utf8_general_ci;
grant all privileges on keystone.* to 'keystone'@'admin_1' identified by 'keystone';
grant all privileges on keystone.* to 'keystone'@'localhost' identified by 'keystone';
create databasenovadefault character set utf8 default collate utf8_general_ci;
grant all privileges on nova.* to 'nova'@'admin_1' identified by 'nova';
grant all privileges on nova.* to 'nova'@'localhost' identified by 'nova';
create databaseneutron default character set utf8 default collate utf8_general_ci;
grant all privileges on neutron.* to 'neutron'@'admin_1' identified by 'neutron';
grant all privileges on neutron.* to 'neutron'@'localhost' identified by 'neutron';
create databaseheat default character set utf8 default collate utf8_general_ci;
grant all privileges on heat.* to 'heat'@'admin_1' identified by 'heat';
grant all privileges on heat.* to 'heat'@'localhost' identified by 'heat';
flush privileges;
quit
安装 Keystone
1. 将令牌设置为某个环境变量。
export SERVICE_TOKEN=ADMIN
2. 在 /etc/keystone/keystone.conf 文件中修改参数。
./openstack_config.pykeystone
3启用 Keystone SMF 服务。
controller# svcadm enable keystone
4. 填充 Keystone 数据库。
要使用样例脚本,请发出以下命令。
修改/usr/demo/openstack/keystone/sample_data.sh ,将localhost 改为主机名,否则在计算节点上创建实例会有问题
controller# CONTROLLER_PUBLIC_ADDRESS=admin_1 CONTROLLER_ADMIN_ADDRESS=admin_1 CONTROLLER_INTERNAL_ADDRESS=admin_1 SERVICE_TOKEN=ADMIN /usr/demo/openstack/keystone/sample_data.sh
安装glance
./openstack_config.py glance
svcadm enable -rs glance-api glance-db glance-registry glance-scrubber
安装Nova
./openstack_config.py nova
controller# svcadm enable -rs nova-conductor
controller# svcadm enable -rs nova-api-osapi-computenova-cert nova-scheduler
svcadm enable -rs nova-compute
安装 Horizon
a 您的配置使用 HTTP。
a. 向 /etc/openstack_dashboard/local_settings.py 脚本提供设置。
controller# gsed -i -e s@SECURE_PROXY_SSL_HEADER@#SECURE_PROXY_SSL_HEADER@ -e s@CSRF_COOKIE_SECURE@#CSRF_COOKIE_SECURE@ -e s@SESSION_COOKIE_SECURE@#SESSION_COOKIE_SECURE@ /etc/openstack_dashboard/local_settings.py
b. 为 OpenStack 复制 HTTP 版的 http.conf 文件。
controller# cp /etc/apache2/2.4/samples-conf.d/openstack-dashboard-http.conf /etc/apache2/2.4/conf.d/
2. 启动 Apache 服务。
controller# svcadm enable apache24
安装 Cinder
./openstack_config.py cinder
controller# svcadm enable iscsi/target stmf
启用 Cinder SMF 服务。
controller# svcadm enable -rs cinder-db
controller# svcadm enable -rs cinder-api cinder-scheduler
storage# svcadm enable -rscinder-volume:default cinder-volume:setup(本机为块存储服务器)
安装Neutron
1 ./openstack_config.py neutron
2. 设置要使用的 SSH 密钥对。
a. 为 evsuser、neutron 和 root 用户创建 SSH 密钥对。
controller# su - evsuser -c "ssh-keygen -N '' -f /var/user/evsuser/.ssh/id_rsa -t rsa"
controller# su - neutron -c "ssh-keygen -N '' -f /var/lib/neutron/.ssh/id_rsa -t rsa"
controller# ssh-keygen -N '' -f /root/.ssh/id_rsa -t rsa
b. 在 evsuser 的 authorized_keys 文件中组合 evsuser、neutron 和 root 的 SSH 密
钥。
controller# cat /var/user/evsuser/.ssh/id_rsa.pub /var/lib/neutron/.ssh/id_rsa.pub /root/.ssh/id_rsa.pub >> /var/user/evsuser/.ssh/authorized_keys
c. 测试 SSH 连接以接受将存储在 known_host 文件中的指纹。
在配置的每个提示符处指定 Yes。
controller# su - evsuser -c "ssh evsuser@controllertrue"
controller# su - neutron -c "ssh evsuser@controller true"
controller# ssh evsuser@controller true
设置 .ssh 目录的所有权。
controller# chown -R evsuser:evsgroup /var/user/evsuser/.ssh
controller# chown -R neutron:neutron /var/lib/neutron/.ssh
3. 配置弹性虚拟交换机 (Elastic Virtual Switch, EVS)。
a. 设置 EVS 属性以指定 EVS 控制器的位置。
controller# evsadm set-prop -p controller=ssh://evsuser@controller
b. 配置 EVS 控制器的 l2-type、uplink-port 和 vlan-range 属性。
controller# evsadm set-controlprop -p l2-type=vlan
controller# evsadm set-controlprop -p vlan-range=200-300
外网flat网络,内网vlan
controller# evsadm set-controlprop -p uplink-port=net2,flat=yes
controller# evsadm set-controlprop -p uplink-port=net1,vlan-range=200-300
controller# evsadm show-controlprop -o all
查看上行链路的配置
root@controller:~# evsadm show-controlprop -oproperty,value,flat,vlan_range,vxlan_range,host -p uplink-port
4 启用 IP 转发。
controller# ipadm set-prop -p forwarding=on ipv4
5. 启动 IP 过滤器服务。
controller# svcadm enable -rs ipfilter
6. 启用 Neutron 服务器服务。
controller# svcadm enable -rs neutron-server neutron-dhcp-agent
controller# export OS_USERNAME=neutron
controller# export OS_PASSWORD=neutron
controller# export OS_TENANT_NAME=service
controller# export OS_AUTH_URL=http://controller:5000/v2.0
修改路由表
route -p delete default 10.182.42.1
创建并上传镜像
export OS_AUTH_URL=http://admin_1:5000/v2.0/
export OS_PASSWORD=glance
export OS_USERNAME=glance
export OS_TENANT_NAME=service
安装zone
zonecfg -z myfirstkz create -t SYSsolaris-kz(安装kernelzone)
//zonecfg -z myfirstkz create(安装non-global zone)
zoneadm -z myfirstkz install
zoneadm -z myfirstkz boot
zlogin -C myfirstkz
vi /etc/ssh/sshd_config
PermitRootLogin without-password
root@myzone:~# ~~.
archiveadm create -z myfirstkz myfirstkz.uar
glance image-create --container-format bare --disk-format raw --is-public true --name "KernelZone" --property architecture=sparc64 --property hypervisor_type=solariszones --property vm_mode=solariszones < myfirstkz.uar
配置内网
export OS_USERNAME=neutron
export OS_PASSWORD=neutron
export OS_TENANT_NAME=service
export OS_AUTH_URL=http://admin_1:5000/v2.0
controller#neutron net-create internal_network
controller#neutron subnet-create --name internal_subnetwork--disable-dhcp internal_network 192.168.111.0/24
配置外网
controller#neutron router-create provider_router
id####################
修改/etc/neutron/l3_agent.ini
router_id = ########################
controller # svcadm enable neutron-l3-agent
controller# svcs neutron-l3-agent
controller#neutron net-create --provider:network_type=flat \
--router:external=true external_network
controller# neutron subnet-create --disable-dhcp --nameexternal_subnet --allocation-pool start=172.17.0.103,end=172.17.0.254 --gateway 172.17.0.101 external_network 172.17.0.0/24
controller#neutron router-gateway-set provider_router external_network
controller# neutron net-list
controller#neutron router-interface-add provider_router internal_subnetwork
配置OpenStackNova节点
安装NTP客户端
pkg install ntp
cp /etc/inet/ntp.client /etc/inet/ntp.conf
3. 配置 /etc/inet/ntp.conf 文件。
a. 注释掉 multicastclient 选项。
b. 取消注释一个或多个服务器选项,并提供 NTP 服务器的具体名称或其 IP 地址。
例如,如果您配置的 NTP 服务器的主机名为 system1,则配置文件将如下例所示:
# multicastclient 224.0.1.1
...
server 10.182.42.56 iburst
# server server_name2 iburst
# server server_name3 iburst
4. 启用 ntp 服务。
controller# svcadm enable ntp
创建IP
ipadm create-ip net1
ipadm create-addr - T static -a192.168.1.101/24 net1/v4
ipadm create-addr - T static -a192.168.0.101/24 net1/v4a
ipadm create-ip net2
ipadm create-addr - T static -a 172.17.0.101/24net2/v4
2 修改/etc/hosts
172.17.0.100 public_1
172.17.0.101 public_2
192.168.1.100 controller
192.168.1.101 compute
192.168.0.100 admin_1
192.168.0.101 admin_2
安装Nova
pkg installnova
svcadm restartrad:local
scp root@controller:/usr/lib/python2.7/vendor-packages/nova/usr/lib/python2.7/vendor-packages
compute#svcadm enable nova-compute
启用IP转发:
ipadm set-prop -p forwarding=on ipv4
安装EVS
compute# pkg install evs
compute# evsadm set-prop -pcontroller=ssh://evsuser@controller
在计算节点上为 root 用户创建一个 SSH 公钥。
compute# su - root -c "ssh-keygen -N'' -f /root/.ssh/id_rsa -t rsa"
b. (可选) 检查 SSH 密钥的内容。
compute# cat /root/.ssh/id_rsa.pub
c. 将 SSH 密钥 /root/.ssh/id_rsa.pub 复制到控制器节点中的某个位置。
d. 在控制器节点上,将 SSH 密钥附加到 evsuser 的 authorized_keys 文件。
controller# cat location/id_rsa.pub>> /var/user/evsuser/.ssh/authorized_keys
e. (可选) 验证是否已将计算节点中的 SSH 密钥附加到 authorized_keys 文件。
controller# cat/var/user/evsuser/.ssh/authorized_keys
测试计算节点到控制器的 SSH 连接,并接受要存储在 known_host 文件中的指纹。
在提示符处指定 Yes 进行确认。
root@compute# ssh evsuser@controller true
返回到controller 把controller的evsuser的id_rsa.pub复制到compute 的/var/user/evsuser/.ssh/authorized_keys中
controller #scp /var/evsuser/.ssh/id_rsa.pub solaris@compute:/export/home/solaris
返回到compute
compute# cat /export/home/solaris/id_rsa.pub >> /var/user/evsuser/.ssh/authorized_keys
监测controller的evsuser ssh到evsuser@compute
evsuser @controller# ssh evsuser@computetrue
compute# evsadm set-controlprop –h compute-p uplink-port=net2,flat=yes
compute # evsadm set-controlprop–h compute -p uplink-port=net1,vlan-range=200-300
compute # evsadm show-controlprop -o all
查看上行链路的配置
root@controller:~# evsadmshow-controlprop -o property,value,flat,vlan_range,vxlan_range,host -puplink-port
配置OpenStack Cinder节点
pkginstall cinder
./openstack_cinder_config.pycinder
controller# svcadm enable iscsi/target stmf
启用 Cinder SMF 服务。
controller# svcadm enable -rs cinder-db
storage# svcadm enable -rscinder-volume:default cinder-volume:setup(本机为块存储服务器)
export OS_AUTH_URL=http://admin_1:5000/v2.0/
export OS_PASSWORD=cinder
export OS_USERNAME= cinder
export OS_TENANT_NAME=service
cinder service-list;
查看存储的服务是否都正常
- Solaris下多节点OpenStack的详细搭建
- 手动搭建openstack的计算节点网络
- OpenStack双网卡、多节点搭建
- Openstack 多节点搭建 (O版本)
- ubuntu 12.04 LTS 单网卡多节点搭建openstack
- 使用Kolla镜像Openstack多节点快速搭建部署
- redhat下的openstack搭建及应用
- OpenStack多节点部署
- openstack节点被激活的情况下不能在该节点下新建虚拟机
- devstack搭建双节点openstack环境
- Ubuntu 12.04 单节点 搭建 Openstack Havana
- openstack搭建--8--控制节点部署Dashboard
- OpenStack 云服务—搭建核心节点
- OpenStack环境搭建(1)--控制节点
- OpenStack环境搭建(2) --计算节点
- OpenStack环境搭建(3) --网络节点
- 在openstack下用VM搭建openstack
- solaris下的crontab
- 将页面导出成word
- 各类排序算法实现(亲测)
- WPF ListBox 鼠标拖拽多选 替换背景色
- OpenWRT开发之——远程debug
- 如何让Android中 dialog显示在屏幕底部
- Solaris下多节点OpenStack的详细搭建
- css3实现字体的颜色渐变
- MWPhotoBrowser 属性详解 和代理解释
- Spring注解自动注入Bean
- [几何] BZOJ 4246 两个人的星座
- LightOJ 1035 Intelligent Factorial Factorization [预处理+一半的 质因子分解]【数论】
- iptables详细教程:基础、架构、清空规则、追加规则、应用实例
- java Pattern和Matcher详解
- Android 设备连接电脑显示offline