本文共 7144 字,大约阅读时间需要 23 分钟。
??????????????????OpenStack??????????????????????????
OpenStack????????????????????????????????
???????? /etc/network/interfaces????????
auto loiface lo inet loopback address 127.0.0.1 netmask 255.255.255.255auto br100iface br100 inet static address 10.1.6.186 netmask 255.255.255.0 gateway 10.1.6.254 dns-nameservers 10.1.1.2 bridge_ports em1 bridge_hello 2 bridge_maxage 12 bridge_fd 0 bridge_stp off
?????????????
/etc/init.d/networking restart
??OpenStack???????
apt-get install -y bridge-utilsapt-get install -y ntpapt-get install -y rabbitmq-server memcached python-memcacheapt-get install -y kvm libvirt-bin curlapt-get install -y tgt lvm2apt-get install -y mysql-server python-mysqldb
??MySQL????????
apt-get install -y mysql-server
?????? /etc/mysql/my.cnf????????
# ?????0.0.0.0bind-address = 0.0.0.0
????????MySQL???
/etc/init.d/mysql restart
??SQL????OpenStack???????
CREATE DATABASE nova;GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'my_password';CREATE DATABASE glance;GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'my_password';CREATE DATABASE keystone;GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'my_password';
???????????????????????????? /etc/keystone/keystone.conf ????
[sql]connection = mysql://keystone:my_password@vm.my.com/keystone
?? keystone ????OpenStack???
keystone service-create --name nova --type compute --description 'OpenStack Compute Service'keystone service-create --name volume --type volume --description 'OpenStack Volume Service'keystone service-create --name glance --type image --description 'OpenStack Image Service'keystone service-create --name swift --type object-store --description 'OpenStack Storage Service'keystone service-create --name keystone --type identity --description 'OpenStack Identity'keystone service-create --name ec2 --type ec2 --description 'OpenStack EC2 service'
?? create_endpoint ?????????
create_endpoint () { case $1 in compute) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' --adminurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' --internalurl 'http://'"$MASTER"':8774/v2/%(tenant_id)s' ;; volume) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' --adminurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' --internalurl 'http://'"$MASTER"':8776/v1/%(tenant_id)s' ;; image) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':9292/v1' --adminurl 'http://'"$MASTER"':9292/v1' --internalurl 'http://'"$MASTER"':9292/v1' ;; object-store) if [ $SWIFT_MASTER ]; then keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$SWIFT_MASTER"':8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://'"$SWIFT_MASTER"':8080/v1' --internalurl 'http://'"$SWIFT_MASTER"':8080/v1/AUTH_%(tenant_id)s' else keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://'"$MASTER"':8080/v1' --internalurl 'http://'"$MASTER"':8080/v1/AUTH_%(tenant_id)s' fi ;; identity) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':5000/v2.0' --adminurl 'http://'"$MASTER"':35357/v2.0' --internalurl 'http://'"$MASTER"':5000/v2.0' ;; ec2) keystone endpoint-create --region $KEYSTONE_REGION --service_id $2 --publicurl 'http://'"$MASTER"':8773/services/Cloud' --adminurl 'http://'"$MASTER"':8773/services/Admin' --internalurl 'http://'"$MASTER"':8773/services/Cloud' ;; esac}for i in compute volume image object-store identity ec2; do id=`mysql -h "$MYSQL_HOST" -u "$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE" -ss -e "SELECT id FROM service WHERE type='"$i"';"` || exit 1 create_endpoint $i $iddone ??OpenStack??????
service rabbitmq-server restartservice libvirt-bin restartservice nova-scheduler restartservice nova-network restartservice nova-cert restartservice nova-compute restartservice nova-api restartservice nova-objectstore restartservice nova-volume restart
?? keystone ??????????
keystone user-create --name admin --pass "$ADMIN_PASSWORD"keystone role-create --name adminkeystone role-create --name Memberkeystone role-create --name KeystoneAdminkeystone role-create --name KeystoneServiceAdmin# ???????keystone user-role-add --user-id $ADMIN_USER --role-id $ADMIN_ROLE --tenant_id $ADMIN_TENANT
?????????????
keystone service-listnova-manage service listglance index
?????????????
nova-manage network listnova-manage network create private --fixed_range_v4=10.1.6.0/24 --num_networks=1 --bridge=br100 --bridge_interface=br100 --network_size=256 --multi_host=T
???????OpenStack?????
http://my.vm.com/horizon
??????????????
tail -f /var/log/nova/nova.log
????????????????????????
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
????????????????
service rabbitmq-server restartservice libvirt-bin restartservice nova-scheduler restartservice nova-network restartservice nova-cert restartservice nova-compute restartservice nova-api restartservice nova-objectstore restartservice nova-volume restart
##????????????
??Swift??????
apt-get install -y swift swift-proxy
?????? /etc/swift/proxy.conf????????
[paste_deploy]flavor = keystone
??Swift???
swift-proxy startswift-object startswift-container startswift-ringbuffer-server start
##??????????????
? keystone.conf ????????
[DEFAULT]heartbeat_period = 300
??Pacemaker????????????
apt-get install -y corosync corosync-qmf
??Pacemaker????????
corosync-cluster configure --add-node control-1-186corosync-cluster enable
##???????????
?????????????
crm statusnova-manage resource show
??????????_secondary?? ????????
systemctl stop libvirtdsystemctl start libvirtd @secondary_node
##??????????
??Prometheus?Grafana?????
apt-get install -y prometheus prometheus-node-exporter alertmanager
?????? /etc/prometheus/prometheus.yml?????OpenStack???
global: scrape_interval: 1mscrape_configs:- job: 'openstack:metric1' scrape_timeout: 5m static_configs: - targets: ['10.1.6.186:9090']- job: 'openstack:metric2' scrape_timeout: 5m static_configs: - targets: ['10.1.6.188:9090']
??Prometheus??????
prometheus --config.file /etc/prometheus/prometheus.yml
##?????
???????????OpenStack?Ubuntu??????????????????????????????????OpenStack????????
转载地址:http://znpfk.baihongyu.com/