centos7虚拟机初始化配置及克隆

本文提供了一份详细的CentOS 7虚拟机搭建指南,包括配置双网卡、修改主机名、禁用防火墙等步骤,并介绍了如何配置本地YUM源及创建虚拟机快照的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos7 中的命令与centos6中的有所不同,由于开发过程中有时候需要新建虚拟机做环境,因此记录一份配置步骤。配置完成后,对机器进行快照处理,方便后续还原重用,无需重新配置基本环境。

安装和配置虚拟机

安装虚拟机

安装前删除打印机;
设置两个网卡,一个NAT模式(方便连接互联网),另一个为仅主机模式(用于SSH连接)
安装过程中设置时区为东八区
启用两个网卡,仅主机模式可以先设置好IP
设置好主机名
最小化安装
创建用户root
创建用户apps

配置网卡

进入网卡设置目录

cd /etc/sysconfig/network-scripts

配置NAT网卡

vi ifcfg-ens33
修改如下几项
BOOTPROTO=“dhcp” #DHCP分配地址
ONBOOT=“yes” #开机启动

配置仅主机模式网卡

vi ifcfg-ens34
修改或添加如下几项
BOOTPROTO=static #静态IP地址
ONBOOT=yes #开机启动
IPADDR=192.168.220.31 #IP地址
PREFIX=24 #子网掩码

重启网络、查看网络状态

systemctl restart network.service
systemctl status network.service

检查网卡

nmcli

查看IP地址

ip addr

