内容


通过网络将 Linux 操作系统并行部署到 IBM PowerVM 上

使用 grub2-mknetdir 生成自定义 netboot 文件夹

Comments

简介

要将 Linux 安装在 IBM Power Systems™服务器上创建的 IBM® PowerVM® 逻辑分区 (LPAR) 上,可以使用以下方法:

  • 虚拟 DVD
  • DVD
  • 网络

本文将介绍如何使用 Grand Unified Bootloader (GRUB) 命令 grub2-mknetdir,在 PowerVM 逻辑分区上执行 Linux® 操作系统的并行网络安装。

每个 Linux 发行版都提供了一个用于实现安装的 ISO 映像。这个 ISO 映像在特定目录结构下提供了 core.elf 文件。要通过网络开始安装,此文件和该目录下的其他文件必不可少。

每个 Linux 发行版都遵循一种独特的目录结构,该结构提供了基于网络的初始引导所需的文件。

表 1. 不同 Linux 发行版的目录结构
发行版来自 TFTP 根目录的 core.elf 文件路径
Red Hat Enterprise Linux Server 7.x /boot/grub/powerpc-ieee1275/core.elf
SUSE Linux Enterprise Server 12.x /boot/ppc64le/grub2-ieee1275/core.elf
Ubuntu 16.04.xx LTS /install/netboot/ubuntu-installer/ppc64el/powerpc-ieee1275

在端到端的持续集成 (CI) 环境中,Linux 操作系统安装流程是自动化的,使用单一 Trivial File Transfer Protocol (TFTP) 服务器并行安装来自相同 Linux 发行版的不同 Linux 操作系统版本存在一些限制。存在该限制是因为 core.elf 文件对于两个操作系统版本而言位于相同的目录中。例如,SUSE Linux Enterprise Server 12, Service Pack 1 和 SUSE Linux Enterprise Server 12, Service Pack 2 的 core.elf 文件都位于 boot/ppc64le/grub2-ieee1275/ 目录下。

用于网络引导的 DHCP 服务器配置

要采用基于网络的方式将 Linux 安装在 PowerVM 逻辑分区上,需要一个 TFTP 服务器和一个动态主机配置协议 (DHCP) 服务器。TFTP 服务器提供了启动 Linux 安装所需的文件。DHCP 服务器用于配置网络并向 Linux 客户端提供 TFTP 服务器细节。TFTP 和 DHCP 服务器可能位于同一个系统或不同系统上。

前提条件

将 netboot 文件夹和文件从臃肿的 Linux 安装 ISO 映像复制到 TFTP 服务器上的特定目录。更新 DHCP 服务器配置文件,使其指向 TFTP 服务器上的 netboot 文件。在 DHCP 服务器配置部分会引用 core.elf 文件。

请参阅以下针对 SUSE Linux Enterprise Server 12 版本的 DHCP 服务器配置部分的样本。

备注:包含文件名的行指向网络引导所需的 core.elf 文件和其他相关文件的默认位置。

subnet 192.168.192.0 netmask 255.255.255.0 {
   allow bootp;
   option routers 192.168.192.1;
   option domain-name-servers 192.168.1.200;
   option domain-name "mydomain.com";
   group {
       next-server 192.168.192.217;
               filename "boot/ppc64le/grub2-ieee1275/core.elf";
           host tuleta4u-lp1.mydomain.com {
               hardware ethernet aa:bb:cc:50:d8:02;
               fixed-address 192.168.192.210;
               option host-name "tuleta4u-lp1";
           option tftp-server-name "192.168.192.217";
       }
   }
}

如何在 PowerVM 上并行安装 Linux 操作系统

