上一期的最后我们进行了一个基础安装
(默认都是在controller节点进行输入的)
数据库安装与调优[0.5 分]
在控制节点上使用安装 Mariadb、RabbitMQ 等服务。并进行相关操作。
在 controller 节点上使用 iaas-install-mysql.sh 脚本安装 Mariadb、Memcached、
RabbitMQ 等服务。安装服务完毕后,修改/etc/my.cnf 文件,完成下列要求:
1.设置数据库支持大小写;
2.设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G;
3.设置数据库的 log buffer 为 64MB;
4.设置数据库的 redo log 大小为 256MB;
5.设置数据库的 redo log 文件组为 2。
6.修改 Memcached 的相关配置,将内存占用大小设置为 512MB,调整最大连接数参数为
2048;
7.调整 Memcached 的数据摘要算法(hash)为 md5;
vi /etc/my.cnf
lower_case_table_names=1
innodb_buffer_pool_size=4G
innodb_log_file_size=256MB
innodb_log_buffer_size=64MB
innodb_log_files_in_group=2
vi /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="2048"
CACHESIZE="512"
OPTIONS="-l 127.0.0.1,::1,controller"
hash_algorithm=md5
Keystone 服务安装与使用[0.5 分]
在控制节点上安装 Keystone 服务并创建用户。
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。
然后创建 OpenStack 域 210Demo,其中包含 Engineering 与 Production 项目,在域
210Demo 中创建组 Devops,其中需包含以下用户:
1.Robert 用户是 Engineering 项目的用户(member)与管理员(admin),email 地址
为:Robert@lab.example.com。
2.George 用 户 是 Engineering 项 目 的 用 户 ( member ) , email 地址为:George@lab.example.com。
3.William 用户是 Production 项目的用户(member)与管理员(admin),email 地址
为:William@lab.example.com。
4.John 用户是 Production 项 目 的 用 户 ( member ) , email 地 址 为 :
John@lab.example.com。
在准备下一步时提前修改
vi /etc/keystone/admin-openrc.sh
export OS_PROJECT_DOMAIN_NAME=demo
export OS_USER_DOMAIN_NAME=demo
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=000000 #此处改为自己设置的keystone密码
export OS_AUTH_URL=http://controller:5000/v3 #5000端口是keystone的端口
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
export OS_AUTH_TYPE=password
source /etc/keystone/admin-openrc.sh
openstack domain create 210Demo
openstack group create devops --domain 210Demo
openstack project create Engineering --domain 210Demo
openstack project create Production --domain 210Demo
openstack user create --domain 210Demo --project Engineering Robert --email Robert@lab.example.com
openstack user create --domain 210Demo --project Engineering George --email George@lab.example.com
openstack user create --domain 210Demo --project Production William --email William@lab.example.com
openstack user create --domain 210Demo --project Production John --email John@lab.example.com
openstack role add --user Robert --project Engineering member
openstack role add --user Robert --project Engineering admin
openstack role add --user George --project Engineering member
openstack role add --user William --project Production member
openstack role add --user William --project Production admin
openstack role add --user John --project Production member
Glance 安装与使用[0.5 分]
在控制节点上安装 Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。
在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。然后使
用提供的 coreos_production_pxe.vmlinuz 镜像(该镜像为 Ironic Deploy 镜像,是一个
AWS 内核格式的镜像,在 OpenStack Ironic 裸金属服务时需要用到)上传到 OpenStack 平
台中,命名为 deploy-vmlinuz。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
#先上传cirros-0.3.4-x86_64-disk.img镜像文件,上传好了之后再执行命令
openstack image create deploy-vmlinuz --container-format aki < cirros-0.3.4-x86_64-disk.img
#deploy-vmlinuz是命名的名字
Nova 安装与优化[0.5 分]
在控制节点和计算节点上分别安装 Nova 服务。安装完成后,完成 Nova 相关配置。
在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、
iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装 Nova
服务。在 OpenStack 中,修改相关配置文件,修改调度器规则采用缓存调度器,缓存主机
信息,提升调度时间。配置完成后提交controller点的用户名、密码和IP地址到答题框。
cat /etc/nova/nova.conf
driver=caching_scheduler #添加
在控制和计算节点上正确安装 Neutron 服务。
使用提供的脚本 iaas-install-neutron-controller.sh 和 iaas-install-neutron
compute.sh,在 controller 和 compute 节点上安装 neutron 服务。完成后提交控制节点的
用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-neutron-controller.sh
[root@compute ~]# iaas-install-neutron-compute.sh
Dashboard 安装[0.5 分]
在控制节点上安装 Dashboard 服务。安装完成后,将 Dashboard 中的 Django 数据修改
为存储在文件中。在 controller 节点上使用 iaas-install-dashboad.sh 脚本安装 Dashboard 服务。
安装完成后,修改相关配置文件,完成下列两个操作:
1.使得登录 Dashboard 平台的时候不需要输入域名;
2.将 Dashboard 中的 Django 数据修改为存储在文件中。
(找到地址修改文件)
vi /etc/openstack-dashboard/local_settings
SESSION_ENGINE = 'django.contrib.sessions.backends.file' #搜索等号之前的,然后把cache修改成file
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False #查找位置,把True改成False
Swift 安装[0.5 分]
在控制节点和计算节点上分别安装 Swift 服务。安装完成后,将 cirros 镜像进行分片
存储。
在控制节点和计算节点上分别使用 iaas-install-swift-controller.sh 和 iaas
install-swift-compute.sh 脚本安装 Swift 服务。安装完成后,使用命令创建一个名叫examcontainer 的容器,将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并设置分段存放,每一段大小为 10M。
(cirros-0.3.4-x86_64-disk.img在云计算yjs2022云计算-新云计算下)有问题没做出来,第二遍还是失败了
curl -O http://192.168.19.10/cirros-0.3.4-x86_64-disk.img
swift post examcontainer
swift upload -S 10M examcontainer cirros-0.3.4-x86_64-disk.img
cirros-0.3.4-x86_64-disk.img segment 1 #显示的作用可以不用输出
cirros-0.3.4-x86_64-disk.img segment 0
cirros-0.3.4-x86_64-disk.img
Cinder 创建硬盘[0.5 分] 在compute中执行!!!
在控制节点和计算节点分别安装 Cinder 服务,请在计算节点,对块存储进行扩容操作。
在 控 制 节 点 和 计 算 节 点 分 别 使 用 iaas-install-cinder-controller.sh 、 iaas
install-cinder-compute.sh 脚本安装 Cinder 服务,请在计算节点,对块存储进行扩容操
作,即在计算节点再分出一个 5G 的分区,加入到 cinder 块存储的后端存储中去。
[root@compute ~] pvcreate /dev/sdb4 #compute
#如果创建不成功可以用: sudo vgcreate cinder-volumes /dev/sdb3 #一条命令顶两个?
vgs
vgextend cinder-volumes /dev/sdb3
vgs
配置主机禁 ping [0.5 分]
修改 controller 节点的相关配置文件,配置 controller 节点禁止其他节点可以 ping它
vi /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1 #添加
sysctl -p