制作云平台 Redhat 7得镜像流程

由于工作得需求,客户提供redhat 7.4 与redhat 7.6 版本得iso 镜像,让定制镜像上传到云平台。 这个制作镜像得方式适用于多种iso 镜像。 

此文记录一下云平台的镜像制作流程。以供参考

先描述一下我之前做镜像得方法比较笨: 我是将iso 镜像通过vmware 创建出一台虚机,对虚机做一些基础配置。在虚机上安装kvm 虚拟化得工具, 将iso 镜像在导入虚机种通过kvm创建一下虚机, 虚机创建出来后会进入安装得界面无法自己引导安装, 所以我们通过图形化界面virt-manager 或者console 方法进入引导得界面,将虚机生产出来,此时得虚机是允许在qcow2 里,然后我对这个镜像做定制得配置或者按照。------这个办法比较繁琐

今天介绍一下简单的创建qcow2 虚机得方法。

1. 通过vmware 创建新的虚机

2. 创建自定义虚机选择镜像

其他选择默认即可

3. 指定磁盘容量 指定将虚拟磁盘存储为单个文件

创建起来后是这个信息

4.  选择使用得镜像文件 保存开启虚机

5.  进入虚机部署界面

6. 根据自身需求选择语言

7. 根据需求自己选择要安装得信息

我这里选择配置时区为上海, 安装图形化操作系统

8. 设置手动分区

这里分了两区,这里分区如果报错不要用lvm 区分区,选择done ,保存配置。 

9. 选择安装

 自定义可以生产root 密码与创建普通用户

 

10. 创建完成后重启虚机,登录虚机里。 

 11. 配置ssh 可以登录。 

 

到此镜像就准备差不多了,如果需要下载安装报自己做一个网络源安装所需要得软件包 

12. 指定网卡名为eth0     (根据需求来做,需要就做,不需要跳过就好)

修改网卡配置文件

[root@localhost ~]# cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# mv ifcfg-ens33 ifcfg-eth0
[root@localhost network-scripts]# sed -i 's/ens33/eth0/g' ifcfg-eth0
[root@localhost network-scripts]# cat ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=59748da2-300f-41c4-9711-1052e2525cd8
DEVICE=eth0
ONBOOT=no

修改/etc/sysconfig/grub ,给GRUB_CMDLINE_LINUX参数中增加net.ifnames=0 biosdevname=0

[root@localhost ~]# cat /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"

添加udev网卡规则

[root@localhost ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules

ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="32", ATTR{address}=="自己本地得mac地址", NAME="eth0"

ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="32", ATTR{address}=="00:0c:29:ef:1d:b8", NAME="eth0"

生成系统引导文件

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-5ac3927ec296497d93cca4c4ef73aedc
Found initrd image: /boot/initramfs-0-rescue-5ac3927ec296497d93cca4c4ef73aedc.img
done
[root@localhost ~]#

 重启虚机,可以观察到网卡已经被更正为eth0 端口就

13. 新建网络源

[root@localhost ~]# cat /etc/yum.repos.d/redhat-aliyun.repo
[aliyun]
name=aliyun
baseurl= https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0

14. 添加多余得硬盘

 

lsblk   可以查看到新添加得硬盘

创建主分区,fdisk /dev/sdb   、 n 新建分区, p 选择主分区 ,默认分配所有空间  w 是保存配置。 

 

格式化分区制作文件系统  我们这是ext4 格式得

[root@localhost ~]# mkfs.ext4 /dev/sdb1

创建目录,挂载分区

[root@localhost ~]# mkdir /mnt/image

[root@localhost ~]# mount /dev/sdb1 /mnt/image

 

15. 安装生产镜像软件包

[root@localhost ~]# yum install qemu-img -y

将系统盘生成为qcow2镜像

[root@localhost ~]# qemu-img c onvert -f raw -O qcow2 /dev/sda /mnt/image/redhat7.4.qcow2
[root@localhost ~]# ls /mnt/image/redhat7.4.qcow2
/mnt/image/redhat7.4.qcow2
[root@localhost ~]# qemu-img info /mnt/image/redhat7.4.qcow2
image: /mnt/image/redhat7.4.qcow2
file format: qcow2
virtual size: 20G (21474836480 bytes)
disk size: 3.7G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false

 16. 将/mnt/image/redhat7.4.qcow2 拉取下来上传云平台即可。 若是需要安装其他得软件自行安装,安装完在将系统盘生成为qcow2镜像即可。 

原文地址:https://www.cnblogs.com/yk0625/p/15470806.html