场景:

在使用云平台资源的时候,使用他人预先配置好的镜像,有时候会与自己所要搭建的环境产出冲突,而又不清楚这个镜像原先如何配置,导致排错困难,影响工作效率。

解决思路:

我们可以自己手工打造一个符合品高云标准的镜像,并将其作为自己的专属镜像,从而避免出现系统内部配置冲突。

具体步骤:

本次手工打造属于自己的 CentOS 6.5 镜像,具体步骤包括:将相关文件(操作系统 ISO、EC2config)上传到 S3 上、安装 linux、配置 linux、检测镜像。

1. 将相关文件上传到 S3 上

使用 S3 工具上传文件可参考 http://blog.bingocloud.cn/archives/348

本次实验所需的 CentOS-6.5-x86_64-bin-DVD1.iso 及 tools-linux.iso 可在:http://pan.bingosoft.net:81/drive/share/open_sharepage/40950d39-fd68-4c23-8a75-448d4bd00b34:bingo 上获取,获取密码为 QrQZ

1.1 下载 S3 工具:登录 BCC,点击【高级服务—对象存储服务—下载 S3 工具】:

1.2 点击【高级服务—对象存储服务—帮助】,提前记录下 S3 的服务 url 地址:

1.3 点击【平台管理—个人设置—账户密匙—查看钥匙对】,提前记录下 Access key 和 Secret key:

1.4 下载完成后进行解压,打开 s3browser-win32.exe,并填入:Account Name(BCC 账号名),Access key 和 Secret key,填写完毕后点击 Advanced:

1.5 勾选 “Use Amazon S3 compatible storage” 并输入刚刚记录的 BingoCloudOS 的 S3 的服务 url 地址。点击 Close 按钮后再点击 Add new account 按钮完成添加:

1.6 连接成功后,打开 ISO 桶,并点击 Upload 将 CentOS-6.5-x86_64-bin-DVD1.iso 和 tools-linux.iso 上传:

2. 安装 Linux

2.1 登录 BCC,点击【基础服务—镜像—更多—创建镜像】,输入镜像相关信息以及镜像大小,点击创建:

2.2 查找到刚创建的镜像,右击镜像列表项,选择【创建实例】,选择相应网络、安全组、存储和实例规模进行创建:

2.3 实例创建完成之后,点击【基础服务—实例—详情】:

2.4 在打开的详情界面中,点击【设备—搜索】找到 CentOS-6.5-x86_64-bin-DVD1.iso 和 tools-linux.iso 后,将其挂载到实例上,并点击保存,确认修改:

2.5 点击【基础服务—实例】,找到创建的实例,右键点击实例并选择远程连接:

2.6 进入远程连接端口,点击【组合键—Ctrl-Alt-Del】:

2.7 进入如下的安装界面,按【skip】键进入下一步:

2.8 Skip 后,将出现如下画面,直接点击【Next】:

2.9 选择磁盘驱动类型, 如这里为【Basic Storage Devices】:

2.10 填写主机名和配置网络,可直接采用默认:

2.11 选择的时区为【Asia/Shanghai】,去掉【System clock uses UTC】的勾选框:

2.12 输入 root 账户密码:

2.13 选择【Create Custom Layout】(自定义安装)安装的方式:

2.14 选择磁盘,点击【Create】按钮,进行创建磁盘分区的操作,选择【Standard Partition】(基本分区),点击【Create】按钮,然后划分【/】分区,选择【ext4】文件类型,选择【Fill to maximum allowable size】:

注意:【/】分区必须为第一分区, 即【vda】

2.15 完成基本分区的划分:

2.16 设置启动的分区:

2.17 根据实际情况选择操作系统类型,如有必要可选择【customize now】进行更详细的软件包选择:

点击【Next】按钮,接下来都是 Linux 的安装过程,至此完成 Linux 的安装。

2.18 完成安装之后,点击【reboot】重启,重启之后重新从 iso 引导,如图所示,选择【Boot from local drive】从本地磁盘启动:

3 配置 Linux

通过 root 账号及刚刚设立的密码进行远程连接:

3.1 时间配置:配置确保操作系统把硬件时间看作本地时间而非 UTC 时间

编辑【/etc/sysconfig/clock】文件,添加【UTC=false】:

3.2 配置可挂载虚拟磁盘:

编辑文件【/etc/rc.local】,添加【modprobe acpiphp】:

3.3 网卡配置:

