Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

稼働中の非大域ゾーン内でファイルシステムをマウントする

稼働中の非大域ゾーン内でファイルシステムをマウントできます。具体的には、次の作業について説明しています。

Procedurezonecfg を使用して raw デバイスおよびブロックデバイスをインポートする方法

この手順では、lofi ファイルドライバを使用します。このドライバは、ファイルをブロックデバイスとしてエクスポートします。

  1. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  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ファイルシステムを手動でマウントする方法

この手順を実行するには、ゾーン管理者になり、Zone Management プロファイルを保持する必要があります。この手順では、newfs コマンドを使用します。このコマンドの詳細は、newfs(1M) のマニュアルページを参照してください。

  1. スーパーユーザーになるか、プロファイルリスト内の Zone Management 権利プロファイルを保持します。

  2. ゾーン my-zone 内で、ディスク上に新しいファイルシステムを作成します。


    my-zone# newfs /dev/lofi/1
    
  3. プロンプトに yes で応答します。


    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 に配置する方法

ここでは、ブロックデバイス /dev/lofi/1 をファイルシステムパス /mnt にマウントする手順を説明します。ブロックデバイスには UFS ファイルシステムが含まれます。次のオプションを使用します。

  1. スーパーユーザーになるか、プロファイルリスト内の Zone Management 権利プロファイルを保持します。

  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. スーパーユーザーまたは Primary Administrator 役割になります。

    役割の作成と作成した役割のユーザーへの割り当てについては、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. ディスクを非大域ゾーンの /mnt にマウントするには、大域ゾーンから次のように入力します。


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

lofi の詳細については、lofiadm(1M) および lofi(7D) のマニュアルページを参照してください。