Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: NFS caveat

...

Adding disk space to the Charon-HPA emulated HP3000 or HP9000 system 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 HP3000 or HP9000 emulator configuration paths in the Charon configuration file.
  • Enable the disk for use by the guest operating system.
  • For HP3000Charon-PAR/PA3:
    • Define virtual disk devices using SYSGEN on the virtual HP3000MPE/iX.
    • Create the virtual volume using VOLUTIL on the virtual HP3000MPE/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.

...

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

(info) The 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/HP-host1/Data/LDEVSDisk/

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

...

The new virtual disk must be added to the configuration file of the Charon-HPA 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:

Div
classpagebreak


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

...

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.

...

Div
classpagebreak


Example:


Div
classcommandline

# 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 you can use a disk standalone or disks are typically used as part of a volume group (LVM). You can create a traditional HFS filesysstem on a disk, or you can create a JFS filesystemLVM 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

(warning) Please refer to your system's documentation and the man-pages for detailed information about the above commands.

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



Div
classpagebreak



Enable a Disk for Use by MPE/iX

...

Adding the Device via Sysgen

After booting the virtual HP3000MPE/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 hp3kpa3.cfg )
PATH=0/0/1/0.2.0 for LDEV 3 (specified by "load DKA200" in hp3kpa3.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> exit
:DOIONOW
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
apath command. Each disk device is created beneath PCI_DEVICE , A5150A , and PSEUDO path entries as shown in the following example:


Div
classcommandline

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 don't 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.

Div
classpagebreak



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

...


Include Page
KBCOMMON:DOC-GoToToc
KBCOMMON:DOC-GoToToc