How to populate content on a disconnected Red Hat Network Satellite server 5 using rhn-satellite-exporter option?

Solution Verified - Updated -

Environment

  • Red Hat Satellite 5.1 and above
  • Connected mode as a exporter
  • Disconnected mode as a importer

Issue

  • How to populate content on a disconnected Red Hat Network Satellite server 5?
  • In an isolated Satellite environment, there is often a disconnected  Satellite as well as  a connected Satellite, as shown in the figure bellow. In this case, the user already has the updated content on their  connected Satellite through Satellite-sync across the network. They  don’t have to go to RHN to download channel dump ISOs and re-sync their  disconnected satellites.

Resolution

A tool called Satellite exporter extracts the content and generates  its own local channel dumps. Exporter queries the connected Satellite  database and exports all the content for a given channel from the  database and file system on the Satellite server where the content  resides. Content type supported includes channels, channel families,  package metadata, RPMs, errata, kickstart files and kickstart trees.

For rhn-Satellite-exporter to work as expected, make sure that:

  • the Satellite is set up successfully, connected, and has updated content from RHN.
  • you have sufficient disk space to store the exported content.

Let’s work with an example to demonstrate how exporter can be utilized to its maximum potential.

I’m a Satellite administrator with two RHN Satellites. I choose one  to be a connected server communicating with RHN and syncing content  updates directly over the network. The other is a mission-critical  server that I prefer to keep isolated—it is disconnected completely from  the outside network for security reasons.

Exporting content from connected RHN Satellite

The goal as a Satellite Administrator is to keep the disconnected  servers updated. To achieve this, you will make use of the connected  Satellite server, which already has content synced from RHN.

First, find out what channel content is available for the connected  server to pull down from the connected Satellite. List the channels  available with the following command:

[root@connected ~]# rhn-satellite-exporter --list-channels --db=rhnsat/****@rhnsat  
Channel List:  
B = Base Channel  
C = Child Channel  

B rhel-i386-server-5  
C       rhel-i386-server-vt-5  
C       rhn-tools-rhel-i386-server-5  

B rhel-i386-as-4  
C       rhn-tools-rhel-4-as-i386

--db=DBUSERNAME/DBPASSWORD@DBSID  
       Extract information from this database. The value must be an
       Oracle connection string that is configured in your tnsnames.ora
       file.

On my Embedded test environment rhn-satellite-exporter worked fine ignoring the --db option

The example above gives all available channels on the connected  server that are being synced from RHN. Lets choose to export  rhel-i386-server-5 and its child channels, rhel-i386-server-vt-5 and  rhn-tools-rhel-i386-server-5.

Now export the base channel content for the specified channels. Each  content type is categorized and dumped as shown below. Multiple channels  can be exported at the same time with multiple -c or –channel options.  This combines all the channel data and dumps it under the directory  specified.

If –end-date is not specified, it defaults to the current export date  as end-date. The –db option directs the tool to access the source  Satellite database to extract the requested content.

1. Create a directory for all the exported content:

[root@connected ~]#  mkdir /tmp/dumps

2. Export  base channel content:

[root@connected ~]#  rhn-satellite-exporter --db=rhnsat/*****@rhnsat --dir=/tmp/dumps -c rhel-i386-server-5 -c rhel-i386-server-vt-5  -c rhn-tools-rhel-i386-server-5 --debug=5

Exporting incremental channel content (new in Satellite 5.1):

[root@connected ~]#  rhn-satellite-exporter --db=rhnsat/*****@rhnsat --dir=/tmp/dumps/  --start-date=20071206000000   --end-date=20080206000000 -c rhel-i386-server-5 -c rhel-i386-server-vt-5  -c rhn-tools-rhel-i386-server-5 --debug=5 

So, from the given Satellite server, get all the content for channel  rhel-i386-server-5 and its child channels and dumps it under the  directory /tmp/dumps/. Content under the directory is dumped into  different content types, like so:

