Part 1 - 制作 CentOS 模板镜像

2021-02-26
6分钟阅读时长

【版本】

当前版本号v20230308

版本修改说明
v20230308移除修改网卡名称的步骤
v20230307新增虚拟机安装目录不能含有中文或空格的提示
v20220513修复一个DOS命令
v20220308新增 VirtualBox 与宿主机同步的配置
v20220209新增网卡设置混合模式为全部允许步骤
v20220208换用 CentOS 7.9、VirtualBox 和 FinalShell
v20210325常用命令增加了nmap
v20210324增加时间验证步骤
v20210317修正了上传openstack源的描述
v20210310增加了网关和网段的设置步骤
v20210302修正步骤47,避免误操作
v20210301删除步骤41一句冗余的命令
v20210227初始化版本

【实验名称】

云计算部署实战 Part 1 - 制作 CentOS 模板镜像

【实验目的】

  • 掌握搭建 CentOS 模板镜像
  • 熟练掌握 Linux 命令(vi、tar、mv等等)的使用
  • 掌握 VirtualBox、FinalShell 等客户端的使用

【实验环境】

  • 内存:至少4G
  • 硬盘:至少空余40G
  • 操作系统: 64位 Windows 系统。

【实验资源】

  • FinalShell
  • CentOS 7 系统镜像
  • VirtualBox
  • Openstack 源

【实验步骤】

安装 VirtualBox 和 FinalShell

  1. 安装 VirtualBox 6或7,过程略。如果之前有安装旧版本的 VirtualBox,请先卸载。

  2. 安装 FinalShell,过程略。

VirtualBox 新建虚拟机

  1. 启动 VirtualBox,点击“新建”,新建1台虚拟机,命名为OpenstackTmpl,类型选择 Linux,版本选择 Red Hat(64-bit)。
注意:虚拟机安装路径的所在文件夹只能使用英文,不能含有中文!不能包含空格!

  1. 分配 1024M 内存。

  2. 创建虚拟磁盘。

  3. 磁盘映像选择 VDI。

  4. 磁盘选择“动态分配”。

  5. 磁盘分配最大容量 30GB。点击“创建”。

  6. 设置虚拟机。

  7. 加载 CentOS 的安装镜像。

  8. 连接方式选择“仅主机(Host-Only)网络”,网卡选择“VirtualBox Host-Only Ethernet Adapter #2”。

  9. 网络的混杂模式设置为“全部允许”。

VirtualBox 启用虚拟化选项

  1. 启用虚拟化配置。使用管理员权限进入 Windows 系统的命令行
  • “Win+R”键可以快速调出运行窗口
  • 输入“cmd”、
  • 同时按下“Ctrl+Shift+ENter”键启动管理员权限的命令行窗口
  1. 在 Windows 的命令行窗口输入以下命令。
  • 修改以下D:\"Program Files (x86)"\Oracle\VirtualBox路径为你的 Virtualbox 安装路径。
d:
cd D:\"Program Files (x86)"\Oracle\VirtualBox

如果你安装在d盘,需要先输入 d: 切换到D盘,再运行 cd 命令 VirtualBox 的安装路径可以通过桌面的 VirtualBox 快捷方式打开

  • 执行以下命令启用你的虚拟机的虚拟化扩展特性。以下"OpenstackTmpl"需要修改为你的虚拟机名称。
VBoxManage.exe modifyvm "OpenstackTmpl" --nested-hw-virt on
  1. 打开 Virtualbox,查看虚拟化选项是否已经启用。

设置虚拟机时间与宿主机时间同步

  1. CMD 执行以下命令启用与宿主机时间同步,以下"OpenstackTmpl"需要修改为你的虚拟机名称。
VBoxManage setextradata "OpenstackTmpl" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "0"

虚拟机 CentOS 系统网卡编号设置

  1. 关闭设置窗口,启动模板镜像虚拟机。
在 VirtualBox 的虚拟机运行窗口,鼠标和键盘的操作只能在窗口内生效,要跳出窗口可以按下键盘右边的 Ctrl 键

虚拟机 CentOS 系统默认语言设置

  1. 虚拟机安装语言选择默认英语。

虚拟机 CentOS 系统时间设置

  1. 时区选择东8区,注意调整时间为你当前安装的实际时间。

虚拟机 CentOS 系统语言支持设置

  1. 语言支持勾选中文。

虚拟机 CentOS 系统网络设置

  1. 网口设置,启用网口并设置IP信息。
地址:10.0.0.11
掩码:24
网关:10.0.0.254
DNS:233.5.5.5
  1. 虚拟机主机名设置为openstacktmpl+你个人学号后3位。例如你学号后3位为221,则命名为openstacktmpl221;
请严格按照要求命名,否则后面会遇到较多问题!

虚拟机 CentOS 系统软件选择设置

  1. 回到主界面,进入软件选择界面,按下图选择安装软件。

