Oracle Linux镜像导入腾讯云指南

2020-12-07 17:54:01 浏览数 (1)

作者:何相龙(p_xlhhe@tencent.com),2020年12月7日

本指南在Oracle Linux R7U5 x86_64 版本进行测试,理论上适用于R7 x86_64版本中各子版本。其他Linux发行版的操作方法也可结合官网文档参考本指南。

本指南仅供参考,不提供任何保证,请按实际情况操作。

一、 准备工作

1. 硬件环境:PC机一台,内存8G(推荐16G),双核CPU(推荐四核以上)

2. 操作系统:推荐Windows 10(至少Windows 7)。

3. 从Oracle官网下载安装镜像文件(此文档使用OracleLinux-R7-U5-Server-x86_64-dvd.iso)。

4. 从VirtualBox官网(https://www.virtualbox.org/wiki/Downloads)下载并安装VirtualBox。本文使用VirtualBox Windows 6.1.16版本进行测试。

二、 创建虚拟机

1. 点击页面上方的新建按钮。

2. 设置虚拟机名称、存储位置、系统版本。

3. 设置虚拟机内存大小(推荐2G-4G,此处的配置与实际导入后创建的云服务器配置无关)

4. 选择“现在创建硬盘”

5. 选择VMDK格式

6. 选择动态分配空间

7. 设置虚拟硬盘存储位置,设置硬盘大小,记录文件位置备用。

8. 点击页面上方的设置按钮

9. 选择“系统”-“处理器”,配置合适的处理器数量(此处的配置只是为了加快系统安装过程,与实际导入后创建的云服务器配置无关),然后点击“OK”按钮。

10. 注意:该虚拟机不要创建快照,以免导入失败。

三、 安装Oracle Linux

1. 启动虚拟机

2. 单机下拉框右侧的“浏览”按钮

3. 点击弹出页面上方的“注册”按钮

4. 选择您之前下载的Oracle Linux镜像

5. 选择上一步注册的镜像,点击“选择”

6. 单击“启动”

7. 使用键盘选择“Install Oracle Linux 7”

8. 等待安装程序加载,在语言选择界面选择中文。

9. 在安装信息摘要页面,分别配置“软件选择”和“安装位置”、“网络和主机名”

10. 在“安装目标位置”页面配置分区,此处保持自动分区。如需手动分区,请务必使用MBR格式分区,EFI引导。

11. 在“网络和主机名”页面,打开网络开关,然后点击“配置”

12. 选择“常规”标签,然后选中“可用时自动链接到这个网络”,保存配置。

13. 完成上述配置后,点击“开始安装”

14. 在“用户设置”页面,依次设置Root密码、创建用户。

15. 等待安装完成(可能需要较长时间),点击“重启”。(此时系统会自动释放安装镜像)

16. 注:在所有步骤中,请勿安装Virtualbox GuestAdditions。

四、 安装并配置cloud-init(有GUI的服务器)

1. 等待系统引导,在“初始设置”页面,仔细阅读并接受License。

2. 确认网络配置无误后点击“完成配置”按钮。

3. 选择用户名,输入密码,登录到操作系统。

4. 保持默认“汉语”设置,点击“前进”。

5. 保持默认输入法配置,点击“前进”。

6. 根据您的实际情况,选择是否接受位置服务,点击“前进”。

7. 跳过在线账号配置。

8. 点击“开始使用Oracle Linux Server”

9. 关闭“Getting Started”窗口。

10. 点击“应用程序”-“终端”

11. 切换到root用户,然后输入root账号密码

代码语言:javascript复制
su root

12. 安装cloud init工具

代码语言:javascript复制
yum install cloud-init -y

13. 下载cloud init配置文件

代码语言:javascript复制
wget https://cloudinit-1251783334.cos.ap-guangzhou.myzijiebao.com/centos/cloud.cfg

14. 用上一步下载的配置文件覆盖默认配置文件

代码语言:javascript复制
mv ./cloud.cfg /etc/cloud/cloud.cfg -f

15. 确认cloud-init是否配置成功

代码语言:javascript复制
cloud-init init --local

16. 删除运行记录

代码语言:javascript复制
rm -rf /var/lib/cloud

17. 关闭虚拟机

代码语言:javascript复制
shutdown now

五、 安装并配置cloud-init(无GUI的服务器)

1. 等待系统引导,使用root账户登录服务器。

2. 安装cloud init工具和wget工具

代码语言:javascript复制
yum install cloud-init wget -y

3. 下载cloud init配置文件

代码语言:javascript复制
wget https://cloudinit-1251783334.cos.ap-guangzhou.myzijiebao.com/centos/cloud.cfg

4. 用上一步下载的配置文件覆盖默认配置文件

代码语言:javascript复制
mv ./cloud.cfg /etc/cloud/cloud.cfg -f

5. 确认cloud-init是否配置成功

代码语言:javascript复制
cloud-init init --local

6. 删除运行记录

代码语言:javascript复制
rm -rf /var/lib/cloud

7. 关闭虚拟机

代码语言:javascript复制
shutdown now

六、 上传镜像并导入镜像

1. 登录腾讯云,打开对象存储COS控制台,点击左侧的“存储桶列表”,然后点击“创建存储桶”。

2. 在“创建存储桶”页面,设置存储桶名称,选择所属地域为您后续要创建云服务器的地域(如有多个,可任选其一),然后设置权限为“公有读私有写”,点击确定按钮,创建存储桶。

3. 在存储桶页面,点击“上传文件”按钮。

4. 在“上传文件”对话框,点击“选择文件”选择您的虚拟机VMDK磁盘镜像文件(在2.7步设置),然后点击“上传”。

5. 点击页面右上角的“任务进行中”可以查看上传进度。

6. 耐心等待文件上传完成。上传完成后,点击刚才上传文件右侧的“详情”按钮。

7. 复制对象地址,备用。

8. 打开云服务器控制台,点击左侧的“镜像”标签,然后在页面上方选择您后续要创建云服务器的地域(如有多个,可任选其一),点击“自定义镜像”,最后点击页面中部的“导入镜像”。

9. 在“导入镜像”页面,确认操作系统选择为Linux,阅读操作须知,然后勾选“我已做好上述准备”,点击“下一步”。

10. 在“镜像文件URL”处,粘贴在5.7步复制的对象地址;地域选择您后续要创建云服务器的地域(如有多个,可任选其一);系统架构选择“64位”;系统平台选择“Other Linux”;系统版本选择“-”;导入方式选择“正常”;根据实际需要配置镜像名称和描述。

11. 确认提示信息,点击“开始导入”。

12. 导入过程可能将耗时较长时间,请您耐心等待。系统将通过短信、邮件、站内信等方式通知您镜像导入结果。

13. 导入成功后,您可以在页面上看到自定义镜像信息。

七、 后续操作

1. 使用导入的镜像创建云服务器

A. 点击镜像右侧的“创建实例”

B. 确认镜像信息,然后点击“确定”。

C. 在“选择机型页面”可以看到,系统已自动选择该镜像,根据向导提示,完成其他配置,即可创建服务器。

D. 您也可以在使用常规入口创建服务器时,选择该自定义镜像。

E. 请注意,实例创建完成后,需要使用在腾讯云上创建实例时设置的密码/加载的密钥登录,而不是使用在本地虚拟机创建的用户。如遗忘密码,请使用腾讯云云服务器控制台的重置密码功能。

2. 将导入的镜像复制到其他地域

A. 点击镜像右侧的“更多”,然后点击“跨地域复制”

B. 勾选目标地域,然后点击“确定”

C. 跨地域复制过程可能将耗时较长时间,请您耐心等待。系统将通过短信、邮件、站内信等方式通知您镜像复制结果。

D. 复制成功后,您可以在页面上看到自定义镜像信息。

3. 将导入的镜像共享给其他腾讯云账号

A. 点击镜像右侧的“共享”

B. 输入对方账户的账户ID(UIN),点击确定。

C. 操作完成后,对方可在“共享镜像”页面查看该镜像,并可用其创建云服务器。

八、 使用VMWare Workstation Pro

相比VirtualBox,使用VMWare Workstation相对更为复杂,这里推荐首选使用免费且开源的VirtualBox进行镜像制作。此章节提供给有特殊要求、需要使用VMWare Workstatio制作镜像的用户参考。

本段落编写过程使用VMware Workstation 15 Pro(15.5.2)进行测试。

1. 创建虚拟机、加载系统ISO镜像、创建硬盘(存储为单个文件)

2. 设置内存容量、CPU核心数,开启虚拟化引擎。

3. 安装Oracle Linux操作系统(略)。

4. 安装完成后,重启前注意卸载安装镜像光盘。

5. 检查是否安装了virtio驱动,并进行安装

A. 第一步检查

代码语言:javascript复制
grep -i virtio /boot/config-$(uname -r)

a. 如CONFIG_VIRTIO_BLK和CONFIG_VIRTIO_NET参数取值为 y,表示该操作系统包含了Virtio驱动,则跳过此步骤,开始安装cloud-init。

b. 如结果中没有CONFIG_VIRTIO_BLK和CONFIG_VIRTIO_NET参数,则需编译内核(https://cloud.tencent.com/document/product/213/9929#.E4.B8.8B.E8.BD.BD.E5.92.8C.E7.BC.96.E8.AF.91.E5.86.85.E6.A0.B8)。

c. 如CONFIG_VIRTIO_BLK和CONFIG_VIRTIO_NET参数取值为 m,则继续检查B。

B. 第二步检查

代码语言:javascript复制
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio

a. 如返回结果包括virtio_blk、virtio.ko、virtio_pci.ko、virtio_ring.ko等,则可跳过此步骤,开始安装cloud-init。

b. 如返回结果为空,则需重新配置临时文件系统initramfs,使其包含virtio驱动。

C. 配置virtio驱动(如A测试结果为c项,且B测试结果为b项则执行)

a. 备份原文件

代码语言:javascript复制
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak

b. 重新配置临时文件系统

代码语言:javascript复制
mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initramfs-$(uname -r).img $(uname -r)

D. 重新进行检查

代码语言:javascript复制
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio

6. 安装并配置Cloud-init(略)。

7. 上传镜像至COS并导入自定义镜像(略)。

8. 注:在所有步骤中,请勿安装VMWare Tools。

九、 结论

本文档编写时,经测试,导入的镜像工作正常,控制台重置密码、实例监控等功能正常。

本文档操作过程总体简单易行、耗时适中。

十、 资源回收

1. 删除COS存储桶内上传的VMDK镜像。

2. 删除本地虚拟机,及相关虚拟硬盘文件。

3. (如不再需要)删除导入的自定义镜像。

4. (如不再需要)销毁创建的云服务器。

十一、 参考文档

1. 导入镜像概述:https://cloud.tencent.com/document/product/213/4945

2. 制作Linux镜像:https://cloud.tencent.com/document/product/213/17814

3. Linux检查Virtio驱动:https://cloud.tencent.com/document/product/213/9929

4. Linux安装cloud-init:https://cloud.tencent.com/document/product/213/12587

0 人点赞