十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍如何在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
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 由于篇幅限制,本例在保证定义完整情况下对具体配置有所删减,请使用时参考相关文档#在此处定义网络配置信息,具体请格式参考AutoYaST2文档 #可以在此处定义安装前/后执行的脚本,具体请格式参考AutoYaST2文档 true /dev/sda1 ppc localtime Asia/Shanghai /dev/sda true 3 false /root /bin/bash 0 123456 root perl-Digest-MD4 Basis-Devel x11-64bit
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开源系统”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!