由于公司最近要求部分项目上线到Azure云上,要求操作系统使用的Redhat 8.x,而且必须加固

而在Azure官网提供的镜像中,又没有Redhat,于是只有自己自定义Redhat镜像,最后加固,作为公司通用的基础镜像

于是在此记录部分重要的注意事项,及一些重要的操作过程,使用 Hyper-V 管理器准备RHEL 8 虚拟机。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文假定已经从 Red Hat 网站获取 ISO 文件并将 RHEL 映像通过Hyper-V 管理器,安装到虚拟硬盘 (VHD),RHEL 安装说明,如下:

1、Azure 不支持 VHDX 格式。 Azure 仅支持固定 VHD。

可使用 Hyper-V 管理器将磁盘转换为 VHD 格式,也可以使用 convert-vhd cmdlet。

如果使用 VirtualBox,则选择“固定大小”,而不是在创建磁盘时默认动态分配选项。

2、Azure 支持 Gen1(BIOS 引导)和Gen2(UEFI 引导)虚拟机。

3、VHD 允许的最大大小为 1,023 GB

4、支持逻辑卷管理器 (LVM),该管理器可以在 Azure 虚拟机中的 OS 磁盘或数据磁盘上使用。

但是,通常建议在 OS 磁盘上使用标准分区而不是 LVM。

这种做法可以避免 LVM 名称与克隆的虚拟机冲突,尤其是当需要将操作系统磁盘附加到另一台相同的虚拟机进行故障排除时

5、对装载通用磁盘格式 (UDF) 文件系统的内核支持是必需的。

在 Azure 上首次启动时,附加到来宾的 UDF 格式媒体会将预配配置传递到 Linux 虚拟机。

Azure Linux 代理必须能够装载 UDF 文件系统以读取其配置并预配虚拟机,如果没有此支持,预配将失败!

6、不要在操作系统磁盘上配置交换分区

7、Azure 上的所有 VHD 必须已将虚拟大小调整为 1MB。 从原始磁盘转换为 VHD 时,必须确保在转换前原始磁盘大小是 1MB 的倍数。

+++RHEL 8(使用 Hyper-V 管理器)过程++++++++++++++++++++++++++++++++++++++++++++++++++++

详细的过程,可以参考如下URL:

https://docs.microsoft.com/zh-cn/azure/virtual-machines/linux/redhat-create-upload-vhd#rhel-8-using-hyper-v-manager

1、在 Hyper-V 管理器中安装完Redhat 8.x 操作系统后,通过控制台登录上(也可以配置上网络,ssh连接上)

2、通过运行以下命令,确保网络管理器服务会在引导时启动:

sudo systemctl enable NetworkManager.service

3、将网络接口配置为在启动时自动启动,并使用 DHCP

nmcli con mod eth0 connection.autoconnect yes ipv4.method auto

4、注册 Red Hat 订阅,以通过运行以下命令来启用来自 RHEL 存储库中的包的安装(也可以后续在Azure上操作):

# sudo subscription-manager register --auto-attach --username=XXX --password=XXX
# 补充:取消注册订阅,可以运行以下命令
# sudo subscription-manager unregister

5、在 grub 配置中修改内核引导行,使其包含 Azure 的其他内核参数并启用串行控制台。

# 删除当前的 GRUB 参数:
grub2-editenv - unset kernelopts # 在文本编辑器中编辑 /etc/default/grub,并添加以下参数
# 遇到相同的选项,可以删除,只保留如下3行即可,笔者把lvm相关的都删除了,可以正常启动的
GRUB_CMDLINE_LINUX="rootdelay=300 console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 earlyprintk=ttyS0 net.ifnames=0"
GRUB_TERMINAL_OUTPUT="serial console"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

6、完成 /etc/default/grub 编辑后,运行以下命令以重新生成 grub 配置

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# 对于启用了 UEFI 的 VM,请运行以下命令(笔者因为没有使用到,因此使用不到如下命令):
# sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

7、请确保 SSH 服务器已安装且已配置为在引导时启动(默认采用此配置)。 修改 /etc/ssh/sshd_config 以包含以下行:

ClientAliveInterval 180

最后,检查一下网卡配置文件,删除UUID或者其他选项,保障sshd服务是开机自动启动的,然后重启一下,保障系统能正常重新启动

当然还有一些其他步骤,这里先不在 Hyper-V 管理器 中操作了

8、重启没有问题,就关机,通过 Hyper-V 管理器将虚拟机磁盘格式转换为VHD,最后上传到Azure下的Blob存储中

9、使用Blob中的VDH磁盘文件,创建托管磁盘,最后再使用这个磁盘创建一个VM

10、然后根据官网文档的步骤做完善,最后生成映像,通过对映像创建的虚拟机,进行OS hardening

当然,这里笔者在本应该在Hyper-V 管理器上的操作,缩减了很多(只做了一些相对重要的操作),

然后放到Azure上继续完善,主要是为了快速的实现Hyper-V到Azure云,可以避免一些错误,节省时间

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/15034862.html

 

