Adding disk space to the Charon-PAR emulated guest systems systems is a process consisting of several steps:
- Build disk container files in the Linux host file system.
- Link these disk container files with the corresponding emulator configuration paths in the Charon configuration file.
- Enable the disk for use by the guest operating system.
- For Charon-PAR/PA3:
- Define virtual disk devices using SYSGEN on MPE/iX.
- Create the virtual volume using VOLUTIL on MPE/iX.
There is no direct correspondence between the number of virtual disks that are added to the emulated system and the number of Linux disks on which they reside. The storage on the host system just must provide enough capacity to store the disk containers used as virtual disks by the emulated system.
The sections below describe the process in more detail.
Creating Disk Container Files
The disk container files are created using the dd
command. This command takes an input file name, an output file name, a block size, and a count as parameters. When instructed to read from /dev/zero , the command creates the output file and fills it with (block-size * count) zero bytes. Each file may be built as large as needed.
Please note: The maximum disk size supported by MPE/iX is 512GB. The maximum size for HP-UX is 2TB.
Use the following steps to create a new disk container file:
Step | Command | |
---|---|---|
1 | Change to the directory where you store your virtual disks. | Example:
|
2 | Create an empty disk container. Note that the actual size of the disk will depend on the requirements of your emulated system. | Example virtual disk creation (size 20GB):
|
Adding a Virtual Disk to the Configuration File
The new virtual disk must be added to the configuration file of the Charon-PAR instance. This requires two commands:
Step | Configuration file entry | |
---|---|---|
1 | Load the SCSI device. | load DKXnnn |
2 | Link device with disk container file. |
|
The device name DKXnnn
encodes the device type and the device path of the emulated SCSI device presented to the guest operating system:
A disk device name has the following components:
- Value DK at the beginning of the device name: specifies that device type is disk.
- X: value consists of an uppercase letter encoding the device path. Please refer to Emulated Model Hardware Configuration Details and the relevant configuration file templates for system specific device path information.
Example (rp4000):
A = device path 0/0/1/0
B = device path 0/0/1/1
C = device path 0/0/2/0
D = device path 0/0/2/1 - nnn: value encodes the SCSI device connected to the SCSI controller.
Formula: (SCSI target ID*100)+LUN
The following example adds a SCSI disk with device path 0/0/1/0.0.0 to the configuration:
|
Start Using the Disk in the Guest OS
Before the disk can be used by guest operating system applications, there are some required steps that need to be performed on the guest OS. The following examples are only used for illustrative purposes. They are intended to provide a general impression of the necessary actions.
Enable a Disk for Use by HP-UX
After booting the emulated system with the new disk added to the configuration file, check if HP-UX did recognize it:
Command | Example |
---|---|
To list all known disks on the system, enter the following command:
| The disk with device path 0/0/1/0.2.0 (DKA200) is the new disk: |
HP-UX Device Nodes
During HP-UX boot-up, /sbin/insf is executed to create the character and block device special /dev files that allow communication with the disk. HP-UX uses the following device file naming system. For each disk device, the following special files are created:
- Block device file:
/dev/dsk/c<number-of-card>t<SCSI-target-ID>d<device-LUN>
- Character device file:
/dev/rdsk/c<number-of-card>t<SCSI-target-ID>d<device-LUN>
Where card is the (SCSI) controller number, target is the SCSI ID number, and device is the logical unit number, or LUN. The LUN is 0 for the majority of devices. An example for a disk at controller 0, target 2, LUN 0, is /dev/dsk/c0t2d0.
A disk is usually divided into file systems, areas that can hold files, or raw data areas such as swap. File systems are created in disk partitions or logical volumes. To view the size of the drive to be configured use the command, diskinfo.
Example:
|
Creating and Mounting a Filesystem on the new Disk
On HP-UX disks are typically used as part of LVM volume groups. Alternatively, a disk can be formatted using the traditional HFS filesysstem. LVM logical volumes can be used with HFS or JFS filesystems. JFS is HP's version of the Veritas journaling filesystem. Below, two samples show the two different approaches.
Please refer to your system's documentation and the man-pages for detailed information about the commands used in the examples.
HFS filesystem on standalone disk
The following example, which shows how to create a filesystem and mount the disk, will use HFS on a standalone disk:
Step | Command | |
---|---|---|
1 | Create a filesystem on the new disk. Please note: LVM is now the preferred method to use disks on HP-UX. This example uses a traditional filesystem for simplicity. | Example to create a hfs filesystem on DKA200:
|
2 | Mount the disk to a mount point (create mount point first if it does not exist yet). | Example to mount DKA200 on /mnt:
|
LVM volume group with JFS file system
Step | Command | |
---|---|---|
1 | Create a physical (non-bootable) volume. | # pvcreate -f /dev/rdsk/c0t0d0 |
2 | Create the volume group file structure. | Example to create structure for volume group 1:
0xNN0000 is the minor device number. |
3 | Create volume group. | Example to create volume group 1 with physical volume created above:
|
4 | Create logical volume. | Example to create a logical volume named myname of size-MB megabytes:
|
5 | Create filesystem on logical volume. | Example to create a JFS (vxfs) filesystem on logical volume myname:
|
6 | Mount filesystem to a mount point (create mount point first if it does not exist yet). | Example to mount the new filesystem on /mnt:
|
Enable a Disk for Use by MPE/iX
After booting the emulated system with the new disk added to the configuration file, it needs to be enabled for use by the operating system as described below.
Adding the Device via Sysgen
After booting the MPE/iX guest system in the emulator, add the device using SYSGEN; specify ID=ST19171N and the path that you specified in the configuration file load command in the previous step. For example:
PATH=0/0/1/0.1.0
for LDEV 2 (specified by "load DKA100" in pa3.cfg )PATH=0/0/1/0.2.0
for LDEV 3 (specified by "load DKA200" in pa3.cfg ), etc.
This example shows one way to add LDEV 2:
Step | Commands | |
---|---|---|
1 | Log in to Manager.sys. | :HELLO MANAGER.SYS |
2 | Start sysgen. | :SYSGEN |
3 | Enter the following commands. | sysgen> io io> adev 2 id=ST19171N path=0/0/1/0.1.0 io> hold io> exit sysgen> keep keeping to group CONFIG.SYS Purge old configuration (yes/no)? yes sysgen> |
4 | Exit sysgen. | sysgen> exit |
5 | Activate the configuration. | :DOIONOW |
When using the SYSGEN adev command, depending on the path chosen and your current configuration, you may first need to create parent controller entries using the SYSGEN apath command. Each disk device is created beneath PCI_DEVICE , A5150A , and PSEUDO path entries as shown in the following example:
|
You do not need to indicate to SYSGEN how large a disk is. Use the ST19171N device ID whatever size your disk image is; MPE will automatically detect (and use) the size of the physical disk image file.
Creating an MPE Volume
The final stage involves creating the MPE volume (and, if needed, volume set) and initializing the disk. When assigning new volume names, using one of these conventions is recommended:
- Name each volume, starting with the master, as MEMBERx , where ' x ' starts at ' 1 ' for the master volume and is incremented for each additional volume in the set.
- Name each volume MEMBERxxx , where ' xxx ' is the LDev number of the disk
The command :VOLUTIL should be used to create and initialize new volumes, and also (if needed) new volume sets, as shown in the following example. You will need to be logged in as MANAGER.SYS .
The following example shows how to add a new LDev 2 named MEMBER2 to the System Volume Set:
Step | Command | |
---|---|---|
1 | Start volutil. | :VOLUTIL |
2 | At the voltutil prompt add the new disk as a volume to the system volume set. | volutil: newvol MPEXL_SYSTEM_VOLUME_SET:MEMBER2 2 100 100 |
3 | Exit volutil. | volutil: exit |
The following example shows how to create a new volume set with LDev 2 as the master:
Step | Command | |
---|---|---|
1 | Start volutil. | :VOLUTIL |
2 | At the voltutil prompt create a new volume set with the new disk as the master volume. | volutil: newset USERSET MASTER 2 100 100 |
3 | Exit volutil. | volutil: exit |
To display the status of the volumes, use the dstat command as shown below: