(一)安装openstack步骤:
1、基础环境配置
2、Yum源配置
[centos]
name=centos
baseurl=http://10.18.4.100/centos
gpgcheck=0
enabled=1
[iaas]
name=centos
baseurl=http://10.18.4.250/xiandian/iaas-repo
gpgcheck=0
enabled=1
3、controller节点配置无秘钥访问compute节点
ssh-keygen
ssh-copy-id
4、基础安装
yum install iaas-xiandian
4.1 # Ctrl+V Shift+g 去掉第一行注释
vi /etc/xiandian/openrc.sh
4.2 设置密码、网卡及网络、块存储、对象存储
4.3 iaas-pre-host.sh
#请安装openstack命令行工具、openstack安全组件、openstack交互式命令
yum install python-openstackclient openstack-selinux openstack-utils crudini expect -y
5、安装openstack服务
control节点:
iaas-install-mysql.sh && iaas-install-keystone.sh && iaas-install-glance.sh && iaas-install-nova-controller.sh && iaas-install-neutron-controller.sh && iaas-install-dashboard.sh && iaas-install-cinder-controller.sh && iaas-install-swift-controller.sh && iaas-install-heat.sh
顺序:mysql、keystone、glance、(如果有placement)、nova-controller、neutron-controller、dashboard、cinder-controller、swift-controller、heat、(如果有manila、cloudkitty)
在controller节点执行时,可以在compute做以下操作:
cat /usr/local/bin/iaas-*compute.sh | grep yum
根据搜索结果预先安装依赖包
compute节点:
iaas-install-nova-compute.sh && iaas-install-neutron-compute.sh && iaas-install-cinder-compute.sh && iaas-install-swift-compute.sh
顺序:nova-compute、neutron-compute、cinder-compute、swift-compute、(如果有manila)
5、数据库安装与调优
如果不知道相关命令,可以执行
mysql -uroot -p000000
show variables like 'innodb%';
创建openstack用户,并赋予所有权限
rabbitmqctl add_user RABBIT_PASS
rabbitmqctl set_permissions $RABBIT_USER "." "." ".*"
6、Keystone服务安装与使用
创建admin角色,并将admin角色赋予给admin用户
openstack role create admin
openstack role add --project admin --user admin admin
7、Glance安装与使用
openstak image
8、Nova安装与优化
9、Neutron安装
10、Dashboard安装
11、Swift安装
12、Cinder创建硬盘
13、Manila服务安装与使用
14、Barbican服务安装与使用
15、Cloudkitty服务安装与使用
16、Openstack平台内存优化
关闭内存共享,打开透明大页
echo 'never' >> /sys/kernel/mm/transparent_hugepage/defrag
17、修改文件句柄数
将控制节点的最大文件句柄数永久修改为 65535
cat >> /etc/security/limits.conf << EOF
- soft nofile 65535
- hard nofile 65535
EOF
18、Linux系统调优-防止SYN攻击
sysctl -a # 查看所有系统相关配置
sysctl -p # 更新配置
(二)运维部分
1、【OpenStack 开放镜像权限】使 用 OpenStack 私 有 云 平 台 , 在 OpenStack 平台的 admin 项 目 中 使 用
cirros-0.3.4-x86_64-disk.img 镜像文件创建名为 glance-cirros 的镜像,通过 OpenStack 命令将
glance-cirros 镜像指定 demo 项目进行共享使用。
openstack image set --project demo --shared glance-cirros
2、【OpenStack 消息队列调优】OpenStack 各服务内部通信都是通过 RPC 来交互,各 agent 都需要去连接 RabbitMQ;随着各服务 agent 增多,MQ 的连接数会随之增多,最终可能会到达上限,成为瓶颈。在自行搭建的 OpenStack 私有云平台或赛项提供的 all-in-one 平台上,分别通过用户级别、系统级别、配置文件来设置 RabbitMQ 服务的最大连接数为 10240.
(1)系统级别修改
[root@controller ~]# vi /etc/sysctl.conf
fs.file-max=10240
[root@controller ~]# sysctl -p
(2)用户级别修改
[root@controller ~]# vi /etc/security/limits.conf
openstack soft nofile 10240
openstack hard nofile 10240
断开重新连接,执行ulimit -n 命令
[root@controller ~]# ulimit -n
(3)修改RabbitMQ配置
[root@controller ~]# vi /usr/lib/systemd/system/rabbitmq-server.service
在[Service]下添加一行参数如下:
LimitNOFILE=10240
[root@controller ~]# systemctl daemon-reload
[root@controller ~]# systemctl restart rabbitmq-server
重启完毕后,查看RabbitMQ的最大连接数: total_limit是否为10140,命令如下:
[root@controller ~]# rabbitmqctl status
3、【OpenStack Glance 镜像压缩】
$ qemu-img convert -O -c qcow2 ubuntu.qcow2 ubuntu_s.qcow2
4、【glance 对接 cinder 后端存储】
(1)
(2)创建cirror-cinder卷,openstack volume create --size 5 cirros-cinder
(3)
5、【Linux 内核优化】
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syncookies = 1表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout修改系統默认的TIMEOUT时间
网友评论