也可以通过图形界面设置网络(nmtui
现在可以远程连接该虚拟机了。

修改hostname

vi /etc/hostname
将首行 localhost.localdomain
改为 ct731
保存

添加hosts记录

vi /etc/hosts
添加如下一行
127.0.0.1 ct731

关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

关闭selinux

查看selinux状态

getenforce

临时关闭selinux

setenforce 0

永久关闭selinux

vi /etc/selinux/config
SELINUX=disabled
保存

关闭系统服务(以postfix为例)

systemctl status postfix.service
systemctl stop postfix.service
systemctl is-enabled postfix.service
systemctl disable postfix.service
查看系统开机启动的服务
systemctl list-unit-files

修改运行级别

查看当前运行级别

runlevel

查看开机默认运行级别

systemctl get-default

修改开机默认运行级别(3)

systemctl set-default multi-user.target

配置本地yum源

创建光盘挂载目录

mkdir /media/cdrom

连接上光盘,挂载安装光盘

mount /dev/sr0 /media/cdrom/

修改yum源配置文件

cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.bak
cp CentOS-Media.repo CentOS-Media.repo.bak
vi CentOS-Media.repo
修改如下两项
baseurl=file:///media/cdrom/
enabled=1
保存

清理yum缓存

yum clean all

安装常用工具

yum install -y vim
yum install -y telnet
yum install -y gcc
yum install -y lrzsz
yum install -y zip
yum install -y unzip
yum -y install wget
yum install bind-utils

授予apps sudo权限

visudo
添加一行
apps ALL=(ALL) ALL
保存

配置其他应用(以JAVA环境为例)

安装java运行环境

mkdir -p /apps/{bak,java,logs,svr}
上传jre文件到/apps/java/
tar zxvf server-jre-8u144-linux-x64.tar.gz
rm -f server-jre-8u144-linux-x64.tar.gz

配置环境变量,对root和apps用户都做如下配置

vim ~/.bash_profile
文件结尾添加如下三行
JAVA_HOME=/apps/java/jdk1.8.0_144
PATH=$PATH:$JAVA_HOME/bin
export PATH
保存

刷新配置文件

source ~/.bash_profile

查看java是否生效

java -version

创建虚拟机快照

重启虚拟机
检查上述配置是否生效
关机
压缩磁盘
创建快照
以后可以在需要的时候还原快照,恢复干净的坏境,同时不至于虚拟机器膨胀,占用过多磁盘和内存

克隆虚拟机

如果需要多台虚拟机,可以克隆上面的初始化好了的虚拟机,节约时间。
克隆完成后,需要修改网络设置及重新设置主机名

修改网卡设置

先生成uuid
uuidgen
9c8f8cd1-f5ca-431c-b218-c51eeb0d0f9d
vim /etc/sysconfig/network-scripts/ifcfg-ens33
找到UUID这一行,用上述uuid替换掉
如果有HWADDR这一行,删除掉
用同样的方法操作网卡ifcfg-ens34,并且修改静态IP地址
重启网络
systemctl restart network
查看修改是否生效
nmcli connection
该命令可以检查配置的uuid是否生效
此时可以远程连接到虚拟机了

调整主机名和hosts记录

vim /etc/hostname #重新设置主机名
vim /etc/hosts #调整hosts记录

重启机器
检查
关机
压缩磁盘
创建快照

<think>好的,用户现在问的是如何初始化还原虚拟机CentOS。我需要先理解“初始化还原”具体指什么。根据之前的对话,用户之前遇到了MySQL启动失败的问题,可能是在虚拟机环境中操作,现在可能想要将虚拟机恢复到某个初始状态。 首先,用户可能想要将CentOS虚拟机恢复到最初安装的状态,类似于重置或者重新初始化。这可能涉及到几种情况:使用快照恢复、重新安装系统,或者手动删除数据和配置。我需要考虑不同的方法,并给出步骤。 考虑到用户之前的问题可能与系统配置或服务有关,用户可能没有正确配置快照,或者可能不知道如何操作。所以需要提供不同的方法,比如使用虚拟化平台(如VMware、VirtualBox)的快照功能,或者使用云平台的自定义镜像,或者手动恢复。 另外,用户可能希望保留某些数据,所以需要提醒备份重要文件。还需要分步骤说明,确保清晰易懂。可能还需要检查每个步骤的注意事项,比如快照是否存在,重新安装是否会丢失数据等。 需要确保回答结构清晰,步骤详细,同时提醒用户注意备份,避免数据丢失。可能还需要解释每个方法的适用场景,比如快照恢复是最快的,而重新安装则更彻底。此外,用户可能对命令行操作比较熟悉,所以可以加入使用dd命令或其他命令的方法,但要注意安全。 最后,要确认回答覆盖了所有可能的恢复方法,并给出建议,比如推荐使用快照,如果可用的话。同时,语言要简洁,避免技术术语过于复杂,让用户能一步步跟随操作。</think>以下是虚拟机 CentOS 系统初始化还原的三种常用方法,根据不同的虚拟化平台和需求选择最适合的方式: --- ### **方法一:通过虚拟机快照还原(推荐)** **适用场景**:VMware、VirtualBox、Hyper-V 等支持快照功能的虚拟化平台 ```bash # 操作流程(以 VMware 为例): 1. 关闭 CentOS 虚拟机 2. 右键虚拟机 -> 快照管理器(Snapshot Manager) 3. 选择创建快照时保留的干净状态节点 -> 点击 "恢复到"(Revert to) 4. 重启虚拟机即可回到初始状态 ``` **优势**:秒级恢复,保留所有历史快照链 **注意**:若未提前创建快照,此方法不可用 --- ### **方法二:手动初始化还原** **适用场景**:无快照且需保留部分数据 ```bash # Step 1 - 重置网络配置(恢复网卡默认设置) sudo rm -f /etc/sysconfig/network-scripts/ifcfg-eth0 sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0.orig /etc/sysconfig/network-scripts/ifcfg-eth0 # Step 2 - 清理用户数据(保留系统账号) sudo awk -F: '$3 >= 1000 && $1 != "nobody" { print $1 }' /etc/passwd | xargs -n1 sudo userdel -r # Step 3 - 重置软件环境 sudo yum clean all # 清理 YUM 缓存 sudo rm -rf /var/cache/yum/* # 删除所有软件包缓存 sudo rpm -e $(rpm -qa) # 卸载所有非基础 RPM 包(慎用!会破坏系统) # Step 4 - 恢复关键配置文件 sudo \cp /etc/skel/.bash* /root # 还原 root 的 bash 配置 ``` **注意**:执行前务必备份重要数据!可通过 `tar -zcvf backup.tar.gz /path/to/data` 打包关键文件 --- ### **方法三:重建虚拟机(彻底还原)** **适用场景**:KVM/Xen 等无快照功能的平台 ```bash # 操作流程: 1. 导出当前虚拟机磁盘文件(如 centos.qcow2) 2. 使用 dd 命令擦除数据: sudo dd if=/dev/zero of=/dev/sda bs=1M # 覆盖磁盘所有数据(危险!确认设备路径正确) 3. 重新安装 CentOS 系统: - 挂载 ISO 镜像启动 - 选择 "Reinstall system" 或手动分区格式化 ``` **替代方案**:通过云平台自定义镜像(如 AWS AMI、阿里云镜像)快速重建 --- ### **数据安全警告** \boxed{ \text{所有操作前务必执行:} } ```bash sudo tar -czvf /backup/$(date +%Y%m%d).tar.gz \ /etc \ /home \ /var/www \ /var/lib/mysql # 根据实际情况调整目录 ``` --- ### **虚拟化平台特定命令** | 平台 | 快速还原命令 | |-------------|-------------------------------------| | **VMware** | `vmrun revertToSnapshot <虚拟机路径>` | | **VirtualBox** | `VBoxManage snapshot <VM名称> restore <快照名>` | | **KVM** | `virsh snapshot-revert <域名> --snapshotname <快照名>` | 选择合适的方法后,建议首次初始化时创建黄金镜像(Golden Image),后续可通过镜像快速克隆虚拟机
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值