私有云搭建基础(2)

上一期的最后我们进行了一个基础安装

(默认都是在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

### 私有云平台搭建指南 #### 1. 硬件准备与虚拟化环境配置 私有云平台的搭建首先需要稳定的硬件基础,通常选择高性能服务器或支持虚拟化的PC作为主机。根据实际需求配备足够的存储设备(如HDD、SSD)以满足数据存储容量性能要求。在硬件层面上,还需要考虑网络带宽、冗余电源等高可用性因素。通过使用VMware或VirtualBox等虚拟化软件创建虚拟机,并进行操作系统的安装配置,可以构建一个初步的虚拟化环境[^1]。 #### 2. 操作系统与基础服务部署 推荐使用Linux操作系统,如Ubuntu Server或CentOS,因其具备良好的稳定性、安全性以及对开源社区的良好支持。完成系统安装后,应配置静态IP地址、时间同步服务(如NTP),并设置本地YUM或APT源以便后续快速部署相关组件。此外,还需启用防火墙规则SSH远程访问服务,确保系统安全性可管理性[^1]。 #### 3. 私有云平台核心组件部署 对于企业级私有云平台,OpenStack是一个广泛使用的开源解决方案。其核心组件包括: - **Keystone**:负责身份验证与授权管理,是所有OpenStack服务的基础依赖。 - **Glance**:提供镜像服务,用于管理虚拟机模板。 - **Nova**:计算服务,负责虚拟机实例的生命周期管理。 - **Neutron**:网络服务,支持复杂的网络拓扑结构,如VLAN、VXLAN等。 - **Cinder**:块存储服务,为虚拟机提供持久化存储。 - **Swift**:对象存储服务,适用于大规模非结构化数据存储。 - **Horizon**:Web控制台,提供图形化界面用于管理云资源[^3]。 可以通过自动化本简化安装流程,例如以下命令示例: ```bash # 初始化OpenStack基础环境 cd /root/iaas-scripts ./iaas-pre-host.sh reboot # 安装MySQL数据库与Keystone认证服务 source /etc/keystone/admin-openrc.sh ./iaas-install-mysql.sh ./iaas-install-keystone.sh # 安装Glance镜像服务与Nova计算服务 ./iaas-install-glance.sh ./iaas-install-nova-controller.sh # 安装Neutron网络服务与Horizon控制台 ./iaas-install-neutron-controller.sh ./iaas-install-dashboard.sh ``` #### 4. 数据安全与隐私保护 在私有云环境中,数据安全至关重要。应采取多层次防护措施,包括但不限于: - 启用SSL/TLS加密传输,防止中间人攻击。 - 配置访问控制列表(ACL)角色权限管理,限制用户访问范围。 - 实施定期备份策略,结合本地磁盘与异地存储,确保灾难恢复能力。 - 使用入侵检测系统(IDS)日志审计工具,实时监控异常行为[^2]。 #### 5. 可扩展性与弹性架构设计 私有云平台应具备良好的弹性与可扩展性,能够根据业务负载动态调整计算、存储网络资源。可通过集成Kubernetes等容器编排系统实现微服务架构下的自动扩缩容。AWS EKS、Google GKE等托管服务也提供了成熟的弹性伸缩机制,适用于混合云场景下的统一调度与管理[^5]。 #### 6. 管理与运维优化 借助OpenStack Dashboard(Horizon)或其他第三方管理工具,用户可以方便地创建、删除、启动停止虚拟机实例。同时,建议部署Prometheus+Grafana等监控系统,实时掌握资源使用情况。此外,自动化运维工具如Ansible、SaltStack可用于批量配置管理故障自愈[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值