解读先电2.4版 iaas-install-mysql.sh 脚本
基础服务的操作命令已经编写成shell脚本,通过脚本进行一键安装。如下:
# Controller节点 安装
执行脚本iaas-install-mysql.sh进行安装
报错的原因是:
source /etc/xiandian/openrc.sh,脚本里ping通,
- 1 #!/bin/bash
- 2
- 3 source /etc/xiandian/openrc.sh
- 4
- 5 ping $HOST_IP -c 4 >> /dev/null 2>&1
- 6
- 7 if [ 0 -ne $? ]; then
- 8
- 9 echo -e "\033[31m Warning\nPlease make sure the network configuration is correct!\033[0m"
- 10
- 11 exit 1
- 12
- 13 fi
解决:
vim /etc/xiandian/openrc.sh ,#此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置。
- 1 HOST_IP=192.168.220.10
- 2 HOST_NAME=controller
- 3 HOST_IP_NODE=192.168.220.11
- 4 HOST_NAME_NODE=compute
- 5 RABBIT_USER=openstack
- 6 RABBIT_PASS=000000
- 7 DB_PASS=000000
- 8 DOMAIN_NAME=demo
- 9 ADMIN_PASS=000000
- 10 DEMO_PASS=000000
- 11 KEYSTONE_DBPASS=000000
- 12 GLANCE_DBPASS=000000
- 13 GLANCE_PASS=000000
- 14 NOVA_DBPASS=000000
- 15 NOVA_PASS=000000
- 16 NEUTRON_DBPASS=000000
- 17 NEUTRON_PASS=000000
- 18 METADATA_SECRET=000000
- 19 INTERFACE_NAME=ens37
- 20 CINDER_DBPASS=000000
- 21 CINDER_PASS=000000
- 22 TROVE_DBPASS=000000
- 23 TROVE_PASS=000000
- 24 BLOCK_DISK=sdb
- 25 SWIFT_PASS=000000
- 26 OBJECT_DISK=sdb
- 27 STORAGE_LOCAL_NET_IP=192.168.220.11
- 28 HEAT_DBPASS=000000
- 29 HEAT_PASS=000000
- 30 CEILOMETER_DBPASS=000000
- 31 CEILOMETER_PASS=000000
- 32 AODH_DBPASS=000000
- 33 AODH_PASS=000000
aas-install-mysql.sh:源码这样的
- 1 #!/bin/bash
- 2
- 3 source /etc/xiandian/openrc.sh
- 4
- 5 ping $HOST_IP -c 4 >> /dev/null 2>&1
- 6
- 7 if [ 0 -ne $? ]; then
- 8
- 9 echo -e "\033[31m Warning\nPlease make sure the network configuration is correct!\033[0m"
- 10
- 11 exit 1
- 12
- 13 fi
- 14
- 15 # check system
- 16
- 17 sed -i -e '/server/d' -e "/fudge/d" /etc/ntp.conf
- 18
- 19 sed -i -e "1i server 127.127.1.0" -e "2i fudge 127.127.1.0 stratum 10" /etc/ntp.conf
- 20
- 21 systemctl restart ntpd
- 22
- 23 systemctl enable ntpd
- 24
- 25 yum install mariadb mariadb-server python2-PyMySQL expect mongodb-server mongodb rabbitmq-server memcached python-memcached -y
- 26
- 27 sed -i "/^symbolic-links/a\default-storage-engine = innodb\ninnodb_file_per_table\ncollation-server = utf8_general_ci\ninit-connect = 'SET NAMES utf8'\ncharacter-set-server = utf8\nmax_connections=10000" /etc/my.cnf
- 28
- 29 crudini --set /usr/lib/systemd/system/mariadb.service Service LimitNOFILE 10000
- 30
- 31 crudini --set /usr/lib/systemd/system/mariadb.service Service LimitNPROC 10000
- 32
- 33 systemctl daemon-reload
- 34
- 35 systemctl enable mariadb.service
- 36
- 37 systemctl restart mariadb.service
- 38
- 39 expect -c "
- 40
- 41 spawn /usr/bin/mysql_secure_installation
- 42
- 43 expect \"Enter current password for root (enter for none):\"
- 44
- 45 send \"\r\"
- 46
- 47 expect \"Set root password?\"
- 48
- 49 send \"y\r\"
- 50
- 51 expect \"New password:\"
- 52
- 53 send \"$DB_PASS\r\"
- 54
- 55 expect \"Re-enter new password:\"
- 56
- 57 send \"$DB_PASS\r\"
- 58
- 59 expect \"Remove anonymous users?\"
- 60
- 61 send \"y\r\"
- 62
- 63 expect \"Disallow root login remotely?\"
- 64
- 65 send \"n\r\"
- 66
- 67 expect \"Remove test database and access to it?\"
- 68
- 69 send \"y\r\"
- 70
- 71 expect \"Reload privilege tables now?\"
- 72
- 73 send \"y\r\"
- 74
- 75 expect eof
- 76
- 77 "
- 78
- 79 # mongo
- 80
- 81 sed -i -e '/bind_ip/d' -e 's/#smallfiles.*/smallfiles=true/g' /etc/mongod.conf
- 82
- 83 systemctl enable mongod.service
- 84
- 85 systemctl restart mongod.service
- 86
- 87 # rabbitmq
- 88
- 89 systemctl enable rabbitmq-server.service
- 90
- 91 systemctl restart rabbitmq-server.service
- 92
- 93 rabbitmqctl add_user $RABBIT_USER $RABBIT_PASS
- 94
- 95 rabbitmqctl set_permissions $RABBIT_USER ".*" ".*" ".*"
- 96
- 97 # memcache
systemctl enable memcached.service
systemctl restart memcached.service