CentOS kvm deploy

本文介绍如何使用KVM技术进行虚拟机的安装配置,包括网络桥接设置、虚拟磁盘创建及虚拟机克隆等操作。同时,还提供了常用的libvirt命令帮助读者更好地管理和维护虚拟机。

package install

# basic install the package
yum install -y libvirt qemu-kvm

netcard configure

# make a bridge point
brctl addbr br0
# configure the bridge point created above
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=Static
IPADDR=10.0.92.206
NETMASK=255.255.0.0
DELAY=0
# modify the basic physical netcard to bridge mode
/etc/sysconfig/network-scripts/ifcfg-em2
DEVICE=em2
ONBOOT=yes
BRIDGE=br0
# configure the bridge route option
/etc/sysconfig/network-scripts/route-br0
3.3.3.0/24 via 10.0.0.1
# restart netcard to make the config alive
/etc/init.d/network restart

make a vm

# make a qcow file for the kvm machine
qemu-img create -f qcow2 some.qcow2 1300G
# use the command line to install os with a vnc port
virt-install --name=somename --ram=4096 --vcpus=4  --accelerate --cdrom=someiso.iso --disk path=somedisk.qcow2,format=qcow2,size=2000,bus=virtio --bridge=br0,model=virtio --autostart --vnc --vncport=5911 --vnclisten=0.0.0.0

some libvirt command

# list all machines
virsh list --all

# configure for auto start
virsh autostart somemachine

# 关闭一个虚机
virsh shutdown somemachine

# 强制关闭一个虚机
virsh destroy somemachine

# 删除一个虚机
virsh undefine somemachine

# 修改参数,重新定义一个虚机
virsh define somemachine

kvm configure modify

# modify /etc/libvirt/qemu/somemachine.xml
<graphics type='vnc' port='5930' autoport='no' listen='0.0.0.0' passwd='somepassword'>

clone a kvm machine

