Adding Additional Disks

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.

Please note: it is not recommended to place emulator storage devices (in particular vdisks) on NFS as this will have a significant impact on performance. However, if any of the storage (e.g., ISO files or vdisks) is on an NFS share, NFS locking must be enabled and all intermediate firewalls between client and server must allow the port used by the lockd and statd. Failure to do so will cause the emulator to hang at startup.

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
1Change to the directory where you store your virtual disks.

Example:

# cd /data/Stromasys/host1/Data/Disk/

2Create 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):

# dd if=/dev/zero of=mydiskname.dsk bs=1G count=20

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:


StepConfiguration file entry
1Load the SCSI device.load DKXnnn
2Link device with disk container file.DKXnnn.image="/path/to/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:

load DKA0

DKA0.image="ldev1.dsk"

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:

CommandExample

To list all known disks on the system, enter the following command:

# ioscan -C disk

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:

# diskinfo /dev/rdsk/c0t2d0

SCSI describe of /dev/rdsk/c0t2d0:

vendor: EMULATOR

product id: HD-IMAGE

type: direct access

size: 2097152 Kbytes

bytes per sector: 512

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 filesystem. 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:


StepCommand
1Create 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:

# newfs -F hfs /dev/rdsk/c0t2d0

2Mount the disk to a mount point (create mount point first if it does not exist yet).

Example to mount DKA200 on /mnt:

# mount /dev/dsk/c0t2d0 /mnt

LVM volume group with JFS file system


StepCommand
1Create a physical (non-bootable) volume.# pvcreate -f /dev/rdsk/c0t0d0
2Create the volume group file structure.

Example to create structure for volume group 1:

# mkdir /dev/vg01

# mknod /dev/vg01/group c 64 0x010000

0xNN0000 is the minor device number.
To identify all minor device numbers already used, run the command
# ll /dev/*/group

3Create volume group.

Example to create volume group 1 with physical volume created above:

# vgcreate vg01 /dev/dsk/c0t0d0

4Create logical volume.

Example to create a logical volume named myname of size-MB megabytes:

# lvcreate -L size-MB -n myname vg01

5Create filesystem on logical volume.

Example to create a JFS (vxfs) filesystem on logical volume myname:

# newfs -F vxfs /dev/vg01/rmyname

6Mount filesystem to a mount point (create mount point first if it does not exist yet).

Example to mount the new filesystem on /mnt:

# mount -F vxfs /dev/vg01/myname /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:


StepCommands
1Log in to Manager.sys.:HELLO MANAGER.SYS
2Start sysgen.:SYSGEN
3Enter 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>
4Exit sysgen.sysgen> exit
5Activate 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:

apath id=PCI_DEVICE path=0/0/<device>

apath id=A5150A path=0/0/<device>/<function>

apath id=PSEUDO path=0/0/<device>/<function>.<target>

adev <ldev number> id=ST19171N path=0/0/<device>/<function>.<target>.<lun>

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:


StepCommand
1Start volutil.:VOLUTIL
2At 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
3Exit volutil.volutil: exit

The following example shows how to create a new volume set with LDev 2 as the master:


StepCommand
1Start volutil.:VOLUTIL
2At the voltutil prompt create a new volume set with the new disk as the master volume.volutil: newset USERSET MASTER 2 100 100
3Exit volutil.volutil: exit

To display the status of the volumes, use the dstat command as shown below:




© Stromasys, 1999-2024  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.