共计 8321 个字符,预计需要花费 21 分钟才能阅读完成。
这篇文章主要介绍如何在 Power System 自动部署 Linux 开源系统,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、Power Linux 部署技术背景
1、背景简介
Linux 诞生至今,它作为一种开源操作系统,已经可以在大多数计算机体系结构上部署,涉及平台从嵌入式芯片系统到大型超级计算机。
一直以来 Power 服务器都支持 Linux 操作系统,但限于其应用范围,普及度和使用度都不高,而与具体系统部署相关描述就更加寥寥。随着 IBM 宣布在北京成立 Power System Linux 中心,这标志着 Power 服务器将在支持 Linux 企业服务方面发力,越来越多的企业级应用会运行在 Power Linux 上。相应地各种 Linux 系统的安装需求会越来越多,如果能使 Linux 自动部署将会给日常维护工作带来极大的方便。
2、Power System 7 逻辑分区的两种运行模式
与 x86 平台不同的是,Power 服务器的硬件可扩展性,硬件虚拟化功能。本文介绍基于 POWER7 的系统针对逻辑分区可以提供 2 种模式:P6/P6+ 模式和 P7 模式。其区别如下表所示:
注:同一台 POWER7 服务器内的不同 LPAR 可以运行在不同模式下。
通过以上对比,不难看出系统运行在 Power 7 模式下会使 Power system 的各方面性能得到更有效地发挥。
3、Linux 对 Power System 7 支持情况
许多 Linux 发行版都可以运行在 Power 系列服务器上,这里主要列举 Redhat 和 SuSE 对 Power 7 支持的具体情况:
Linux 在 Power 7 逻辑分区上支持处理器及线程情况:
值得注意的几点:
1. SLES10 SP3 and RHEL 5.5 在 POWER7 上只支持以 Power6 兼容模式运行
2. SLES 11 and RHEL6 默认情况下在 POWER7 上只支持以 Power7 模式运行
3. 运行 SLES 11 或 RHEL 6 的逻辑分区,如果以 Power6 模式从 Power6 系统上迁移到 Power7 上,当重新启动系统的时候将被自适应为 Power7 模式运行
4. 当 Power7 的逻辑分区被迁移到 Power6 以后,重启系统以后将以 Power6 模式运行
二、Power Linux 网络部署原理及方式
1、Power Linux 网络部署原理
Power 上 Linux 的网络安装原理与 x86 架构基本类似,不同的是:在系统启动的时,PowerPC 架构系统使用的是 Open Firmware,x86 架构系统使用的是 BIOS。这种差异就导致 Power 上无法直接使用 pxelinux 作为网络引导管理器 (boot loader) 来安装 Linux 系统,Yaboot 作为 PowerPC 下的网络引导管理器 (boot loader) 将代替 pxelinux 完成网络引导安装操作。
Yaboot 是一个针对 PowerPC 的网络引导管理器,主要用于基于 Open Firmware 启动引导的机器,包括 Apple Macintosh, IBM RS/6000, IBM pSeries and IBM OpenPower。
PowerPC 下的 Linux 网络启动过程,如下图所示:
PowerPC 下的 Linux 网络启动过程
网络启动过程描述:
在网络环境准备好后,被安装节点加电启动;
被安装节点选择启动方式:硬盘、光盘、网络。图中选择网络启动,发送 dhcp 请求;
安装服务器获取 dhcp 请求后,根据 dhcpd.conf 的配置给被安装节点分配 IP;
通过 yaboot 获取并启动内核初始化程序;
被安装节点内核启动,寻找安装介质并开始安装工作;
被安装节点系统安装成功。
2、Power Linux 网络部署方式
Power 平台下 Linux 可以选择两种网络安装方式:一种是基于 AIX NIM 服务器,另外一种是基于 Linux DHCP 服务器。
两种方式的使用特点具体如下:
基于 AIX NIM 服务器:
使用直接的 Bootp 请求
不要求提供网卡的 MAC 地址
需要被安装 Linux 的网络启动镜像文件(即,安装光盘目录下文件 images/netboot/ppc64.img 下同)
在 Linux 的网络启动镜像文件不大于 32MB 的情况下,本安装方式可以工作。
特别注意:当网络启动镜像文件大于 32MB 时,不得不采用另外的方式进行网络安装
(例如:RHEL6 GA 64 位系统的网络启动镜像文件 –images/netboot/ppc64.img 是大于 32MB 的,将不能直接采用此文件并基于这种方式网络安装)
基于 Linux DHCP 服务器:
使用广播的 Bootp 请求
要求提供网卡的 MAC 地址
使用 Yaboot 定义进行网络启动安装
没有网络启动镜像大小限制
根据以上特点,管理员可以根据自己硬件的环境情况,选择合适的安装方式。
三、以 Redhat 和 SuSE 为例介绍自动部署及实践
介绍网络自动化部署 Linux 的文章已经很多,这里就不再详细描述安装步骤,请参考相关文章。本节将偏重介绍 Linux 在具体的 Power 逻辑分区网络自动安装时应注意的问题和实践。
1、准备逻辑分区和安装介质
如果在逻辑分区上安装 Linux 系统,需要事先划分逻辑分区,并分配足够大小的硬盘空间。可以通过购买安装 CD/DVD,或者从网络上下载安装镜像文件。获得安装介质后,将对应安装文件迁移到共享服务器上。
注意:获得介质必须是针对 PowerPC 平台的安装文件; 检查实际存放的安装介质路径与 NFS 服务共享目录保持一致。
2、配置安装服务器
分别以两种安装方式介绍 TFTP/DHCP 的配置情况:
a. 基于 NIM 服务器:
TFTP 资源定义:将 Red Hat/SuSE Linux 网络引导镜像,从安装介质中复制到 /tftpboot 下,如下所示:
root@nim:/tftpboot ls -l * -rw-r--r-- 1 root system 11333732 Nov 15 2012 rhel5u5-netboot.img -rw-r--r-- 1 root system 11612524 Nov 15 2012 rhel5u6-netboot.img -rw-r--r-- 1 root system 15006880 Aug 27 17:19 rhel5u7-netboot.img -rw-r--r-- 1 root system 9512595 Nov 15 2012 sles10-sp3-inst32 -rw-r--r-- 1 root system 10682935 Nov 15 2012 sles10-sp3-inst64 -rw-r--r-- 1 root system 10082439 Nov 15 2012 sles10-sp4-inst32 -rw-r--r-- 1 root system 11307427 Sep 9 18:08 sles10-sp4-inst64 -rw-r--r-- 1 root system 19809567 Sep 9 18:18 sles11-inst64 -rw-r--r-- 1 root system 23733099 Sep 9 19:20 sles11-sp1-inst64
BOOTP 配置定义:
#/etc/bootptab: test1-rhel5:bf=/tftpboot/test1-rhel5:ip=192.168.0.10:ht=ethernet:sa=192.168.0.100:sm=255.255.255.0: test2-sles10:bf=/tftpboot/test2-sles10:ip=192.168.0.11:ht=ethernet:sa=192.168.0.100:sm=255.255.255.0: root@nim:/tftpboot ls -l test* lrwxrwxrwx 1 root system Sep 9 18:15 test1-rhel5 - rhel5u5-netboot.img lrwxrwxrwx 1 root system Sep 9 18:30 test2-sles10 - sles10-sp3-inst64
注:检查 /etc/tftpaccess.ctl 文件,确认网络安装需访问的目录定义生效
# NIM access for network boot allow:/tftpboot
在每次更改 Bootp 配置之后,需要运行如下命令使新的配置生效。
refresh -s inetd
b. 基于 Linux DHCP 服务器:
TFTP 资源定义:
root@dhcp:/tftpboot tree /tftpboot | |--pSeries/ | |-- rhel | | |-- vmlinuz | | `-- ramdisk.image.gz | |-- sles | | `-- sles11-sp2-inst64 | `-- yaboot `-- yaboot.conf
DHCP 配置情况:
#/etc/dhcp/dhcpd.conf option domain-name test.power.com option domain-name-servers 192.168.0.8; option routers 192.168.0.1; ddns-update-style none; ignore unknown-clients; allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 { default-lease-time 86400; max-lease-time 604800; host test1-rhel5 { next-server 192.168.0.102; filename pSeries/yaboot hardware ethernet AA:BB:CC:DD:11:22; fixed-address 192.168.0.10; } host test2-sles10 { next-server 192.168.0.102; filename pSeries/yaboot hardware ethernet AA:BB:CC:DD:11:33; fixed-address 192.168.0.11; } }
Yaboot 的配置定义:
default=test1-rhel5 timeout=100 image=pSeries/rhel/vmlinuz #指定内核镜像文件路径 label=test1-rhel5 initrd=pSeries/rhel/ramdisk.image.gz# 指定内存镜像文件路径 append= ks=nfs:9.181.0.102:/export/ksFiles/test1-rhel5.ks.cfg ksdevice=eth0\ initrd=pSeries/rhel/ramdisk.image.gz\ dns=192.168.0.8 ip=192.186.0.10 gateway=192.186.0.1 netmask=255.255.255.0\ method=nfs:9.181.0.102:/export/redhat5u5p\ keymap=us lang=en_GB.UTF-8 vnc #指定 kickstart 文件及网络安装参数 read-only image=pSeries/rhel/sles11-sp2-inst64#指定网络引导内核镜像文件路径 label=test2-sles10# 定义安装标签 append= autoyast=nfs://192.186.0.102:/export/autoyast/test2-sles10.yast.xml\ dns=9.181.2.101\install=nfs://192.186.0.102:/export/SLES11SP2\ hostip=192.186.0.11 gateway=192.186.0.1 netmask=255.255.255.0 #指定 AutoYaST2 文件及网络安装参数 # 此处添加”\”仅为显示需要,实际配置中均为连续一行。
3、NFS 服务定义:
共享对应安装介质存放目录,为网络安装提供安装介质连接。
root@dhcp:/tftpboot exportfs /export world
4、自动安装应答文件 kickstart/AutoYaST:
定义自动安装应答文件是自动部署中的重要环节。kickstart/AutoYaST2 分别是 Redhat 和 SuSE 下的自动化安装管理工具,在此工具中不仅可以定义几乎所有交互安装时需要的信息(包括指定分区大小,需要安装软件等),还可以定义在安装之前或之后执行自定义的脚本。这让系统安装操作范围得到很大的扩展,使得系统部署工作可以很轻松地满足各种系统安装需求。
关于这两个工具的使用说明,读者可以访问本文给出的相关连接进行了解,下面分别给出 Redhat 的 kickstart 和 SuSE 的 AutoYaST2 两个实例模板
#test1-rhel5.ks.cfg install nfs --server 192.168.0.102 --dir /export/redhat5u5p key --skip lang en_US.UTF-8 network --device eth0 --bootproto static --ip 192.168.0.10 --netmask 255.255.255.0 --gateway 192.168.0.1 --nameserver 192.168.0.8 --hostname test1-rhel5 rootpw 123456 firewall --disabled authconfig --enableshadow --enablemd5 selinux --permissive timezone --utc Asia/Shanghai reboot bootloader --location=partition --driveorder=sda --append= console=hvc0 rhgb quiet clearpart --all --initlabel --drives=sda part prepboot --fstype PPC PReP Boot --size=10 --ondisk=sda part / --fstype ext3 --size=1024 --ondisk=sda part swap --size=2048 --ondisk=sda part pv.5 --size=100 --grow --ondisk=sda volgroup basevg --pesize=32768 pv.5 logvol /tmp --fstype ext3 --name=tmp --vgname=basevg --size=1024 logvol /opt --fstype ext3 --name=opt --vgname=basevg --size=1024 logvol /usr --fstype ext3 --name=usr --vgname=basevg --size=2976 logvol /var --fstype ext3 --name=var --vgname=basevg --size=2048 logvol /home --fstype ext3 --name=home --vgname=basevg --size=1024 %packages @admin-tools @base @core @editors @base-x @gnome-desktop %post echo search test.power.com /etc/resolv.conf echo nameserver 192.168.0.8 /etc/resolv.conf BOOT=`nvsetenv | grep boot-device | sed s/:.*$/,0/ | cut -d = -f 2` nvsetenv boot-device $BOOT #test2-sles10.yast.xml 由于篇幅限制,本例在保证定义完整情况下对具体配置有所删减,请使用时参考相关文档 ?xml version= 1.0 ? !DOCTYPE profile SYSTEM /usr/share/autoinstall/dtd/profile.dtd profile xmlns= http://www.suse.com/1.0/yast2ns xmlns:config= http://www.suse.com/1.0/configns configure networking interfaces config:type= list interface # 在此处定义网络配置信息,具体请格式参考 AutoYaST2 文档 /interface /interfaces /networking scripts # 可以在此处定义安装前 / 后执行的脚本,具体请格式参考 AutoYaST2 文档 /scripts /configure install bootloader global activate true /activate boot_chrp_custom /dev/sda1 /boot_chrp_custom /global loader_type ppc /loader_type /bootloader general clock hwclock localtime /hwclock timezone Asia/Shanghai /timezone /clock /general partitioning config:type= list drive device /dev/sda /device initialize config:type= boolean true /initialize use all /use /drive /partitioning runlevel default 3 /default /runlevel users config:type= list user encrypted config:type= boolean false /encrypted home /root /home shell /bin/bash /shell uid 0 /uid user_password 123456 /user_password username root /username /user /users software packages config:type= list package perl-Digest-MD4 /package /packages patterns config:type= list pattern Basis-Devel /pattern pattern x11-64bit /pattern /patterns /software /install /profile
5、HMC 中网络启动逻辑分区
本文介绍在 HMC 中使用 lpar_netboot 命令,通过指定网络引导服务器来启动逻辑分区。
详细命令如下所示:
启动 test1-rhel5
lpar_netboot -f -i -T off -t ent -s auto -d auto -S 192.168.0.100 -G 192.168.0.1 -C 192.168.0.0 LPAR01 test1-rhel5 POWER01
启动 test2-sles10
lpar_netboot -f -i -T off -t ent -s auto -d auto -S 192.168.0.100 -G 192.168.0.1 -C 192.168.0.0 LPAR02 test1-sles10 POWER01
通常情况下,在运行启动命令大约十几分钟后,整个安装部署工作将完成。你将得到一个全新的运行在 Power System 7 上的按照模板定制好的 pLinux 环境。
以上是“如何在 Power System 自动部署 Linux 开源系统”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!