要实现并行安装,必须确保 GRUB 命令从自定义位置选择了 core.elf 文件和受支持的文件。执行以下步骤,为实现并行 Linux 安装创建一个自定义文件夹:

  1. 使用 GRUB 命令 grub2-mknetdir,设置包含网络引导所需的文件的目录结构。GRUB 是 RHEL 7.x、SLES 12.x 和 Ubuntu LTS Little Endian for IBM Power Architecture®等较新的 Linux 发行版中提供的默认引导加载程序。

    对于 SLES 12 Service Pack 1,运行以下命令来生成必要文件:

    # grub2-mknetdir --net-directory=/var/lib/tftpboot --subdir=sles12sp1/boot/ppc64le/grub2-ieee1275
    Netboot directory for powerpc-ieee1275 created.配置您的 DHCP 服务器,使其指向
    /var/lib/tftpboot/sles12sp1/boot/ppc64le/grub2-ieee1275/powerpc-ieee1275/core.elf
    #
  2. 对 SLES 12 Service Pack 2 版本重复上一步。
    # grub2-mknetdir --net-directory=/var/lib/tftpboot --subdir=sles12sp2/boot/ppc64le/grub2-ieee1275
    Netboot directory for powerpc-ieee1275 created.配置您的 DHCP 服务器,使其指向
    /var/lib/tftpboot/sles12sp2/boot/ppc64le/grub2-ieee1275/powerpc-ieee1275/core.elf
    #

    可以在 core.elf 文件的十六进制转储格式中查看已更新的 netboot 目录结构。

    来自 SLES 12 SP1 的 core.elf 文件的内容:

    0026f10: 0101 0000 04a0 0000 0018 0000 0101 0000  ................
    0026f20: 0000 0000 0003 0000 0030 2f73 6c65 7331  .........0/sles1
    0026f30: 3273 7031 2f62 6f6f 742f 7070 6336 346c  2sp1/boot/ppc64l
    0026f40: 652f 6772 7562 322d 6965 6565 3132 3735  e/grub2-ieee1275
    0026f50: 0000 0000

    来自 SLES 12 SP2 的 core.elf 文件的内容:

    0026f10: 0101 0000 04a0 0000 0018 0000 0101 0000  ................
    0026f20: 0000 0000 0003 0000 0030 2f73 6c65 7331  .........0/sles1
    0026f30: 3273 7032 2f62 6f6f 742f 7070 6336 346c  2sp2/boot/ppc64l
    0026f40: 652f 6772 7562 322d 6965 6565 3132 3735  e/grub2-ieee1275
    0026f50: 0000 0000                                ....
  3. 更新 DHCP 服务器配置文件,使其指向新的目录布局。

    请参阅下面这个已更新的 DHCP 服务器配置文件:

    subnet 192.168.192.0 netmask 255.255.255.0 {
       allow bootp;
       option routers 192.168.192.1;
       option domain-name-servers 192.168.1.200;
       option domain-name "mydomain.com"";
       group {
           next-server 192.168.192.217;
                   filename "sles12sp2/boot/ppc64le/grub2-ieee1275/powerpc-ieee1275/core.elf";
               host tuleta4u-lp2.mydomain.com {
                   hardware ethernet aa:bb:cc:50:d6:02;
                   fixed-address 192.168.192.210;
                   option host-name "tuleta4u-lp2";
               option tftp-server-name "192.168.192.217";
           }
       }
    }
    
    subnet 192.168.192.0 netmask 255.255.255.0 {
       allow bootp;
       option routers 192.168.192.1;
       option domain-name-servers 192.168.1.200;
       option domain-name "mydomain.com";
       group {
           next-server 192.168.192.217;
                   filename "sles12sp1/boot/ppc64le/grub2-ieee1275/ powerpc-ieee1275/core.elf";
               host tuleta4u-lp1.mydomain.com {
                   hardware ethernet aa:bb:cc:50:d8:02;
                   fixed-address 192.168.192.211;
                   option host-name "tuleta4u-lp1";
               option tftp-server-name "192.168.192.217";
           }
       }
    }

结束语

本文重点介绍了通过网络在 IBM PowerVM 逻辑分区上并行安装 Linux 操作系统发行版的不同版本所需的设置,这些发行版是作为来宾系统运行的。

参考资料


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Linux
ArticleID=1053790
ArticleTitle=通过网络将 Linux 操作系统并行部署到 IBM PowerVM 上
publish-date=11292017