为Azure-云准备一个基于Red Hat 8.x 的虚拟机镜像的更多相关文章

  1. 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.6】

    不为什么,就为了方便搜索,特把红帽EL 5.EL6.EL7 的各版本整理一下,共享出来.原文链接正式发布 7.6 :RedHat Enterprise Server 7.6 for x86_64:rh ...

  2. memcache安装 基于Red Hat 7.4

    Linux版本为 Red Hat 7.4 一.安装 1.下载:http://memcached.org/downloads 解压: tar -xzvf memcached-1.5.3.tar.gz 得 ...

  3. 红帽 Red Hat Linux相关产品iso镜像下载【百度云】(转载)

    不为什么,就为了方便搜索,特把红帽EL 5.EL6.EL7 的各版本整理一下,共享出来.正式发布 6.9 :RedHat Enterprise Server 6.9 for x86_64:rhel-s ...

  4. 红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新7.2】

    RedHat Enterprise Server 6.7 for i386 Boot Disk:rhel-server-6.7-i386-boot.iso SHA-256 Checksum: 798d ...

  5. (转)红帽 Red Hat Linux相关产品iso镜像下载【百度云】【更新6.7 Boot Disk】

    不为什么,就为了方便搜索,特把红帽EL 5.EL6 的各版本整理一下,共享出来. RedHat Enterprise Server 6.7 for i386 Boot Disk:rhel-server ...

  6. [转]Red Hat Linux相关产品iso镜像下载【百度云】

    超强汇总!献上大佬链接:http://www.linuxfly.org/post/659/ 还有一些可用链接: 下面的直接复制到迅雷下载,链接是打不开的. RHEL 5.4 ISO下载http://r ...

  7. ORACLE 11G 单实例 磁盘文件系统 DG 归档日志删除脚本 基于RED HAT LINUX 5.3 X86 64BIT

    近期做个DG的归档日志删除, [oracle@.local logs]crontab -l * 8 * * * sh /home/oracle/dbscripts/del_arc.sh 该脚本分别调用 ...

  8. docker19.03制作一个基于centos8的带有nfs4服务的镜像

    一,下载centos的image 1,下载centos最新image [root@localhost ~]# docker pull centos 2,查看是否成功下载到本地image [root@l ...

  9. Red Hat Linux相关产品iso镜像下载

    Linux系统各发行版镜像下载(持续更新) http://www.linuxfly.org/post/659/ http://www.linuxidc.com/Linux/2007-09/7399.h ...

随机推荐

  1. Netty源码解读(三)-NioEventLoop

    先看看EventLoop类图 我们在Netty第二篇文章中的代码中,看到有多次用到eventLoop.execute()方法,这个方法就是EventLoop开启线程执行任务的关键,跟踪进去看看 // ...

  2. 一步一步在angular11中添加多语言支持

    1.新建angular 2.添加@angular/localize ng add @angular/localize 3.设置默认locale_id,在app.module.ts中 import { ...

  3. 2022-7-11第五组 pan小堂 js基础

    ##为何学习 JavaScript? ###JavaScript 是 web 开发者必学的三种语言之一: HTML 定义网页的内容 CSS 规定网页的布局 JavaScript 对网页行为进行编程 在 ...

  4. 技术分享 | 在MySQL对于批量更新操作的一种优化方式

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 作者:景云丽.卢浩.宋源栋 GreatSQL社区原创内容未经授权不得随意使用,转 ...

  5. 什么是hive的静态分区和动态分区,它们又有什么区别呢?hive动态分区详解

    面试官问我,什么是hive的静态分区和动态分区,这题我会呀. 简述 分区是hive存放数据的一种方式,将列值作为目录来存放数据,就是一个分区,可以有多列. 这样查询时使用分区列进行过滤,只需根据列值直 ...

  6. mui 登录跳转到首页之后顶部选项卡不灵敏问题

    前段时间开发一个用mui开发app的时候遇到了登录跳转到首页之后顶部选项卡会失灵的问题,多次尝试之后终于解决了,趁现在还有点印象记录一下吧. 一开始我是用mui.openWindow来新开首页的,出了 ...

  7. Java学习--基础

    java学习 基础 Java三大版本 javase 标准版 占领桌面端(基础) javame 移动版 嵌入式开发.占领手机端 javaee 企业版 占领服务器端 Java的特性和优势 跨平台.可移植性 ...

  8. centos/windows服务器,Mysql数据库表结构损坏-已解决

    [问题原因]服务器突然断电 [故障报告]数据库表结构损坏 [解决思路]进入强制恢复模式,备份库表及数据重建 故障发现 周末公司断电,周一启动数据库就直接报错了 查看日志 上面标记的log,明确表示是非 ...

  9. java-Date类与集合(上)

    1.1java.util.Data data的每一个势力用于表示一个时间点.由于打他存在设计缺陷,所以大部分操作时间的方法都被声明为过时的,不建议使用 打他的每一个实力内维护这一个long值,该值表示 ...

  10. ArkUI 条件渲染

    前言 在有些情况下,我们需要根据实际的业务来控制标签是否渲染到真实 DOM 中.因此,条件渲染就派上用场了,它分为if...elif/else和show两种. show 允许标签渲染到真实 DOM 中 ...