时间:2021-05-02
Centos8最小化部署安装OpenStack Ussuri的教程如下所示:
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 #!/bin/bash #Centos8最小化部署安装OpenStack Ussuri #共两台主机,分别是一台控制节点,一台计算节点 #1、控制节点内存4096M。双网卡,分别为eth0:10.0.0.11,eth1:10.0.0.12 #2、计算节点内存2048M。双网卡,分别为eth0:10.0.0.31,eth1:10.0.0.32 #设置阿里云yum源 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo rm -f /etc/yum.repos.d/CentOS-AppStream.repo /etc/yum.repos.d/CentOS-PowerTools.repo /etc/yum.repos.d/CentOS-centosplus.repo /etc/yum.repos.d/CentOS-Extras.repo && rm -rf /var/cache/yum && yum makecache && yum -y update && yum -y autoremove #关闭防火墙 systemctl stop firewalld && systemctl disable firewalld #关闭SELinux setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config #关闭swap分区 swapoff -a sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab #设置内核 modprobe bridge modprobe br_netfilter cat > /etc/sysconfig/modules/neutron.modules <<EOF #!/bin/bash modprobe -- bridge modprobe -- br_netfilter EOF chmod 755 /etc/sysconfig/modules/neutron.modules && bash /etc/sysconfig/modules/neutron.modules echo "vm.max_map_count=262144" >> /etc/sysctl.conf echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-iptables=1" >> /etc/sysctl.conf echo "net.bridge.bridge-nf-call-ip6tables=1" >> /etc/sysctl.conf sysctl -p #设置时间同步 yum install -y chrony && yum -y autoremove sed -i '/^pool/d' /etc/chrony.conf sed -i '/^server/d' /etc/chrony.conf echo "pool ntp.aliyun.com iburst" >> /etc/chrony.conf systemctl start chronyd.service && systemctl enable chronyd.service #控制节点 设置hostname hostnamectl set-hostname controller #计算节点 设置hostname hostnamectl set-hostname compute1 #添加host echo "10.0.0.11 controller" >> /etc/hosts echo "10.0.0.31 compute1" >> /etc/hosts #安装基础组件 yum install -y centos-release-openstack-ussuri yum config-manager --set-enabled PowerTools yum upgrade -y yum install -y python3-openstackclient #控制节点 安装Mariadb yum install -y mariadb mariadb-server python2-PyMySQL tee /etc/my.cnf.d/openstack.cnf <<-'EOF' [mysqld] bind-address = 10.0.0.11 default-storage-engine = innodb innodb_file_per_table = on max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8 EOF systemctl enable mariadb.service && systemctl start mariadb.service echo -e "\nY\n123456\n123456\nY\nn\nY\nY\n" | mysql_secure_installation #控制节点 安装RabbitMQ yum install -y rabbitmq-server systemctl enable rabbitmq-server.service && systemctl start rabbitmq-server.service rabbitmqctl add_user openstack 123456 rabbitmqctl set_permissions openstack ".*" ".*" ".*" #控制节点 安装Memcached yum install -y memcached python3-memcached sed -i "s/-l 127.0.0.1,::1/-l 127.0.0.1,::1,controller/g" /etc/sysconfig/memcached systemctl enable memcached.service && systemctl start memcached.service #控制节点 安装Etcd yum install -y etcd rm -f /etc/etcd/etcd.conf tee /etc/etcd/etcd.conf <<-'EOF' #[Member] ETCD_DATA_DIR="/var/lib/etcd/default.etcd" ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380" ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379" ETCD_NAME="controller" #[Clustering] ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380" ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379" ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380" ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01" ETCD_INITIAL_CLUSTER_STATE="new" EOF systemctl enable etcd && systemctl start etcd #控制节点 安装Identity service mysql -uroot -p123456 -e "CREATE DATABASE keystone" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456'" yum install -y openstack-keystone httpd python3-mod_wsgi sed -i "556c connection = mysql+pymysql://keystone:123456@controller/keystone" /etc/keystone/keystone.conf sed -i "2418c provider = fernet" /etc/keystone/keystone.conf su -s /bin/sh -c "keystone-manage db_sync" keystone keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone keystone-manage credential_setup --keystone-user keystone --keystone-group keystone keystone-manage bootstrap --bootstrap-password 123456 \ --bootstrap-admin-url http://controller:5000/v3/ \ --bootstrap-internal-url http://controller:5000/v3/ \ --bootstrap-public-url http://controller:5000/v3/ \ --bootstrap-region-id RegionOne echo "ServerName controller" >> /etc/httpd/conf/httpd.conf ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/ systemctl enable httpd.service && systemctl start httpd.service echo "export OS_USERNAME=admin" >> /etc/profile echo "export OS_PASSWORD=123456" >> /etc/profile echo "export OS_PROJECT_NAME=admin" >> /etc/profile echo "export OS_USER_DOMAIN_NAME=Default" >> /etc/profile echo "export OS_PROJECT_DOMAIN_NAME=Default" >> /etc/profile echo "export OS_AUTH_URL=http://controller:5000/v3" >> /etc/profile echo "export OS_IDENTITY_API_VERSION=3" >> /etc/profile source /etc/profile openstack project create --domain default --description "Service Project" service #控制节点 安装Image service mysql -uroot -p123456 -e "CREATE DATABASE glance" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 glance openstack role add --project service --user glance admin openstack service create --name glance --description "OpenStack Image" image openstack endpoint create --region RegionOne image public http://controller:9292 openstack endpoint create --region RegionOne image internal http://controller:9292 openstack endpoint create --region RegionOne image admin http://controller:9292 yum install -y openstack-glance sed -i "2062c connection = mysql+pymysql://glance:123456@controller/glance" /etc/glance/glance-api.conf sed -i "5034c www_authenticate_uri = http://controller:5000" /etc/glance/glance-api.conf sed -i "5035c auth_url = http://controller:5000" /etc/glance/glance-api.conf sed -i "5036c memcached_servers = controller:11211" /etc/glance/glance-api.conf sed -i "5037c auth_type = password" /etc/glance/glance-api.conf sed -i "5038c project_domain_name = Default" /etc/glance/glance-api.conf sed -i "5039c user_domain_name = Default" /etc/glance/glance-api.conf sed -i "5040c project_name = service" /etc/glance/glance-api.conf sed -i "5041c username = glance" /etc/glance/glance-api.conf sed -i "5042c password = 123456" /etc/glance/glance-api.conf sed -i "5678c flavor = keystone" /etc/glance/glance-api.conf sed -i "3413c stores = file,http" /etc/glance/glance-api.conf sed -i "3414c default_store = file" /etc/glance/glance-api.conf sed -i "3415c filesystem_store_datadir = /var/lib/glance/images/" /etc/glance/glance-api.conf su -s /bin/sh -c "glance-manage db_sync" glance systemctl enable openstack-glance-api.service && systemctl start openstack-glance-api.service #控制节点 安装Placement service mysql -uroot -p123456 -e "CREATE DATABASE placement" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 placement openstack role add --project service --user placement admin openstack service create --name placement --description "Placement API" placement openstack endpoint create --region RegionOne placement public http://controller:8778 openstack endpoint create --region RegionOne placement internal http://controller:8778 openstack endpoint create --region RegionOne placement admin http://controller:8778 yum install -y openstack-placement-api sed -i "507c connection = mysql+pymysql://placement:123456@controller/placement" /etc/placement/placement.conf sed -i "192c auth_strategy = keystone" /etc/placement/placement.conf sed -i "241c auth_url = http://controller:5000/v3" /etc/placement/placement.conf sed -i "242c memcached_servers = controller:11211" /etc/placement/placement.conf sed -i "243c auth_type = password" /etc/placement/placement.conf sed -i "244c project_domain_name = Default" /etc/placement/placement.conf sed -i "245c user_domain_name = Default" /etc/placement/placement.conf sed -i "246c project_name = service" /etc/placement/placement.conf sed -i "247c username = placement" /etc/placement/placement.conf sed -i "248c password = 123456" /etc/placement/placement.conf su -s /bin/sh -c "placement-manage db sync" placement systemctl restart httpd #控制节点 安装Compute service mysql -uroot -p123456 -e "CREATE DATABASE nova_api" mysql -uroot -p123456 -e "CREATE DATABASE nova" mysql -uroot -p123456 -e "CREATE DATABASE nova_cell0" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 nova openstack role add --project service --user nova admin openstack service create --name nova --description "OpenStack Compute" compute openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1 openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1 openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1 yum install -y openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler sed -i "2c enabled_apis = osapi_compute,metadata" /etc/nova/nova.conf sed -i "3c transport_url = rabbit://openstack:123456@controller:5672/" /etc/nova/nova.conf sed -i "4c my_ip = 10.0.0.11" /etc/nova/nova.conf sed -i "1079c connection = mysql+pymysql://nova:123456@controller/nova_api" /etc/nova/nova.conf sed -i "1622c connection = mysql+pymysql://nova:123456@controller/nova" /etc/nova/nova.conf sed -i "872c auth_strategy = keystone" /etc/nova/nova.conf sed -i "2561c www_authenticate_uri = http://controller:5000/" /etc/nova/nova.conf sed -i "2562c auth_url = http://controller:5000/" /etc/nova/nova.conf sed -i "2563c memcached_servers = controller:11211" /etc/nova/nova.conf sed -i "2564c auth_type = password" /etc/nova/nova.conf sed -i "2565c project_domain_name = Default" /etc/nova/nova.conf sed -i "2566c user_domain_name = Default" /etc/nova/nova.conf sed -i "2567c project_name = service" /etc/nova/nova.conf sed -i "2568c username = nova" /etc/nova/nova.conf sed -i "2569c password = 123456" /etc/nova/nova.conf sed -i "5171c enabled = true" /etc/nova/nova.conf sed -i '5172c server_listen = $my_ip' /etc/nova/nova.conf sed -i '5173c server_proxyclient_address = $my_ip' /etc/nova/nova.conf sed -i "1937c api_servers = http://controller:9292" /etc/nova/nova.conf sed -i "3571c lock_path = /var/lib/nova/tmp" /etc/nova/nova.conf sed -i "4093c region_name = RegionOne" /etc/nova/nova.conf sed -i "4094c project_domain_name = Default" /etc/nova/nova.conf sed -i "4095c project_name = service" /etc/nova/nova.conf sed -i "4096c auth_type = password" /etc/nova/nova.conf sed -i "4097c user_domain_name = Default" /etc/nova/nova.conf sed -i "4098c auth_url = http://controller:5000/v3" /etc/nova/nova.conf sed -i "4099c username = placement" /etc/nova/nova.conf sed -i "4100c password = 123456" /etc/nova/nova.conf sed -i "4509c discover_hosts_in_cells_interval = 300" /etc/nova/nova.conf su -s /bin/sh -c "nova-manage api_db sync" nova su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova su -s /bin/sh -c "nova-manage db sync" nova systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service && systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service #计算节点 安装Compute service yum install -y openstack-nova-compute sed -i "2c enabled_apis = osapi_compute,metadata" /etc/nova/nova.conf sed -i "3c transport_url = rabbit://openstack:123456@controller" /etc/nova/nova.conf sed -i "4c my_ip = 10.0.0.31" /etc/nova/nova.conf sed -i "872c auth_strategy = keystone" /etc/nova/nova.conf sed -i "2561c www_authenticate_uri = http://controller:5000/" /etc/nova/nova.conf sed -i "2562c auth_url = http://controller:5000/" /etc/nova/nova.conf sed -i "2563c memcached_servers = controller:11211" /etc/nova/nova.conf sed -i "2564c auth_type = password" /etc/nova/nova.conf sed -i "2565c project_domain_name = Default" /etc/nova/nova.conf sed -i "2566c user_domain_name = Default" /etc/nova/nova.conf sed -i "2567c project_name = service" /etc/nova/nova.conf sed -i "2568c username = nova" /etc/nova/nova.conf sed -i "2569c password = 123456" /etc/nova/nova.conf sed -i "5171c enabled = true" /etc/nova/nova.conf sed -i "5172c server_listen = 0.0.0.0" /etc/nova/nova.conf sed -i '5173c server_proxyclient_address = $my_ip' /etc/nova/nova.conf sed -i "5174c novncproxy_base_url = http://controller:6080/vnc_auto.html" /etc/nova/nova.conf sed -i "1937c api_servers = http://controller:9292" /etc/nova/nova.conf sed -i "3571c lock_path = /var/lib/nova/tmp" /etc/nova/nova.conf sed -i "4093c region_name = RegionOne" /etc/nova/nova.conf sed -i "4094c project_domain_name = Default" /etc/nova/nova.conf sed -i "4095c project_name = service" /etc/nova/nova.conf sed -i "4096c auth_type = password" /etc/nova/nova.conf sed -i "4097c user_domain_name = Default" /etc/nova/nova.conf sed -i "4098c auth_url = http://controller:5000/v3" /etc/nova/nova.conf sed -i "4099c username = placement" /etc/nova/nova.conf sed -i "4100c password = 123456" /etc/nova/nova.conf #执行命令,查看是否支持CPU虚拟化,如果大于0则支持。 egrep -c '(vmx|svm)' /proc/cpuinfo #如果不支持的话还需要执行下面的命令 sed -i "2722c virt_type = qemu" /etc/nova/nova.conf systemctl enable libvirtd.service openstack-nova-compute.service && systemctl start libvirtd.service openstack-nova-compute.service #控制节点 计算节点从注册到发现会有延迟,根据discover_hosts_in_cells_interval 配置轮询发现时间,可以执行下面命令手动发现计算节点 su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova #控制节点 安装Networking service mysql -uroot -p123456 -e "CREATE DATABASE neutron" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456'" mysql -uroot -p123456 -e "GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456'" openstack user create --domain default --password 123456 neutron openstack role add --project service --user neutron admin openstack service create --name neutron --description "OpenStack Networking" network openstack endpoint create --region RegionOne network public http://controller:9696 openstack endpoint create --region RegionOne network internal http://controller:9696 openstack endpoint create --region RegionOne network admin http://controller:9696 yum install -y openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables #配置服务器组件 sed -i "2c core_plugin = ml2" /etc/neutron/neutron.conf sed -i "3c service_plugins = router" /etc/neutron/neutron.conf sed -i "4c allow_overlapping_ips = true" /etc/neutron/neutron.conf sed -i "5c transport_url = rabbit://openstack:123456@controller" /etc/neutron/neutron.conf sed -i "6c auth_strategy = keystone" /etc/neutron/neutron.conf sed -i "7c notify_nova_on_port_status_changes = true" /etc/neutron/neutron.conf sed -i "8c notify_nova_on_port_data_changes = true" /etc/neutron/neutron.conf sed -i "254c connection = mysql+pymysql://neutron:123456@controller/neutron" /etc/neutron/neutron.conf sed -i "359c www_authenticate_uri = http://controller:5000" /etc/neutron/neutron.conf sed -i "360c auth_url = http://controller:5000" /etc/neutron/neutron.conf sed -i "361c memcached_servers = controller:11211" /etc/neutron/neutron.conf sed -i "362c auth_type = password" /etc/neutron/neutron.conf sed -i "363c project_domain_name = default" /etc/neutron/neutron.conf sed -i "364c user_domain_name = default" /etc/neutron/neutron.conf sed -i "365c project_name = service" /etc/neutron/neutron.conf sed -i "366c username = neutron" /etc/neutron/neutron.conf sed -i "367c password = 123456" /etc/neutron/neutron.conf sed -i "521c lock_path = /var/lib/neutron/tmp" /etc/neutron/neutron.conf echo "[nova]" >> /etc/neutron/neutron.conf echo "auth_url = http://controller:5000" >> /etc/neutron/neutron.conf echo "auth_type = password" >> /etc/neutron/neutron.conf echo "project_domain_name = default" >> /etc/neutron/neutron.conf echo "user_domain_name = default" >> /etc/neutron/neutron.conf echo "region_name = RegionOne" >> /etc/neutron/neutron.conf echo "project_name = service" >> /etc/neutron/neutron.conf echo "username = nova" >> /etc/neutron/neutron.conf echo "password = 123456" >> /etc/neutron/neutron.conf #配置Modular Layer 2 (ML2) plug-in echo "[ml2]" >> /etc/neutron/plugins/ml2/ml2_conf.ini echo "type_drivers = flat,vlan,vxlan" >> /etc/neutron/plugins/ml2/ml2_conf.ini echo "tenant_network_types = vxlan" >> /etc/neutron/plugins/ml2/ml2_conf.ini echo "mechanism_drivers = linuxbridge,l2population" >> /etc/neutron/plugins/ml2/ml2_conf.ini echo "extension_drivers = port_security" >声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
.最小化安装centos6.22.编译环境前提#yum-yinstallgccgcc-c++makeopenssl-devel#groupadd-g80www#
VMwareWorkstationPro下如何安装CentOS764位服务器,本文为大家一步步讲解。CentOS最小化安装1.在VMwareWorkstatio
环境操作系统centos6.4最小化安装yumgroupinstall“Developmenttools”“ServerPl
实验环境一台最小化安装的CentOS7.3虚拟机配置基本环境1.安装nginxyuminstall-yepel-*yumisntall-ynginxvim2.建
开始之前,首先需要使用VirtualBox最小化安装CentOS7.0。系统设置使用root账号登录,进行系统设置。安装组件安装系统必须的组件。复制代码代码如下