系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

在正在运行的非全局区域中挂载文件系统

可以在正在运行的非全局区域中挂载文件系统。包括以下过程。

Procedure如何使用 zonecfg 导入原始设备和块设备

此过程使用 lofi 文件驱动程序,此驱动程序可以将文件导出为块设备。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 转到 /usr/tmp 目录。


    global# cd /usr/tmp
    
  3. 创建一个新的 UFS 文件系统。


    global# mkfile 10m fsfile
    
  4. 将文件作为块设备进行连接。

    如果没有创建其他 lofi 设备,则会使用第一个可用插槽 /dev/lofi/1


    global# lofiadm -a `pwd`/fsfile
    

    您也将获得所需的字符设备。

  5. 将设备导入区域 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. 重新引导区域。


    global# zoneadm -z my-zone boot
    
  7. 登录到区域并检验设备是否成功导入。


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

    将显示以下类似信息:


    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
另请参见

有关更多信息,请参见 lofiadm(1M)lofi(7D) 手册页。

Procedure如何手动挂载文件系统

要执行此过程,您必须是区域管理员并且拥有区域管理配置文件。此过程使用在 newfs(1M) 手册页中介绍的 newfs 命令。

  1. 成为超级用户,或者在您的配置文件列表中具有区域管理权限配置文件。

  2. 在区域 my-zone 中,在磁盘上创建一个新的文件系统。


    my-zone# newfs /dev/lofi/1
    
  3. 出现提示时回答是。


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

    将显示以下类似信息:


    /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. 检查文件系统是否有错误。


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

    将显示以下类似信息:


    ** /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. 挂载文件系统。


    my-zone# mount -F ufs /dev/lofi/1 /mnt
    
  6. 检验挂载。


    my-zone# grep /mnt /etc/mnttab
    

    将显示以下类似信息:


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

Procedure如何将文件系统放入 /etc/vfstab 以在引导区域时挂载

此过程用于在文件系统路径 /mnt 上挂载块设备 /dev/lofi/1。块设备包含一个 UFS 文件系统。将使用以下选项:

  1. 成为超级用户,或者在您的配置文件列表中具有区域管理权限配置文件。

  2. 在区域 my-zone中,向 /etc/vfstab 添加以下行:


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

Procedure如何将文件系统从全局区域挂载到非全局区域

假设区域中有 zonepath /export/home/my-zone。您需要将磁盘 /dev/lofi/1 从全局区域挂载到非全局区域中的 /mnt

要执行此过程,您必须是全局区域中的全局管理员。

  1. 成为超级用户或承担主管理员角色。

    有关如何创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 要将磁盘挂载到非全局区域中的 /mnt,请在全局区域中键入以下内容:


    global# mount -F ufs /dev/lofi/1 /export/home/my-zone/root/mnt
    
另请参见

有关 lofi 的信息,请参见 lofiadm(1M) 和 lofi(7D) 手册页。