AI Install Server Creation
AI Install Server Creation
Install the Oracle server with Solaris 11.4 (or another version?)
Set hostname & IP address of your choice. (example – ai-svr 192.200.8.146)
Pick a location on the server where the media will be installed, this needs to be a reasonable size! (this should be on its own ZFS filesystem if possible)
For example; zpool create IPS raidz “list disks here”
Download a FULL repo & installation guide from oracle cloud…..
https://www.oracle.com/uk/solaris/solaris11/downloads/solaris-downloads.html
Install full repo as per installation guide downloaded .
Download the latest Solaris SRU from Oracle (optional?)
Download the installation file from Oracle
Copy all these files to a directory on the new ai-server!
unzip the installation guide, here you find the installation script “install-repo.ksh”
create the REPO directory structure.
pkgrepo create /IPS/Solaris11_4/publisher/solaris
use this to create the repo
For example; ./install-repo.ksh -c -v -d /IPS/Solaris11_4
Create the infrastructure.
svccfg -s pkg/server add Solaris11_4
svccfg -s pkg/server:Solaris11_4 addpg pkg application
svccfg -s pkg/server:Solaris11_4 setprop pkg/port=84
svccfg -s pkg/server:Solaris11_4 setprop pkg/inst_root=/IPS/Solaris11_4
original server in computer room has this path below……………
/IPS/Solaris11_4/publisher/solaris
svccfg -s application/pkg/server:Solaris11_4 setprop pkg/readonly=true
svccfg -s pkg/server list
svccfg -s pkg/server:Solaris11_4 addpg general framework
svccfg -s pkg/server:Solaris11_4 addpropvalue general/complete astring: Solaris11_4
svccfg -s pkg/server:Solaris11_4 addpropvalue general/enabled boolean: true
svcadm refresh application/pkg/server:Solaris11_4
svcadm enable application/pkg/server:Solaris11_4
svcs -a |grep server
svccfg -s pkg/server:Solaris11_4 listprop
svcadm enable svc:/network/dns/multicast:default
root@ai-svr:/IPS# svcs -a |grep svc:/network/dns/multicast:default
online 12:33:41 svc:/network/dns/multicast:default
create the DHCP range (-c is for how many IP’s you require)
root@ai-svr:/IPS# installadm set-server -i 192.200.8.1 -c 10
Cannot do '-i|--ip-start <dhcp_ip_start> -c|--ip-count
<count_of_ipaddr>' as AI updates to DHCP server configuration are
disabled.
Would you like to also enable DHCP management (-m|--manage-dhcp)? [y|N]: y
Creating DHCP server configuration file
Warning: /etc/inet/dhcpd4.conf is missing nameserver entries. This must be fixed if your install clients will use DNS to resolve hostnames.
Adding DHCP IP range: 192.200.8.1 [10]
Unable to determine a route for network 192.200.8.0. Setting the route temporarily to 0.0.0.0; this should be changed to an appropriate value in the DHCP configuration file. Please see dhcpd(8) for further information.
Warning: AI server will now manage DHCP
Changed Server
Enabling SMF service svc:/network/dhcp/server:ipv4
installadm create-service -n s11_4_sparc -p solaris=http://192.200.8.146:84 -a sparc
OK to use subdir of /export/auto_install to store image? [y|N]: y
0% : Creating service from: pkg:/install-image/solaris-auto-install
0% : Using publisher(s):
0% : solaris: http://192.200.8.146:84/
5% : Refreshing Publisher(s)
15% : Planning Phase
25% : Download Phase
62% : Actions Phase
91% : Finalize Phase
91% : Creating sparc service: s11_4_sparc
91% : Image path: /export/auto_install/s11_4_sparc
91% : Setting "solaris" publisher URL in default manifest to:
91% : http://192.200.8.146:84/
91% : Creating default-sparc alias
91% : Setting "solaris" publisher URL in default manifest to:
91% : http://192.200.8.146:84/
91% : Setting the default SPARC bootfile(s) in the local DHCP configuration to:
91% : http://192.200.8.146:5555/cgi-bin/wanboot-cgi
100% : Created Service s11_4_sparc
100% : Refreshing SMF service svc:/system/install/server:default
100% : Restarting SMF service svc:/network/dhcp/server:ipv4
pkg set-publisher -P -g http://192.200.8.146:84 solaris
root@ai-svr:/etc/inet# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F http://192.200.8.146:84/
solaris origin online F http://pkg.oracle.com/solaris/release/
root@ai-svr:/etc/inet# pkg unset-publisher solaris
Updating package cache 1/1
Create manifests & profiles…..
create (using ai-wizard) or copy (from original ai server - remember to change the Solaris version number and publisher!) manifests & profiles to /export/manifests & /export/profiles directories)
use the create-manifest to associate the manifest (this must be done on all new manifests or the system will not see the manifest!)
installadm create-manifest -n s11_4_sparc -f ./sparc_mirror_disk_11_4.xml -m sparc_mirror_disk_11_4 (use this if you are in the “/export/manifests” directory, otherwise path it “-f /export/manifests”)
(Create Manifest sparc_mirror_disk_11_4)
add the manifest to the Solaris service.....
installadm set-service -M sparc_mirror_disk_11_4 -n s11_4_sparc
(Changed Service s11_4_sparc)
root@ai-svr:/export/manifests# installadm list -mcp
There are no clients configured for local services.
Service Name Manifest Name Type Status Criteria
------------ ------------- ---- ------ --------
default-sparc orig_default derived default none
s11_4_sparc sparc_mirror_disk_11_4 xml default none
orig_default derived inactive none
There are no profiles configured for local services.
Add the client details……
installadm create-client -e 0:21:28:b0:87:d4 -n s11_4_sparc
Add the profile.....
installadm create-profile -f /export/profiles/host1_profile.xml -n s11_4_sparc -c mac=0:21:28:b0:87:d4
(Created Profile host1_profile.xml)
*Additional information *
Oracle pkg server; there is a legacy server for Solaris 11.3, this will give you access to base REPO’s.
pkg set-publisher -P -g http://pkg.oracle.com/solaris/legacy/release/ solaris
root@ai-svr:/export/manifests# pkg publisher
PUBLISHER TYPE STATUS P LOCATION
solaris origin online F http://192.200.8.146:83/
solaris origin online F http://pkg.oracle.com/solaris/legacy/release/
you can use this publisher to update your installation server REPO ( obviously a network connection will be required and DNS will need to be configured – see how to at the end of this document
PLEASE NOTE………….
There is a bug and the following command will fail if the locale is not set accordingly, set this before you run the “pkgrecv” command below (maybe this is for 11.3 only?)
export LC_ALL=en_US.UTF_8
pkgrecv -r -s http://pkg.oracle.com/solaris/legacy/release/ -d /IPS/Solaris11_3 0.5.11-0.175.3 "*"
rebuild REPO and restart service
pkgrepo rebuild -s /IPS/Solaris11_3
svcadm restart application/pkg/server:default
You can check your local REPO (change the IP address and port number accordingly)
root@ai-svr:~# pkgrepo list -s http://192.200.8.146:83 |grep entire
solaris entire 0.5.11-0.175.3.35.0.6.0:20180810T152259Z
solaris entire 0.5.11-0.175.3.1.0.5.2:20170605T210005Z
solaris entire 0.5.11-0.175.3.1.0.5.1:20170105T000952Z
solaris entire 0.5.11-0.175.3.1.0.5.0:20151006T140051Z
solaris entire 0.5.11-0.175.2.1.0.2.1:20140923T224940Z
solaris entire 0.5.11-0.175.2.1.0.2.0:20140723T184046Z
solaris entire 0.5.11-0.175.2.0.0.42.0:20140624T193832Z
solaris entire 0.5.11-0.175.1.0.0.24.2:20120919T190135Z
solaris entire 0.5.11-0.175.0.10.1.0.0:20120918T160900Z
solaris entire 0.5.11-0.175.0.0.0.2.0:20111020T143822Z
solaris entire 0.5.11-0.151.0.1:20101105T054056Z
Now add the latest 11.3 repo 11_3_35_6_0 and rebuild the repo to ensure the repo works correctly!
To clone a REPO
Create the new REPO directory structure
pkgrepo create /IPS/Solaris11_3_v2/publisher/solaris
set locale (this is a fix /workaround as it will fail the “pkgrecv”
(ensure that the locale is one that supports UTF-8/C codeset)
export LC_ALL=en_US.UTF_8
clone REPO
pkgrecv -s /IPS/Solaris11_3 -d /IPS/Solaris11_3_v2 --clone -p '*'
Processing packages for publisher solaris ... /IPS/Solaris11_3_v2 --clone -p '*'
Retrieving and evaluating 24576 package(s)...
Committing Manifests \
This will take some time, this is an extract below!
system/data/terminfo 21513/24576 3119526/3490660 60944/69258 682k system/data/terminfo 21513/24576 3119526/3490660 60944/69258 684k system/data/terminfo 21513/24576 3119526/3490660 60944/69258 684k system/data/terminfo 21513/24576 3119526/3490660 60944/69258 672k system/data/terminfo 21513/24576 3119526/3490660 60944/69258 671k system/data/terminfo 21514/24576 3119526/3490660 60944/69258 668k SUNWfppd 21514/24576 3119526/3490660 60944/69258 668k SUNWfppd 21515/24576 3119526/3490660 60944/69258 668k library/python/amqp-27 21515/24576 3119526/3490660 60944/69258 668k library/python/amqp-27 21515/24576 3119526/3490660 60944/69258 662k library/python/amqp-27 21515/24576 3119559/3490660 60944/69258 349k library/python/amqp-27 21516/24576 3119559/3490660 60944/69258 298k ...c-reconfiguration/sun-fire-880 21516/24576 3119559/3490660 60944/69258 298k ...c-reconfiguration/sun-fire-880 21517/24576 3119563/3490660 60944/69258 276k library/python/networkx-27 21517/24576 3119563/3490660 60944/69258 276k gnome/applet/gnome-applets 24576/24576 3490660/3490660 69258/69258 2.7M/s
Verifying repository contents.
Initiating repository verification.
Scanning repository (this could take some time) 0/24577 /
root@ai-svr:/# pkgrepo list -s /IPS/Solaris11_3_v2 |grep entire
solaris entire 0.5.11-0.175.3.35.0.6.0:20180810T152259Z
solaris entire 0.5.11-0.175.3.1.0.5.2:20170605T210005Z
solaris entire 0.5.11-0.175.3.1.0.5.1:20170105T000952Z
solaris entire 0.5.11-0.175.3.1.0.5.0:20151006T140051Z
solaris entire 0.5.11-0.175.2.1.0.2.1:20140923T224940Z
solaris entire 0.5.11-0.175.2.1.0.2.0:20140723T184046Z
solaris entire 0.5.11-0.175.2.0.0.42.0:20140624T193832Z
solaris entire 0.5.11-0.175.1.0.0.24.2:20120919T190135Z
solaris entire 0.5.11-0.175.0.10.1.0.0:20120918T160900Z
solaris entire 0.5.11-0.175.0.0.0.2.0:20111020T143822Z
solaris entire 0.5.11-0.151.0.1:20101105T054056Z
root@ai-svr:/#
Configure DNS manually
svccfg -s network/dns/client
svc:/network/dns/client> setprop config/search = astring: hamilton.co.uk
svc:/network/dns/client> setprop config/nameserver = net_address: 8.8.8.8
svc:/network/dns/client> select network/dns/client:default
svc:/network/dns/client:default> refresh
svc:/network/dns/client:default> validate
svc:/network/dns/client:default> select name-service/switch
svc:/system/name-service/switch> setprop config/host = astring: "files dns"
svc:/system/name-service/switch> select system/name-service/switch:default
svc:/system/name-service/switch:default> refresh
svc:/system/name-service/switch:default> validate
svc:/system/name-service/switch:default> quit
svcadm enable dns/client
svcadm enable name-service/switch
$ nslookup
> www.oracle.com