Solaris 11的自动化安装(AI server)的搭建
solaris 11 总体比solaris 10很多变动的地方,可以去官方网站上面学习:http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.html
先讲讲我的运行环境:SunOS test13 5.11 11.1 i86pc i386 i86pc, 运行在虚拟机ESX server上面
一:首先搭建dhcp server
1. root@test13:/repo/repoea# pkg list | grep dhcp
network/dhcp/dhcpmgr 0.5.11-0.175.1.0.0.24.2 i--
network/dhcp/dhcpmgr/locale 0.5.11-0.175.1.0.0.23.1134 i--
service/network/dhcp 0.5.11-0.175.1.0.0.24.2 i--
service/network/dhcp/datastore/binfiles 0.5.11-0.175.1.0.0.24.2 i--
service/network/dhcp/isc-dhcp 4.1.0.6-0.175.1.0.0.24.0 i--
2.安装dhcp包, pkg install network/dhcp/dhcpmgr network/dhcp/dhcpmgr/locale service/network/dhcp service/network/dhcp/datastore/binfiles service/network/dhcp/isc-dhcp
3.配置dhcp
dhcpconfig -D -r SUNWfiles -p /var/dhcp
dhcpconfig -N 10.200.117.0 -t 10.200.117.1(-N代表网段,-t代表默认路由)
dhtadm -A -m Solaris-11-ea-sparc -d ':DNSdmain=cdc.veritas.com:DNSserv=10.200.117.18:BootSrvA=10.200.117.245:BootFile="http://10.200.117.245:5555/cgi-bin/wanboot-cgi":Subnet=255.255.255.0:Router=10.200.117.1:' (创建宏,其中BootFile后面是创建的ai service的服务,用installadm create-service生成以后会有这个bootfile)
将客户机加入到这个宏里面:
pntadm -A 10.200.117.244 -h test11 -c test11 -m Solaris-11-ea-x86 -i 01000C2929BC02 -s 10.200.117.245 -f PERMANENT -e "01/01/2080" 10.200.117.0(-i是指网卡的mac地址前面要加01,-A是增加 -h是指客服机hostname,-m是指宏,-s是指server ip,-f是指不过期,10.200.117.0指你的网段)
dhcpconfig -S -r(重启dhcp)
确保这个服务是起来了的:svc:/network/dhcp-server:default(用svcs -a|grep dhcp查看下,没起来把服务开启)
用pntadm -L 查看你简历的网段
root@test13:/repo/repoea# pntadm -L
10.200.117.0
pntadm -P 10.200.117.0查看所在网段的客服机器
root@test13:/repo/repoea# pntadm -P 10.200.117.0
Client ID Flags Client IP Server IP Lease Expiration Macro Comment
01000C2929BC02 01 10.200.117.244 10.200.117.245 Forever Solaris-11-ea-x86 test11
dhtadm -P 查看简历的宏
root@test13:/repo/repoea# dhtadm -P
Name Type Value
==================================================
Solaris-11-ea-x86 Macro :DNSdmain=cdc.veritas.com:DNSserv=10.200.117.18:BootSrvA=10.200.117.245:BootFile="default-i386/boot/grub/pxegrub2":Subnet=255.255.255.0:Router=10.200.117.1:
Solaris-11-ea-sparc Macro :DNSdmain=cdc.veritas.com:DNSserv=10.200.117.18:BootSrvA=10.200.117.245:BootFile="http://10.200.117.245:5555/cgi-bin/wanboot-cgi":Subnet=255.255.255.0:Router=10.200.117.1:
二:第一步的时候遗留了一个问题就是生成bootfile,现在我们要创建ai service
1:我的一些iso资源,包括solaris 11 U1的x86和sparc,还有就是repo做IPS
root@test13:/mnt/os/OS/solaris11/U1# ls
sol-11_1-24b-ai-sparc.iso sol-11_1-24b-ai-x86.iso sol-11_1-24b-repo-p01.iso sol-11_1-24b-repo-p02.iso
2:创建文件系统mount点
zfs create -o compression=on -o mountpoint=/ai rpool/ai(ai server里面有manifest和profile等目录,存放manifest和profile)
zfs create -o compression=on -o mountpoint=/repo rpool/repo(做IPS)
cd /ai;mkdir aiboot manifest
cd /mnt;mkdir nfs iso
mount -o vers=3 10.200.117.71:/lab /mnt/nfs
svcadm enable svc:/network/dns/multicast:default
svcadm enable network/tftp/udp6
3:创建ai service
installadm create-service -n Solaris-11-ea-sparc -s /mnt/nfs/iso/ea/sol-11-ea-ai-sparc.iso -d /ai/aiboot/Solaris-11-ea-sparc
installadm create-service -n Solaris-11-ea-x86 -s /mnt/nfs/iso/ea/sol-11-ea-ai-x86.iso -d /ai/aiboot/Solaris-11-ea-x86
这里会生成一个bootfile文件,记住这个名字,这个名字要和dhcp server的宏相关联
root@test13:/ai/profile# installadm create-service -n Solaris-11-ea-sparc -s /mnt/os/OS/solaris11/U1/sol-11_1-24b-ai-sparc.iso -d /ai/aiboot/Solaris-11-ea-sparc
Creating service from: /mnt/os/OS/solaris11/U1/sol-11_1-24b-ai-sparc.iso
Setting up the image ...
Creating sparc service: Solaris-11-ea-sparc
Image path: /ai/aiboot/Solaris-11-ea-sparc
Service discovery fallback mechanism set up
Creating SPARC configuration file
Refreshing install services
Creating default-sparc alias
Service discovery fallback mechanism set up
Creating SPARC configuration file
No local DHCP configuration found. This service is the default
alias for all SPARC clients. If not already in place, the following should
be added to the DHCP configuration:
Boot file: http://10.200.117.245:5555/cgi-bin/wanboot-cgi
Refreshing install services
3:关联manifest到ai service
installadm add-manifest -n Solaris-11-ea-x86 -m manifest-ea -f /ai/manifest/manifest-ea.xml -d(create-manifest也可以,我试过,-d的参数代表默认的)
installadm add-manifest -n Solaris-11-ea-sparc -m manifest-ea -f /ai/manifest/manifest-ea.xml -d
manifest的一个模板xml文件是:
root@test13:/mnt# cat /ai/manifest/manifest-ea.xml
<!DOCTYPE auto_install SYSTEM "file:///usr/share/install/ai.dtd.1">
<auto_install>
<ai_instance name="manifest-GA">
<target>
<logical>
<zpool name="rpool" is_root="true">
<filesystem name="export" mountpoint="/export"/>
<filesystem name="export/home"/>
<be name="solaris"/>
</zpool>
</logical>
</target>
<software type="IPS">
<destination>
<image>
<!-- Specify locales to install -->
<facet set="false">facet.locale.*</facet>
<facet set="true">facet.locale.de</facet>
<facet set="true">facet.locale.de_DE</facet>
<facet set="true">facet.locale.en</facet>
<facet set="true">facet.locale.en_US</facet>
<facet set="true">facet.locale.es</facet>
<facet set="true">facet.locale.es_ES</facet>
<facet set="true">facet.locale.fr</facet>
<facet set="true">facet.locale.fr_FR</facet>
<facet set="true">facet.locale.it</facet>
<facet set="true">facet.locale.it_IT</facet>
<facet set="true">facet.locale.ja</facet>
<facet set="true">facet.locale.ja_*</facet>
<facet set="true">facet.locale.ko</facet>
<facet set="true">facet.locale.ko_*</facet>
<facet set="true">facet.locale.pt</facet>
<facet set="true">facet.locale.pt_BR</facet>
<facet set="true">facet.locale.zh</facet>
<facet set="true">facet.locale.zh_CN</facet>
<facet set="true">facet.locale.zh_TW</facet>
</image>
</destination>
<source>
<publisher name="solaris">
<origin name="http://10.200.117.245:10002"/>
</publisher>
</source>
<!--
By default the latest build available, in the specified IPS
repository, is installed. If another build is required, the
build number has to be appended to the 'entire' package in the
following form:
<name>pkg:/entire@0.5.11-0.build#</name>
-->
<software_data action="install">
<name>pkg:/entire@latest</name>
<name>pkg:/group/system/solaris-large-server</name>
<name>pkg:/slim_install</name>
</software_data>
</software>
</ai_instance>
</auto_install>
红色部分是你的IPSserver的地址和端口
4:创建profile
installadm create-profile -n Solaris-11-ea-sparc -f /ai/profile/10.200.117.244.xml -p profile-ea
installadm create-profile -n Solaris-11-ea-x86 -f /ai/profile/10.200.117.244.xml -p profile-ea
profile xml文件就不贴出来了,太长了,官网有
5:创建IPS
lofiadm -a /mnt/os/mnt/os/OS/solaris11/U1/sol-11_1-24b-repo-p01.iso
mount -F hsfs /dev/lofi/1 /mnt/iso
rsync -aP /mnt/iso/repo/ /repo/repoea/
/usr/lib/pkg.depotd -d /repo/repoea -p 10002 > /dev/null&
这个只是将p01的包拷入到/repo/repoea/,再重复上面的操作,然后将p02也拷入到/repo/repoea/
好了,我们现在就可以重启机器通过ai server 自动安装系统了
Solaris 11的自动化安装(AI server)的搭建的更多相关文章
- 自动化安装SQL Server+SP就那么简单
随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...
- Solaris 11配置IPS安装系统包(类似linux中的yum源)
参考:http://blog.chinaunix.net/uid-8860-id-3777457.html 一. 概述: Solaris 11被称为第一个云操作系统,因此在很多方面体现了云系统的一些特 ...
- Solaris 11 system package 安装与更新(如:assembler)
最近在VirtualBox虚拟机中导入了Solaris 11.3.在里面安装Oracle数据库时,先行条件检查没通过,提示缺少程序包assembler. 在网上看了许多,这方面的信息还比较少.最后在O ...
- Solaris 11, gcc 的安装
注意点在于, 头文件在另外一个包system/header里,需要另外安装 pkg pkg install system/header
- solaris 11 stdio.h: No such file or directory
http://www.zendo.name/solaris-11-stdio-h%EF%BC%9A-no-such-file-or-directory/ Posted on 2012 年 3 月 23 ...
- 动化安装SQL Server+SP就那么简单
随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...
- azure 云上MySQL最新版本 MySQL5.7.11 批量自动化一键式安装 (转)
--背景云端 以前都喜欢了源码安装mysql,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了. 现在业务发 ...
- MySQL最新版本 MySQL5.7.11 批量自动化一键式安装(转)
--背景云端 以前都喜欢了源码安装MySQL,总觉得源码是高大上的事情,不过源码也需要时间,特别是make的时候,如果磁盘和cpu差的话,时间很长很长,在虚拟机上安装mysql尤其甚慢了. 现在业务发 ...
- 自动化安装smokeping-2.6.11脚本
自动化安装Smokeping-2.6.11脚本 一.目的 1.1 监控目的 为方便监测各数据中心网络状况,自定义全国各节点,从而发现网络异常,判断网络故障. 1.2 本文目的 快速部署Smokepin ...
随机推荐
- Android使用HttpClient向服务器传输文件
HttpClient是Apache Jakarta Common下的子项目,可以用来提供功能丰富的支持HTTP协议的客户端编程工具包,这几天写客户端的时候遇到个问题,“客户端需要向服务器发送Post请 ...
- nginx access_log 完全关闭
最近在配置本地nginx开发环境时,发现一个问题,当server段不指定access_log时,并且http段中也未指定任何 access_log参数时,它会默认写到logs/access.log这个 ...
- 基于visual Studio2013解决算法导论之020单链表
题目 单链表操作 解决代码及点评 #include <iostream> using namespace std; struct LinkNode { public: LinkNo ...
- 从零開始开发Android版2048 (四) 分数、重置、结束
这一篇的内容主要是在上一篇的基础上,增加分数计算(包含当前分数和最高分数).游戏结束的推断以及游戏界面的重置这三个部分的功能. 一.分数的计算和保存 首先,2048这个游戏的分数包含 ...
- linux下的二进制文件的编辑和查看
linux下的二进制文件的编辑和查看 http://blog.csdn.net/wangxiaoqin00007/article/details/6618003 一.在Linux下查看二进制文件的软件 ...
- 嵌入式环境:挂载开发板根NFS文件系统失败
挂载开发板根NFS文件系统的时候,发现了下面的问题: Looking up port of RPC 100003/2 on 192.168.2.109rpcbind: server 192.168.2 ...
- LifecyclePhaseNotFoundException(转)
This error is generated if you try to invoke a build command that Maven does not understand. In gene ...
- Linux进程阻塞的相关知识
1.如果驱动程序无法立即满足要求,该如何响应? 当数据不可用时,用户可能调用read:或者进程试图写入数据,但因为输出缓冲区已满,设备还未准备好接受数据.调用进程通常不会关心这类问题,程序员只会简单调 ...
- 《大象UML》看书笔记2:
<大象UML>看书笔记2 抽象角度: 在为现实世界建模的时候,首先要搞清楚有多 ...
- 使用ssh远程执行命令批量导出数据库到本地(转)
前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,1 ...