为了更多的了解云计算平台,结合云计算和linux的知识写了一篇云计算的介绍和汇总。
文章目录
- 前言
- 1. centos的软件管理
- 1.1 yum软件包管理
- 1.1.1 yum命令语法:
- 1.1.2 安装软件包的步骤
- 1.1.3 yum源
- 2. 主机名管理与域名解析
- 3. centos的防火墙管理
- 4. openstack的基础支持服务
- 4.1 chrony时间同步服务
- (1)时间同步服务配置
- (2)时间同步服务管理
- 4.2. openstak云计算平台框架
- 4.3 MariaDB数据库服务
- 4.4 RabbitMQ消息队列服务
前言
云计算平台基本环境是以虚拟化技术为核心的分布式计算系统,包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)三层架构。其中,IaaS提供虚拟服务器、存储和网络资源,如Amazon EC2、阿里云ECS;PaaS则包含了运行时环境和数据库服务,如Heroku、Google App Engine,助力开发者快速构建和部署应用;SaaS层则是完整的云端应用程序,如Office 365、Salesforce等。此外,还包括诸如Kubernetes的容器编排工具、如Yum/DNF的包管理器,以及如Keystone的身份验证服务、如Neutron的网络服务等,共同保障了资源的弹性伸缩、安全防护和高可用性。各类服务通过统一的管理界面和API接口进行集成管理,以满足不同业务场景的需求。
提示:以下是本篇文章正文内容,下面案例可供参考
1. centos的软件管理
CentOS(Community ENTerprise Operating System)作为一个基于RHEL(Red Hat Enterprise Linux)源代码重新构建的开源操作系统,其软件管理主要包括了以下几个方面:
-
RPM包管理器:
RPM(Red Hat Package Manager)是CentOS以及其他基于RPM的Linux发行版的标准包管理系统。它可以用来安装、更新、查询、验证和删除软件包。用户可以使用rpm
命令行工具直接处理.rpm
格式的软件包,但通常更倾向于使用高级包管理工具来进行依赖关系解决和便捷的软件包管理。 -
Yum(Yellowdog Updater, Modified):
在较旧版本的CentOS(如CentOS 6及以前版本)中,Yum是默认的高级软件包管理器,它可以自动处理依赖关系并从官方或自定义的软件仓库下载并安装软件包。通过yum install
、yum update
、yum remove
等命令来管理软件。 -
DNF(Dandified Yum):
在CentOS 7后期及CentOS 8中,DNF取代了Yum成为默认的软件包管理器。DNF是Yum的一个后继项目,具有更快的速度和更好的性能,同时也改进了依赖解析和包组管理等功能。 -
Package Groups:
CentOS还支持通过包组(package groups)来批量安装一组相关的软件包,这有助于快速搭建特定的开发环境或服务器角色。 -
Software Collections:
CentOS提供了Software Collections(SCL),允许用户在同一系统上安装多个版本的软件,如不同版本的Python、Ruby等,而不影响系统默认的软件版本。 -
第三方包管理工具:
除了系统自带的包管理器,用户还可以选择安装其他工具,比如对于Python开发,可能会用到Conda来管理Python环境和相关库;对于Node.js、Go等语言环境,也会有对应的包管理工具如npm、go get等。 -
容器化管理:
随着容器技术的发展,在CentOS上可以通过Docker等容器引擎来安装和管理容器化的软件应用,每个容器包含应用及其所有依赖,独立于主机系统环境。
因此,在CentOS上进行软件管理主要是通过上述工具来实现安装、升级、维护和卸载软件,同时保持系统的稳定性和安全性。不过在此主要讲yum的软件包管理。
1.1 yum软件包管理
Yum(Yellowdog Updater, Modified)是一种流行的Linux操作系统下的高级软件包管理器,主要用于基于RPM(Red Hat Package Manager)包格式的Linux发行版,如早期的Fedora、CentOS和RHEL(Red Hat Enterprise Linux)。Yum提供了一种简单易用的方式来自动处理软件包之间的依赖关系,使得用户无需手动查找和安装软件包所依赖的其他包。
1.1.1 yum命令语法:
yum [选项] <操作> <软件包名称>
常用操作
:
操作 | 功能 |
---|---|
install | 安装软件包 |
update | 更新软件包 |
check-update | 检查是否有可用的更新软件包 |
remove | 删除指定的软件包 |
list | 显示软件包列表 |
search | 查询软件所属的软件包信息 |
info | 显示指定的软件包的描述信息和概要信息 |
clean | 清理过期的缓存 |
resolvedep | 显示软件包的依赖关系 |
deplist | 显示软件包的所有依赖关系 |
选项常用命令
:
选项 | 功能 |
---|---|
-h | 显示帮助信息 |
-y | 对所有的提问都回答"yes" |
-c | 指定配置文件 |
-q | 安静模式,即不显示软件反馈信息 |
-v | 详细模式 |
-R | 处理一个命令的最大等待时间 |
-C | 完全从缓存中运行,而不去下载或者更新任何文件 |
1.1.2 安装软件包的步骤
- 检查
yum search 软件包
- 查询仓库包信息
yum list 查询的包
例如:
yum list net-*
3.安装软件包
yum -y install 包名称
1.1.3 yum源
- 进入yum源配置文件
[root@localhost lh]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
centos-addons.repo centos.repo
查看配置信息如下:
[root@localhost yum.repos.d]# cat centos.repo
[baseos]
name=CentOS Stream $releasever - BaseOS
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[baseos-debuginfo]
name=CentOS Stream $releasever - BaseOS - Debug
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-debug-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0[baseos-source]
name=CentOS Stream $releasever - BaseOS - Source
metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-source-$stream&arch=source&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0[appstream]
name=CentOS Stream $releasever - AppStream
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=1[appstream-debuginfo]
name=CentOS Stream $releasever - AppStream - Debug
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-debug-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0[appstream-source]
name=CentOS Stream $releasever - AppStream - Source
metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-source-$stream&arch=source&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0[crb]
name=CentOS Stream $releasever - CRB
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
countme=1
enabled=0[crb-debuginfo]
name=CentOS Stream $releasever - CRB - Debug
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-debug-$stream&arch=$basearch&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0[crb-source]
name=CentOS Stream $releasever - CRB - Source
metalink=https://mirrors.centos.org/metalink?repo=centos-crb-source-$stream&arch=source&protocol=https,http
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
gpgcheck=1
repo_gpgcheck=0
metadata_expire=6h
enabled=0
yum源容器的配置及功能
:
配置项 | 功能 |
---|---|
name | 源容器的说明 |
mirrorlist | 镜像站点,与baseurl参数只启用其中一项 |
baseurl | 源服务器的地址 |
enabled | 如果不写此参数或者值为1,则表示此容器生效;值为0则表示此容器不生效 |
gpgcheck | 如果值为1,则表示需要验证软件包的数字证书信息;值为0则表示不需要验证 |
gpgkey | 数字证书的公钥文件保存位置,当gpgcheck值为0时,此参数无效 |
2. 主机名管理与域名解析
1. 查看主机名
hostname
2. 更改主机名
方法一:
进入配置文件
vi /etc/hostname
重启系统
reboot
方法二:
hostnamectl set-hostname 新主机名
bash
3. 本地域名解析
打开hosts文件
vi /etc/hosts
内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
最后一行添加:192.168.19.131 新主机名
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.19.131 newhost
测试联通
ping 新主机名
测试结果
[root@newhost yum.repos.d]# ping newhost
PING newhost (192.168.19.131) 56(84) 比特的数据。
64 比特,来自 newhost (192.168.19.131): icmp_seq=1 ttl=64 时间=0.100 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=2 ttl=64 时间=0.100 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=3 ttl=64 时间=0.067 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=4 ttl=64 时间=0.093 毫秒
64 比特,来自 newhost (192.168.19.131): icmp_seq=5 ttl=64 时间=0.157 毫秒
3. centos的防火墙管理
systemctl命令语法:
systemctl <参数> <服务名>
常用参数
:
参数 | 功能 |
---|---|
status | 查看服务运行状态 |
start | 开启服务 |
stop | 停止服务 |
enable | 设置服务开机自启 |
disable | 取消服务开机自启 |
restart | 重启服务 |
例如:
查看防火墙状态
[root@newhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; preset>Active: active (running) since Tue 2023-12-12 23:07:07 CST; 4 months 3 day>Docs: man:firewalld(1)Main PID: 819 (firewalld)Tasks: 2 (limit: 4323)Memory: 500.0KCPU: 407msCGroup: /system.slice/firewalld.service└─819 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid
停止防火墙
[root@newhost ~]# systemctl stop firewalld
取消防火墙开机自启
[root@newhost ~]# systemctl disable firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
启动防火墙
[root@newhost ~]# systemctl start firewalld
设置防火墙开机自启
[root@newhost ~]# systemctl enable firewalld
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.
4. openstack的基础支持服务
OpenStack的基础支持服务指的是构成OpenStack云平台核心功能的一系列关键服务。这些服务协同工作,为用户提供完整的基础设施即服务(IaaS)功能,包括计算、存储、网络、身份认证、镜像管理、以及资源调度等
4.1 chrony时间同步服务
Chrony 是一款现代的网络时间协议(NTP)客户端和服务端软件,设计用于实现计算机系统间的精确时间同步
(1)时间同步服务配置
1. 安装Chrony
在RHEL 8、CentOS 8或其他兼容的Linux发行版中安装Chrony,可以使用相应的包管理器命令:
# 对于基于RHEL/CentOS 8的系统
sudo yum install -y chrony# 对于基于Debian/Ubuntu的系统
sudo apt-get update && sudo apt-get install -y chrony
2. 配置Chrony
编辑Chrony的主配置文件:
sudo nano /etc/chrony/chrony.conf
在此文件中,你可以添加或修改以下配置项:
-
添加上游NTP服务器:
server ntp1.example.com iburst server ntp2.example.com iburst
iburst
参数可以让Chrony在初始化连接时发送多个请求,加快初始同步速度。 -
允许特定IP地址或子网进行时间同步(如果配置Chrony作为NTP服务器):
allow <subnet_or_IP>
-
设置本地时钟的精度等级(stratum):
local stratum 10
-
如果服务器有GPS或者其他外部时间源,也需要相应配置。
3. 启动和启用Chrony服务
确保Chrony服务已经启动并且设置为开机自启动:
sudo systemctl start chronyd
sudo systemctl enable chronyd
4. 检查Chrony状态和同步信息
确认Chrony服务状态:
sudo systemctl status chronyd
查看Chrony同步源状态和统计信息:
chronyc sources -v
确认时钟跟踪和偏移信息:
chronyc tracking
5. 重启Chrony以应用配置更改
如果对配置文件做了修改,需要重启Chrony服务让更改生效:
sudo systemctl restart chronyd
(2)时间同步服务管理
chrony命令语法:
chrony <参数>
常用参数
:
参数 | 功能 |
---|---|
sources[-v] | 显示当前NTP服务器的信息,加上选项-v将显示对数据的说明 |
Activity | 检查有多少个NTP源在线/离线 |
Clients | 显示访问本服务器的客户端 |
add server | 添加新的NTP服务器 |
delete | 删除已有的NTP服务器 |
4.2. openstak云计算平台框架
- 安装openstak云计算平台框架
yum -y install centos-release-openstack-train
查看功能:
yum list *openstack-train
- 升级所有软件包
yum upgrade -y
- 安装openstack云计算平台客户端
yum -y install python-openstackclient
- 安装openstack selinux管理包
yum -y install openstack-selinux
进入selinux配置文件
cd /etc/selinux/config
配置内容:
SELINUX=disabled
4.3 MariaDB数据库服务
1.安装MariaDB数据库
yum -y install mariadb-server python2-PyMySQL
2.编辑数据库配置信息
vi /etc/my.cnf.d/openstack.cnf
MariaDB数据库参数:
参数 | 功能 |
---|---|
port | 数据库对外服务的端口号,默认为3306 |
datair | 数据库文件存放目录 |
bind-address | 绑定远程访问地址,只允许从该地址访问数据库 |
default-storage-engine | 默认存储引擎,MariaDB支持十种存储引擎,其中InnoDB是比较常用的支持事务存储引擎 |
innobd_file_per_table | InnoDB引擎的独立表空间,使每张表的数据都单独保存 |
max_connections | 最大连接数 |
collation-server | 字符的排序规则,也称为排列字符集,每个字符集都对应一个或多个排列字符集 |
character-set-server | 字符集 |
3.启动数据库
设置开机启动
systemctl enable mariadb
立即启动服务
systemctl start mariadb
4.初始化数据库
mysql_secure_installation
4.4 RabbitMQ消息队列服务
RabbitMQ 是一个开源的消息中间件,基于 AMQP(Advanced Message Queuing Protocol)标准协议实现,采用 Erlang 语言编写,以其高可用性、健壮性、易于部署和管理等特点,在企业级消息传递系统中广泛应用。RabbitMQ 提供了可靠的异步通信和任务队列功能,可以帮助分布式系统中的各个组件解耦合,支持多种消息传递模型,如点对点、发布/订阅、路由、主题交换等多种模式。
-
安装 Erlang 环境:
对于 Ubuntu,可以使用 APT 包管理器:sudo apt-get update sudo apt-get install esl-erlang
对于 CentOS,可以从 RabbitMQ 官方推荐的源或 EPEL 仓库安装 Erlang:
sudo yum install epel-release sudo yum install erlang
-
安装 RabbitMQ:
对于 Ubuntu:sudo apt-get install rabbitmq-server
对于 CentOS,可以使用官方提供的 RPM 包或 EPEL 仓库:
sudo yum install rabbitmq-server
-
启动与配置:
启动 RabbitMQ 服务:sudo systemctl start rabbitmq-server sudo systemctl enable rabbitmq-server
初始化 RabbitMQ 并设置管理用户(如
rabbitmqctl add_user username password
):sudo rabbitmqctl add_user admin your_password sudo rabbitmqctl set_user_tags admin administrator sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
开启 Web 管理插件(若需要):
sudo rabbitmq-plugins enable rabbitmq_management
最近比较懒惰,时间管理也随意了。完全没有心思写作和学习,也做了一小会的反思,不断的给自己打气——🌈加油!