[root@connected ~]# ls -l /tmp/dumps/total
drwxr-xr-x 2 root root 4096 Nov 11 02:30 arches
drwxr-xr-x 2 root root 4096 Nov 11 02:30 blacklists
drwxr-xr-x 2 root root 4096 Nov 11 02:30 channel_families
drwxr-xr-x 3 root root 4096 Nov 11 02:30 channels
drwxr-xr-x 12 root root 4096 Nov 11 02:47 errata
drwxr-xr-x 4 root root 4096 Nov 11 02:47 kickstart_files
drwxr-xr-x 2 root root 4096 Nov 11 02:47 kickstart_trees
drwxr-xr-x 102 root root 4096 Nov 11 02:44 packages
drwxr-xr-x 102 root root 4096 Nov 11 02:30 packages_short
drwxr-xr-x 102 root root 4096 Nov 11 02:31 rpms

3. To exclude specific content types from the content dump, use –no-  option. This is available for rpms, packages, errata, and kickstart  trees. For example, if you want to exclude rpms from the   rhel-i386-server-5 dump:

[root@connected ~]# rhn-satellite-exporter  -c rhel-i386-server-5  --dir /tmp/dumps --no-rpms 

Packaging exported content (new in Satellite-5.1)

Once we have all the content exported to a directory, we have  multiple ways to make this content accessible to our disconnected  satellites. The most common method is to burn the exported content onto  CD or DVD media and carry it to your remote disconnected Satellite  servers. Exporter has options to package the content into ISOs suitable  for burning on CD or DVD. This can be achieved using the –make-iso=  option.

For CD ISOs:

[root@connected ~]# rhn-satellite-exporter --db=rhnsat/rhnsat@rhnsat --dir=/tmp/  --start-date=20060106000000   -c rhel-i386-server-5   --debug=5 --make-iso=cd

For DVD ISOs:

[root@connected ~]# rhn-satellite-exporter --db=rhnsat/rhnsat@rhnsat --dir=/tmp/  --start-date=20060106000000   -c rhel-i386-server-5  --debug=5 --make-iso=dvd

This should create a Satellite-isos/ directory under the –dir specified,  dumping the ISOs into that directory along with MD5SUM manifest for all  the ISOs.

[root@connected ~]# ls -ld /tmp/dumps/satellite-isos/*
-rw-r--r-- 1 root root 63 Nov 15 16:46 /tmp/dumps/Satellite-isos/MD5SUM
-rw-r--r-- 1 root root 656816128 Nov 15 16:43 /tmp/dumps/Satellite-isos/rhn-export-20071115.0-01.iso

Now that we have the CD ISOs, burn them onto a CD:

[root@connected ~]# cdrecord -v -pad speed=1 dev=0,0,0  /tmp/dumps/satellite-isos/rhn-export-20071115.0-01.iso

This process of generating the channel content essentially remains the  same for any channel and any amount of content. Its easy to setup a cron  job to generate this content as frequently as it is  needed.

Populating disconnected Satellite servers

We can now move the channel content created on the connected Satellite onto the disconnected server.

1. Create a mount point to mount the media:

[root@disconnected ~]# mkdir /mnt/dumps

2. Mount the content onto the disk:

[root@disconnected ~]# mount -t iso9660,udf  /dev/cdrom /mnt/dumps

3. Check to see if the mounted channel dumps have the correct content:

[root@disconnected ~]#  satellite-sync --mount-point=/mnt/dumps –list-channels 

4. Use Satellite-sync to point to the above mount point on disk and sync down the channel content from the dumps:

[root@disconnected ~]#  satellite-sync --mount-point=/mnt/dumps -c rhel-i386-server-5 

Satellite-sync may take some time to complete based on how much content  is being synced. Once this step is finished, our disconnected Satellite  is all set with the required updated content. Repeat this process as  frequently as possible to keep the disconnected servers up-to-date.

Conclusion

This article gives an overview of the multiple ways to populate  content on a disconnected RHN Satellite server. It demonstrates  exporting content using rhn-Satellite-exporter, packaging content as ISO  images, burning them to media, and populating disconnected satellites.   Rhn-satellite-exporter is a very powerful tool with a diverse set of  options that make content portability between Satellites simple and  effective.

Reference: http://magazine.redhat.com/2008/04/03/how-to-populate-content-on-a-disconnected-satellite/

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.