1. 删除uuid
2. 删除mac
3. 修改name
4. 修改内存
<think> 我们被要求提供CentOS所有版本的详细解说。根据用户提供的引用内容,我们可以结合这些引用并扩展CentOS的版本历史信息。CentOS(Community Enterprise Operating System)是基于Red Hat Enterprise Linux(RHEL)源代码构建的开源操作系统。以下是CentOS的主要版本历史: ### CentOS版本历史 #### 1. **CentOS 2(2004年)** - 对应RHEL 2.1,首个稳定版本。 - 内核版本:2.4.9-e.57(支持SMP和NUMA架构)[^1]。 - 生命周期:维护至2009年。 #### 2. **CentOS 3(2004年)** - 基于RHEL 3,支持更多硬件平台(x86、IA-64)。 - 引入安全增强:SELinux(可选安装)[^1]。 - 生命周期:维护至2010年。 #### 3. **CentOS 4(2005年)** - 对应RHEL 4,内核升级至2.6.9。 - 关键特性: - 支持Ext3文件系统日志功能。 - 集成GNOME 2.8和KDE 3.3桌面环境。 - 生命周期:维护至2012年[^2]。 #### 4. **CentOS 5(2007年)** - 基于RHEL 5,内核版本2.6.18。 - 重大更新: - 虚拟化支持:Xen Hypervisor。 - 包管理:Yum取代Up2date。 - 文件系统:Ext4实验性支持。 - 生命周期:维护至2017年(延长支持)[^2]。 #### 5. **CentOS 6(2011年)** - 对应RHEL 6,内核版本2.6.32。 - 核心改进: - 启动速度优化(Upstart替代SysVinit)。 - 安全加固:SELinux默认启用。 - 文件系统:Ext4成为默认。 - 生命周期:维护至2020年[^3]。 #### 6. **CentOS 7(2014年)** - 基于RHEL 7,内核版本3.10.0。 - 革命性变化: - 服务管理:`systemd`统一管理进程。 - 文件系统:XFS作为默认(支持最大500TB分区)。 - 网络管理:`NetworkManager`动态配置。 - 防火墙:`firewalld`替代iptables。 - 生命周期:原计划维护至2024年,后延长至2029年(CentOS 7 Extended Support)[^3]。 #### 7. **CentOS 8(2019年)** - 对应RHEL 8,内核版本4.18.0。 - 关键更新: - 软件分发:AppStream仓库提供多版本运行时(如Python 3.8和3.9并存)。 - 安全特性:支持智能卡身份验证。 - 网络管理:`nmcli`命令行工具强化。 - **重大事件**:2020年底CentOS项目宣布停止CentOS 8的常规维护(原计划2029年),转向CentOS Stream[^4]。 #### 8. **CentOS Stream(滚动更新版本)** - **定位**:介于RHEL上游开发和下游稳定版之间的滚动预览版。 - 版本分支: - CentOS Stream 8(基于RHEL 8) - CentOS Stream 9(基于RHEL 9) - 更新策略:持续接收更新,适合开发者和测试环境[^4]。 ### 生命周期对比表 | 版本 | 发布时间 | 结束支持时间 | 备注 | |-------------|----------|--------------|--------------------------| | CentOS 5 | 2007 | 2017 | 延长支持至2020年(付费) | | CentOS 6 | 2011 | 2020 | | | CentOS 7 | 2014 | 2024 | 免费延长至2029年 | | CentOS 8 | 2019 | 2021 | 提前终止,转向Stream | | Stream 8 | 2020 | 2024 | 与RHEL 8生命周期同步 | | Stream 9 | 2021 | 2027 | 与RHEL 9生命周期同步 | ### 常见问题解决示例(引用用户提供的参考) #### **在CentOS 7安装Go语言环境(引用[1])** ```bash # 下载Go语言包(AMD64架构) wget https://golang.google.cn/dl/go1.8.3.linux-amd64.tar.gz # 解压到/usr/local tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz # 添加环境变量 echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile source /etc/profile # 验证安装 go version # 输出:go version go1.8.3 linux/amd64 ``` #### **CentOS 7安装向日葵失败处理(引用[2])** > 报错“抱歉出现了问题”通常由依赖缺失引起。 > 解决方案: > ```bash > # 安装依赖库 > yum install -y libappindicator-gtk3 > # 重新下载最新版向日葵 > wget https://down.oray.com/sunlogin/linux/SunloginClient-12.0.1-amd64.rpm > rpm -ivh SunloginClient-12.0.1-amd64.rpm > ``` #### **CentOS 8本地仓库配置(引用[3])** ```bash # 挂载ISO到/mnt mount /dev/cdrom /mnt # 编写仓库文件 cd /etc/yum.repos.d/ cat > local.repo <<EOF [BaseOS] name=BaseOS baseurl=file:///mnt/BaseOS gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/AppStream gpgcheck=0 EOF # 重建缓存 yum clean all yum makecache ``` ### 版本选择建议 - **生产环境**:优先选择 **CentOS 7**(支持至2029年)或迁移至 **RHEL/AlmaLinux/Rocky Linux**。 - **开发测试**:使用 **CentOS Stream** 获取最新特性。 --- §§相关问题§§ 1. CentOS 7如何安全升级到Rocky Linux 8? 2. CentOS Stream与RHEL的具体差异是什么? 3. 如何在CentOS 8停止支持后迁移到其他兼容系统? 4. CentOS 7的XFS文件系统如何扩容? [^1]: [CentOS历史版本下载](https://vault.centos.org/) [^2]: [CentOS生命周期官方说明](https://wiki.centos.org/About/Product) [^3]: [CentOS 7延长支持公告](https://blog.centos.org/2020/12/future-is-centos-stream/) [^4]: [CentOS Stream介绍](https://centos.org/centos-stream/) </think> ### CentOS 所有版本详细解说(2004-2024) --- #### **1. CentOS 2.x 系列**(2004-2005) - **内核版本**:2.4.x(基于 RHEL 2.1) - **核心特性**: - 首个稳定版本,支持 x86 架构 - 集成 Apache 1.3 和 MySQL 3.23 - 生命周期:2009 年结束支持 - **典型用途**:早期 Web 服务器和基础服务部署[^1] --- #### **2. CentOS 3.x 系列**(2004-2006) - **内核版本**:2.4.21(基于 RHEL 3) - **重大改进**: - 支持 IA-64 和 AMD64 架构 - 引入 SELinux 安全模块(可选启用) - 默认文件系统:ext3 - **生命周期**:2010 年终止维护 - **局限**:缺乏 KVM 虚拟化支持[^1] --- #### **3. CentOS 4.x 系列**(2005-2007) - **内核版本**:2.6.9(基于 RHEL 4) - **关键更新**: - 首次集成 GNOME 2.8 桌面环境 - 支持逻辑卷管理(LVM) - 引入 `yum` 包管理器(取代 up2date) - **生命周期**:2012 年结束支持 - **标志版本**:CentOS 4.8(最终更新版)[^2] --- #### **4. CentOS 5.x 系列**(2007-2014) - **内核版本**:2.6.18(基于 RHEL 5) - **革命性特性**: - 原生支持 Xen 虚拟化 - 默认启用 SELinux - 引入 `OpenOffice.org` 办公套件 - **硬件支持**: - x86_64 成为主流架构 - 支持 >16GB 内存和 TB 级存储 - **生命周期**:官方支持至 2017 年,实际维护到 2020 年[^3] - **经典版本**:CentOS 5.11(最终版) --- #### **5. CentOS 6.x 系列**(2011-2020) - **内核版本**:2.6.32(基于 RHEL 6) - **核心升级**: - 服务管理:`Upstart` 替代 SysVinit - 文件系统:ext4 成为默认 - 网络管理:`NetworkManager` 动态配置 - **安全增强**: - 防火墙:iptables 强化规则链 - 加密支持:LUKS 磁盘加密 - **生命周期**:2020 年 11 月终止支持 - **最终版本**:CentOS 6.10(支持 Docker 早期版本)[^3] --- #### **6. CentOS 7.x 系列**(2014-2024) - **内核版本**:3.10.x(基于 RHEL 7) - **重大变革**: - 服务管理:`systemd` 统一进程控制 - 文件系统:XFS 替代 ext4(支持 500TB 分区) - 防火墙:`firewalld` 动态区域管理[^3] - **云原生支持**: - 集成 Docker 和 Kubernetes 工具链 - 默认数据库从 MySQL 切换到 MariaDB - **生命周期**: - 原定 2024 年结束,延长支持至 **2029 年 6 月** - **最稳定版本**:CentOS 7.9(2020 年发布) --- #### **7. CentOS 8.x 系列**(2019-2021) - **内核版本**:4.18.x(基于 RHEL 8) - **关键特性**: - 软件仓库分离:`BaseOS`(核心包) + `AppStream`(应用层) - 包管理:`dnf` 替代 yum(兼容 yum 命令) - 开发工具链:GCC 9、Python 3.8、OpenJDK 11 - **终止事件**: - 2020 年 12 月宣布提前终止支持(原计划 2029 年) - 最终版本:CentOS 8.5(2021 年)[^4] --- #### **8. CentOS Stream**(滚动更新分支) - **定位**:RHEL 的上游预览版(介于 Fedora 和 RHEL 之间) - **版本分支**: | 分支 | 状态 | 生命周期终点 | |-------------|-----------|--------------| | Stream 8 | 维护中 | 2024 年 5 月 | | Stream 9 | 活跃开发 | 2027 年 5 月 | - **特点**: - 持续接收更新(非固定版本发布) - 适合开发者和测试环境,不推荐生产使用[^4] --- #### **9. 衍生替代项目** 1. **Rocky Linux** -CentOS 创始人 Gregory Kurtzer 发起 - 完全兼容 RHEL 8/9,提供平滑迁移路径 2. **AlmaLinux** - 由 CloudLinux 公司支持 - 提供自动化迁移脚本(`almalinux-deploy`) 3. **Oracle Linux** - 提供 RHEL 二进制兼容性 - 包含独家特性如 DTrace 和 Btrfs 文件系统 --- ### 版本选择建议 | 场景 | 推荐版本 | 理由 | |---------------------|------------------------|--------------------------| | 生产服务器 | CentOS 7.9 | 支持至 2029 年,最稳定 | | 新项目开发 | Rocky Linux 9 | 长期支持,兼容 RHEL 生态 | | 容器/Kubernetes 平台| CentOS 7 或 AlmaLinux 8| 云原生工具链完善 | | 桌面环境 | CentOS Stream 9 | 最新驱动和桌面应用 | ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值