3.3.1 编辑文件【/etc/udev/rules.d/70-persistent-net.rules】,会看到如下内容:

SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”12:23:34:56:67:78″, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″

将 “ATTR{address}==”12:23:34:56:67:78″” 改成 “ATTR{address}==”*”,即如下的内容:

SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”*”, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”eth0″

3.3.2 配置网卡配置文件:编辑文件【/etc/sysconfig/network-scripts/ifcfg-eth0】,修改成 BOOTPROTO=dhcp,ONBOOT=yes;并且删除 HWADDR 和 UUID 行,修改完如下:

3.4 防火墙设置

3.4.1 关闭防火墙,在终端运行命令:chkconfig iptables off;  chkconfig ip6tables off:

3.4.2 另外须关闭【selinux】,编辑文件【/etc/sysconfig/selinux】,将【SELINUX=enforcing】改为【SELINUX=disabled】:

3.5 主机名设置:设置 hostname

编辑文件【/etc/sysconfig/network】,删除 HOSTNAME 行:

3.6 配置 SSH 环境:

3.6.1 编辑文件【/etc/ssh/sshd_config】,将【GSSAPIAuthentication yes】改为【GSSAPIAuthentication no】:

3.6.2 编辑文件【/etc/ssh/ssh_config】,将【GSSAPIAuthentication yes】改为【GSSAPIAuthentication no】:

3.7 配置 Ec2Config:Ec2config 是一款工具,使用户可以初始化操作系统,并使虚拟机能与云平台构建联系,起到上传下达的作用

3.7.1 挂载 Linux 镜像制作的 Ec2Config 的虚拟光驱,如图所示:

Linux 操作系统的 ISO 虚拟光驱路径:/dev/scd0

Linux 镜像制作的 Ec2Config 的虚拟光驱路径:/dev/scd1

执行命令:mount /dev/scd1 /mnt,将虚拟光驱挂载在目录/mnt/下:

3.7.2 从/mnt/目录拷贝插件 Ec2config-v1.5.1.tar.gz 到/tmp/目录,如图所示:

3.7.3 进入目录/tmp/,解压插件 Ec2config-v1.5.1.tar.gz:

3.7.4 进入 Ec2config-v1.5.1 文件夹并安装插件:

3.8 内部关机

配置完毕后,执行命令:poweroff,操行关机操作。

3.9 实例打包,升级镜像

3.9.1 进入 BCC,点击【基础服务—实例】,选取刚刚创建的实例点击详情,在详情界面将刚刚挂载的 iso 文件全部卸载,卸载完如下:

3.9.2 卸载完成后,点击【基础服务—实例】,选择实例,右键点击后选择【实例打包】,打包方式选择【升级原镜像】:

3.9.3 在【基础服务—实例打包】中,找到打包的镜像,等待显示打包完成:

 4 镜像测试

4.1 将原先的实例进行销毁,并使用新镜像创建新实例:

4.2 测试实例能否通过 SSH 连接,选择实例,点击右键获取实例密码,并通过 Xshell 进行连接,能连接上则证明成功(Xshell 的使用方式详见这里):

4.3 测试实例网络是否存在问题,可通过 ping www.baidu.com 检测:

4.4 检测实例能否挂载品高云上的存储卷:

4.4.1 可先通过 fdisk -l 查看实例有多少块存储盘,可查看到实例此时只有一块系统盘:

4.4.2 在 BCC 中创建存储卷,点击【基础服务—存储—存储卷—新建】,填写存储名称及存储大小后,点击确认:

4.4.3 选择创建的存储卷,右键点击,选择【挂载实例】,在挂接实例中选择要测试的实例,点击【挂接实例】:

4.4.4 挂接成功后,返回 Xshell,输入 fdisk -l,此时可查看到实例多了一块 1G 的系统盘:

4.4.5 在 BCC 中将存储卷取消挂载,此时再通过 fdisk -l 查看,可发现实例只剩一块系统盘,证明此次创建的实例能够符合品高云的标准:

至此,属于自己并能与品高云相结合的 CentOS6.5 镜像制作完毕,也可以尝试去制作其它操作系统的镜像。

备注:对于打造符合品高云的镜像过程,还可以通过视频详细了解。

相关功能:

  • BCC-基础服务-计算-实例
  • BCC-基础服务-计算-镜像
  • BCC-基础服务-存储-存储卷
  • BCC-高级服务-对象存储服务-简单存储服务

操作版本:BingoCloudOS 7.0