虚拟机 CentOS 系统分区设置

  1. 回到主界面,进入系统安装位置菜单。

  2. 选择要分区的磁盘,选择手动分区,按下Done

  3. 选择标准分区格式

  4. 新建3个分区(Partition)

swap分区:2048M
/boot 分区:300M
/ 根分区:剩余所有空间

虚拟机 CentOS 系统 KDUMP 设置

  1. 禁用 KDUMP。

KDUMP 是Linux内核的一个功能,可在发生内核错误时创建核心转储。当被触发时,KDUMP 会导出一个内存映像,该映像可用于调试和确定崩溃的原因。

  1. 开始安装系统

虚拟机 CentOS 系统帐号设置

  1. root 密码设置为123456。此时可能会提示密码过短,但是再次按下Done按钮确认即可成功修改。

重要提示:这里设置的密码较为简单,仅为简化实验操作。在工作环境中切勿使用过于简单的密码。

  1. 等待系统安装完毕以后,点击重启。

测试登录虚拟机 CentOS

  1. 重启以后,尝试使用 root 账户登录,密码为刚才设置的123456

  2. 输入以下代码查看 IP,网关等网络设置是否正常显示。

ip a

  1. 关闭虚拟机。

重新调整虚拟机启动顺序

  1. 重新调整虚拟机启动顺序,把硬盘调到光驱的前面。

这是确保下次启动不会先从光驱启动,因为光驱启动会引导系统重新安装。

  1. 启动虚拟机。

Windows 宿主机网络设置

  1. 进入当前Windows系统的网卡设置,修改虚拟网卡的配置。

  2. 打开FinalShell,使用 hadoop 用户SSH方式登录虚拟机。

IP:10.0.0.11
端口:22
用户名:root
密码:123456

关闭 CentOS 系统防火墙

  1. 执行以下命令,关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

配置 CentOS 系统 SELINUX

  1. 备份 SELinux 配置文件,并关闭 SELinux。
cp /etc/selinux/config{,.bak}
vi /etc/selinux/config

在文件中修改

SELINUX=disabled

配置 CentOS 系统 SSH

  1. 备份 SSH 配置文件,优化 SSH 的连接速度。
cp /etc/ssh/sshd_config{,.bak}
vi /etc/ssh/sshd_config
  1. 找到UseDNS no,去掉前面的#号注释

  2. 找到GSSAPIAuthentication no这一行的yes,把yes改成no

  3. 改完重启sshd

systemctl restart sshd

关闭图形化networkmanager

  1. 关闭图形化networkmanager,以后统一用network来管理
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

配置本地 yum 源指向光盘。

  1. 首先确保虚拟机连接上光驱,并把光盘文件配置为本地源,方便安装软件。

  2. 解挂目录/mnt

umount /mnt

正常会返回结果显示 /mnt: not mounted

  1. 进入源目录
cd  /etc/yum.repos.d/
  1. 把原有源备份到test目录下。
mkdir test -p
mv *.repo test
  1. 配置本地源指向挂载的/mnt
echo '[local]
name=local
baseurl=file:///mnt
gpgcheck=0'>local.repo
  1. 挂载光盘内容到/mnt目录下。
mount /dev/cdrom /mnt

正常会返回 mount: /dev/sr0 is write-protected, mounting read-only

  1. 清理源缓存
yum makecache

正常清理源缓存以后,会看到“元数据缓存已建立”等提示。

#Determining fastest mirrors
#Metadata Cache Created
  1. 执行以下命令,每次启动系统自动挂载光盘内容到/mnt目录下。
echo 'mount /dev/cdrom /mnt' >>/etc/rc.local
chmod +x /etc/rc.d/rc.local

通过 yum 源安装软件。

  1. 安装 tab 补全
yum install -y bash-completion.noarch

正常安装软件成功会有 Complete(完毕)提醒

  1. 安装常用的命令
yum install -y net-tools vim lrzsz wget tree screen lsof  tcpdump chrony nmap

新增 Openstack 安装 yum 源

  1. 进入/opt目录。
cd /opt
  1. 在 FinalShell 上传资源文件openstack_rpm.tar.gz到 /opt。

  2. 解压openstack_rpm.tar.gz

cd /opt
tar -xvf openstack_rpm.tar.gz
  1. 编辑本地源,增加openstack的源,指向刚才解压的openstack_rpm.tar.gz的目录。
vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
[openstack]
name=openstack
baseurl=file:///opt/repo
gpgcheck=0
  1. 生成源缓存
yum makecache
  1. 查看日期时间是否与 Windows 宿主机同步。
date "+%Y-%m-%d %H:%M:%S"

【思考和探索】

  1. 主流的 Linux 系统除了CentOS,还有哪些?
  2. 多台计算机(服务器)组网,通常需要配置哪些参数?
  3. Linux 中提到的源是什么?