System Administration Guide: Oracle Solaris Containers-Resource Management and Oracle Solaris Zones

Mounting File Systems in Running Non-Global Zones

You can mount file systems in a running non-global zone. The following procedures are covered.

ProcedureHow to Import Raw and Block Devices by Using zonecfg

This procedure uses the lofifile driver, which exports a file as a block device.

  1. Become superuser, or assume the Primary Administrator role.

    To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. Change directories to /usr/tmp.


    global# cd /usr/tmp
    
  3. Create a new UFS file system.


    global# mkfile 10m fsfile
    
  4. Attach the file as a block device.

    The first available slot, which is /dev/lofi/1 if no other lofi devices have been created, is used.


    global# lofiadm -a `pwd`/fsfile
    

    You will also get the required character device.

  5. Import the devices into the zone my-zone.


    global# zonecfg -z my-zone
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/rlofi/1
    zonecfg:my-zone:device> end
    zonecfg:my-zone> add device
    zonecfg:my-zone:device> set match=/dev/lofi/1
    zonecfg:my-zone:device> end
    
  6. Reboot the zone.


    global# zoneadm -z my-zone boot
    
  7. Log in to the zone and verify that the devices were successfully imported.


    my-zone# ls  -l /dev/*lofi/*
    

    You will see a display that is similar to this:


    brw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/lofi/1
    crw-------   1 root     sys      147,  1 Jan  7 11:26 /dev/rlofi/1
See Also

For more information, see the lofiadm(1M) and lofi(7D) man pages.

ProcedureHow to Mount the File System Manually

You must be the zone administrator and have the Zone Management profile to perform this procedure. This procedure uses the newfs command, which is described in the newfs(1M) man page.

  1. Become superuser, or have the Zone Management rights profile in your list of profiles.

  2. In the zone my-zone, create a new file system on the disk.


    my-zone# newfs /dev/lofi/1
    
  3. Respond yes at the prompt.


    newfs: construct a new file system /dev/rlofi/1: (y/n)? y
    

    You will see a display that is similar to this:


    /dev/rlofi/1:   20468 sectors in 34 cylinders of 1 tracks, 602 sectors
            10.0MB in 3 cyl groups (16 c/g, 4.70MB/g, 2240 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 9664, 19296,
  4. Check the file system for errors.


    my-zone# fsck -F ufs /dev/rlofi/1
    

    You will see a display that is similar to this:


    ** /dev/rlofi/1
    ** Last Mounted on 
    ** Phase 1 - Check Blocks and Sizes
    ** Phase 2 - Check Pathnames
    ** Phase 3 - Check Connectivity
    ** Phase 4 - Check Reference Counts
    ** Phase 5 - Check Cyl groups
    2 files, 9 used, 9320 free (16 frags, 1163 blocks, 0.2% fragmentation)
  5. Mount the file system.


    my-zone# mount -F ufs /dev/lofi/1 /mnt
    
  6. Verify the mount.


    my-zone# grep /mnt /etc/mnttab
    

    You will see a display similar to this:


    /dev/lofi/1     /mnt    ufs
    rw,suid,intr,largefiles,xattr,onerror=panic,zone=foo,dev=24c0001
    1073503869

ProcedureHow to Place a File System in /etc/vfstab to Be Mounted When the Zone Boots

This procedure is used to mount the block device /dev/lofi/1 on the file system path /mnt. The block device contains a UFS file system. The following options are used:

  1. Become superuser, or have the Zone Management rights profile in your list of profiles.

  2. In the zone my-zone, add the following line to /etc/vfstab:


    /dev/lofi/1 /dev/rlofi/1  /mnt   ufs  2  yes logging

ProcedureHow to Mount a File System From the Global Zone Into a Non-Global Zone

Assume that a zone has the zonepath /export/home/my-zone. You want to mount the disk /dev/lofi/1 from the global zone into /mnt in the non-global zone.

You must be the global administrator in the global zone to perform this procedure.

  1. Become superuser, or assume the Primary Administrator role.

    To create the role and assign the role to a user, see Using the Solaris Management Tools With RBAC (Task Map) in System Administration Guide: Basic Administration.

  2. To mount the disk into /mnt in the non-global zone, type the following from the global zone:


    global# mount -F ufs /dev/lofi/1 /export/home/my-zone/root/mnt
    
See Also

For information about lofi, see the lofiadm(1M) and lofi(7D) man pages.