solaris10  ミラー構成+コンテナ構成があるサーバでのufsdump/ufsrestore  
       
  バックアップ/リストアにはいろいろな方法があるが、今回は現用機を物理的に操作しない方法として、  
  以下のような手順で実施した。 具体的にはテープデバイスではなく、NFSサーバを使ったバックアップ/リストアとなる。    
       
  手順概要    
  1. 現在の状態の確認    
  2.バックアップ対象のスライス構成を確認する    
  3.バックアップ対象の容量を確認する    
  4.NFSのマウント    
  5.ufsdumpによるバックアップ    
  6.NFSのアンマウント    
       
  7.予備機のDisk1にダウンロード    
    (予備機をLANから切り離す)    
       
  8.DVDを使ってCDブート    
  9.Disk0のフォーマット    
  10.ufsrestoreによる復元    
  11.ミラー構成をシングル構成に戻す    
    (再起動後に設定が戻っていることを確認)    
  12.ミラー構成に戻す (ここは通常のミラー設定と同様なので省略)    
       
       
  検証環境    
  すでにNFSサーバは構築済み    
 
 
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
       
  手順詳細    
       
  1. 現在の状態の確認    
  リストア後の比較確認のために情報を取得しておく。    
  # metadb - RAID1の状態データベースの確認  
          flags           first blk       block count Dis0(c1t0d0)とDisk1(c1t1d0)の  
       a        u         16              8192            /dev/dsk/c1t0d0s7 s7を状態データベース用のスライス  
       a        u         8208            8192            /dev/dsk/c1t0d0s7 として利用している  
       a        u         16400           8192            /dev/dsk/c1t0d0s7    
       a    p  luo        16              8192            /dev/dsk/c1t1d0s7    
       a    p  luo        8208            8192            /dev/dsk/c1t1d0s7    
       a    p  luo        16400           8192            /dev/dsk/c1t1d0s7    
       
       
  # metastat -c - RAID1の状態の確認  
  d60              m  4.0GB d62 d61 Disk0とDisk1のs0,s1,s3,s4,s5,s6  
      d62          s  4.0GB c1t1d0s6 をミラー構成にしている  
      d61          s  4.0GB c1t0d0s6    
  d40              m  4.0GB d42 d41    
      d42          s  4.0GB c1t1d0s4    
      d41          s  4.0GB c1t0d0s4    
  d30              m  7.0GB d32 d31    
      d32          s  7.0GB c1t1d0s3    
      d31          s  7.0GB c1t0d0s3    
  d20              m  1.0GB d22 d21    
      d22          s  1.0GB c1t1d0s1    
      d21          s  1.0GB c1t0d0s1    
  d10              m   11GB d12 d11    
      d12          s   11GB c1t1d0s0    
      d11          s   11GB c1t0d0s0    
  d50              m  6.0GB d52 d51    
      d52          s  6.0GB c1t1d0s5    
      d51          s  6.0GB c1t0d0s5    
       
       
  # df -k - ディスクの使用量・構成の確認  
  ファイルシステム      kbytes 使用済み 使用可能 容量      マウント先 d10 = /  
  /dev/md/dsk/d10      11360917 1352970 9894338    13%    / d30 = /usr  
  /devices                   0       0       0     0%    /devices d60 = /var  
  ctfs                       0       0       0     0%    /system/contract d50 = /export  
  proc                       0       0       0     0%    /proc d40 = /zone  
  mnttab                     0       0       0     0%    /etc/mnttab    
  swap                 1306344    1592 1304752     1%    /etc/svc/volatile    
  objfs                      0       0       0     0%    /system/object    
  sharefs                    0       0       0     0%    /etc/dfs/sharetab    
  /dev/md/dsk/d30      7229330 4460800 2696237    63%    /usr    
  fd                         0       0       0     0%    /dev/fd    
  /dev/md/dsk/d60      4130826   85307 4004211     3%    /var    
  swap                 1304808      56 1304752     1%    /tmp    
  swap                 1304832      80 1304752     1%    /var/run    
  /dev/md/dsk/d50      6196247  996327 5137958    17%    /export    
  /dev/md/dsk/d40      4130826  994225 3095293    25%    /zone    
       
       
  # zoneadm list -vc - zoneの構成確認  
    ID NAME             STATUS     PATH                           BRAND    IP とりあえずzoneを2つ作成済みで  
     0 global           running    /                              native   shared 現在起動中(running)  
     1 solaris10-zone1  running    /zone                          native   shared    
     2 solaris10-zone2  running    /export/zone2                  native   shared    
       
  # hostname その他いろいろ気になるものを・・  
  # ifconfig -a    
  # netstat -rn    
       
       
  2.バックアップ対象のスライス構成を確認する    
  シングル構成時の/etc/vfstabはバックアップしておいたほうが良い。    
  # grep md /etc/vfstab - ファイルシステムテーブルの確認  
  /dev/md/dsk/d20 /dev/md/rdsk/d20        -       swap    -       no      - d20 = swap  
  /dev/md/dsk/d10 /dev/md/rdsk/d10        /       ufs     1       no      - d10 = /  
  /dev/md/dsk/d30 /dev/md/rdsk/d30        /usr    ufs     1       no      - d30 = /usr  
  /dev/md/dsk/d60 /dev/md/rdsk/d60        /var    ufs     1       no      - d60 = /var  
  /dev/md/dsk/d50 /dev/md/rdsk/d50        /export ufs     2       yes     - d50 = /export  
  /dev/md/dsk/d40 /dev/md/rdsk/d40        /zone   ufs     2       yes     - d40 = /zone  
       
       
  # format - ディスク構成の確認  
    formatコマンドで正確なスライス構成  
  Specify disk (enter its number): 0 を確認する  
    formatコマンドでDisk0とDisk1の  
  selecting c1t0d0 ディスク容量もわかる  
  [disk formatted]    
  /dev/dsk/c1t0d0s0 is part of SVM volume stripe:d11. Please see metaclear(1M).    
  /dev/dsk/c1t0d0s1 is part of SVM volume stripe:d21. Please see metaclear(1M).    
  /dev/dsk/c1t0d0s3 is part of SVM volume stripe:d31. Please see metaclear(1M).    
  /dev/dsk/c1t0d0s4 is part of SVM volume stripe:d41. Please see metaclear(1M).    
  /dev/dsk/c1t0d0s5 is part of SVM volume stripe:d51. Please see metaclear(1M).    
  /dev/dsk/c1t0d0s6 is part of SVM volume stripe:d61. Please see metaclear(1M).    
  /dev/dsk/c1t0d0s7 contains an SVM mdb. Please see metadb(1M).    
       
  format> partition    
       
  partition> print リストアする際に、スライス構成が  
  Current partition table (original): 必要となるのでここの情報を控える  
  Total disk cylinders available: 24620 + 2 (reserved cylinders)    
       
  Part      Tag    Flag     Cylinders         Size            Blocks    
    0       root    wm       0 -  7985       11.00GB    (7986/0/0)  23071554    
    1       swap    wu    7986 -  8711        1.00GB    (726/0/0)    2097414    
    2     backup    wm       0 - 24619       33.92GB    (24620/0/0) 71127180    
    3        usr    wm    8712 - 13793        7.00GB    (5082/0/0)  14681898    
    4 unassigned    wm   13794 - 16697        4.00GB    (2904/0/0)   8389656    
    5 unassigned    wm   16698 - 21053        6.00GB    (4356/0/0)  12584484    
    6        var    wm   21054 - 23957        4.00GB    (2904/0/0)   8389656    
    7 unassigned    wm   23958 - 24619      933.85MB    (662/0/0)    1912518    
       
  partition> q    
  format> q    
       
  3.バックアップ対象の容量を確認する    
  NFSサーバに用意した共有ディレクトリに保存できるか、バックアップ容量を確認しておく    
  # ufsdump -S /dev/rdsk/c1t0d0s0 dumpする際の容量を調べる  
  1376987136 (出力結果はバイト単位)  
  # ufsdump -S /dev/rdsk/c1t0d0s3 NFSにそれを超える空き容量があればよい  
  4703049728    
  # ufsdump -S /dev/rdsk/c1t0d0s4 s1(swapで使用)とs2(全体を示す特殊な  
  1028182016 スライス)は対象外  
  # ufsdump -S /dev/rdsk/c1t0d0s5    
  1028366336 [ufsdump -S /var]のように、マウント先  
  # ufsdump -S /dev/rdsk/c1t0d0s6 ディレクトリの指定でも可能  
  108053504    
       
  4.NFSのマウント    
  # cat /etc/hosts - hostsにNFSサーバを登録  
  すでにNFSサーバにアクセスできるよう  
  192.168.24.140  vm-solaris10 であれば不要  
       
       
  # mount -F nfs -o rw,soft 192.168.24.140:/export/home/test2000 /mnt - mountの実行  
    NFSの共有ディレクトリを/mntにマウント  
       
       
  # df -h - 確認  
  ファイルシステム     サイズ 使用済み 使用可能 容量      マウント先 Diskが36GBなので、42GB空きがあれば  
  /dev/md/dsk/d10         11G   1.3G   9.4G    13%    / 十分  
  /devices                 0K     0K     0K     0%    /devices ここに作成したdumpファイルを保存させる  
  ctfs                     0K     0K     0K     0%    /system/contract    
  proc                     0K     0K     0K     0%    /proc    
  mnttab                   0K     0K     0K     0%    /etc/mnttab    
  swap                   1.2G   1.6M   1.2G     1%    /etc/svc/volatile    
  objfs                    0K     0K     0K     0%    /system/object    
  sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab    
  /dev/md/dsk/d30        6.9G   4.3G   2.6G    63%    /usr    
  fd                       0K     0K     0K     0%    /dev/fd    
  /dev/md/dsk/d60        3.9G    83M   3.8G     3%    /var    
  swap                   1.2G    32K   1.2G     1%    /tmp    
  swap                   1.2G    56K   1.2G     1%    /var/run    
  /dev/md/dsk/d50        5.9G   976M   4.9G    17%    /export    
  /dev/md/dsk/d40        3.9G   971M   3.0G    25%    /zone    
  192.168.24.140:/export/home/test2000    
                          43G    44M    42G     1%    /mnt    
       
  5.ufsdumpによるバックアップ    
  Solaris Volume Manager管理ガイド(http://docs.oracle.com/cd/E38900_01/html/E38858/exlvv.html)参照  
  # metastat | egrep 'Mirror|State:|Read option' - RAID1の状態を確認  
  d60: Mirror LANG=jaだったので、事前にLANG=C  
        State: Okay にしてgrepしやすくした  
        State: Okay    
      Read option: roundrobin (default) Read optionはすべてroundrobin  
      State: Okay    
      State: Okay stateはすべてOKなので正常な状態  
  d40: Mirror    
        State: Okay    
        State: Okay    
      Read option: roundrobin (default)    
      State: Okay    
      State: Okay    
  d30: Mirror    
        State: Okay    
        State: Okay    
      Read option: roundrobin (default)    
      State: Okay    
      State: Okay    
  d20: Mirror    
        State: Okay    
        State: Okay    
      Read option: roundrobin (default)    
      State: Okay    
      State: Okay    
  d10: Mirror    
        State: Okay    
        State: Okay    
      Read option: roundrobin (default)    
      State: Okay    
      State: Okay    
  d50: Mirror    
        State: Okay    
        State: Okay    
      Read option: roundrobin (default)    
      State: Okay    
      State: Okay    
       
       
  # metaparam -r first d10 - Read Optionの変更  
  # metaparam -r first d30 高速にdumpができるようにfirstに変更  
  # metaparam -r first d40    
  # metaparam -r first d50    
  # metaparam -r first d60    
       
       
  # metastat | egrep 'Mirror|State:|Read option' - 確認  
  d60: Mirror d20(swap)以外のRead Optionがfirstで  
        State: Okay StateはすべてOKであること  
        State: Okay    
      Read option: first (-r)    
      State: Okay    
      State: Okay    
  d40: Mirror    
        State: Okay    
        State: Okay    
      Read option: first (-r)    
      State: Okay    
      State: Okay    
  d30: Mirror    
        State: Okay    
        State: Okay    
      Read option: first (-r)    
      State: Okay    
      State: Okay    
  d20: Mirror    
        State: Okay    
        State: Okay    
      Read option: roundrobin (default)    
      State: Okay    
      State: Okay    
  d10: Mirror    
        State: Okay    
        State: Okay    
      Read option: first (-r)    
      State: Okay    
      State: Okay    
  d50: Mirror    
        State: Okay    
        State: Okay    
      Read option: first (-r)    
      State: Okay    
      State: Okay    
       
       
  # ufsdump 0uf /mnt/d60_s6_var.dump /var - ufsdumpの実行  
    DUMP: Date of this level 0 dump: Sun Aug 03 13:44:35 2014 最初は試しに容量の少ない/varから実行  
    DUMP: Date of last level 0 dump: the epoch    
    DUMP: Dumping /dev/md/rdsk/d60 (solaris10-gz:/var) to /mnt/d60_s6_var.dump. フルバックアップのため 0 を指定  
    DUMP: Mapping (Pass I) [regular files] バックアップ先は/mnt以下とする  
    DUMP: Mapping (Pass II) [directories] (=NFSサーバの共有ディレクトリ)  
    DUMP: Writing 32 Kilobyte records    
    DUMP: Estimated 211042 blocks (103.05MB).    
    DUMP: Dumping (Pass III) [directories]    
    DUMP: Dumping (Pass IV) [regular files]    
    DUMP: 211006 blocks (103.03MB) on 1 volume at 4211 KB/sec    
    DUMP: DUMP IS DONE    
    DUMP: Level 0 dump on Sun Aug 03 13:44:35 2014    
       
  # ufsdump 0uf /mnt/d10_s0_root.dump / 残りも順次実行  
  # ufsdump 0uf /mnt/d30_s3_usr.dump /usr    
  # ufsdump 0uf /mnt/d40_s4_zone.dump /zone    
  # ufsdump 0uf /mnt/d50_s5_export.dump /export    
       
       
  # ls -l /mnt - 確認  
  total 16117184    
  -rw-------   1 root     root     1376976896 Aug  3 14:02 d10_s0_root.dump    
  -rw-------   1 root     root     4703027200 Aug  3 14:16 d30_s3_usr.dump    
  -rw-------   1 root     root     1028161536 Aug  3 14:26 d40_s4_zone.dump    
  -rw-------   1 root     root     1031700480 Aug  3 14:31 d50_s5_export.dump    
  -rw-------   1 root     root     108036096 Aug  3 13:45 d60_s6_var.dump    
       
       
  # metaparam -r roundrobin d10 - Read Optionの戻し  
  # metaparam -r roundrobin d30 最初のroundrobinに変更する  
  # metaparam -r roundrobin d40    
  # metaparam -r roundrobin d50    
  # metaparam -r roundrobin d60    
       
  # metastat | egrep 'Mirror|State:|Read option' - 確認  
  (省略) 元に戻っていることを確認  
       
  6.NFSのアンマウント    
  # umount /mnt - NFS共有ディレクトリをアンマウント  
       
  # df -h - 確認  
  Filesystem             size   used  avail capacity  Mounted on    
  /dev/md/dsk/d10         11G   1.3G   9.4G    13%    /    
  /devices                 0K     0K     0K     0%    /devices    
  ctfs                     0K     0K     0K     0%    /system/contract    
  proc                     0K     0K     0K     0%    /proc    
  mnttab                   0K     0K     0K     0%    /etc/mnttab    
  swap                   1.2G   1.6M   1.2G     1%    /etc/svc/volatile    
  objfs                    0K     0K     0K     0%    /system/object    
  sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab    
  /dev/md/dsk/d30        6.9G   4.3G   2.6G    63%    /usr    
  fd                       0K     0K     0K     0%    /dev/fd    
  /dev/md/dsk/d60        3.9G    83M   3.8G     3%    /var    
  swap                   1.2G    32K   1.2G     1%    /tmp    
  swap                   1.2G    56K   1.2G     1%    /var/run    
  /dev/md/dsk/d50        5.9G   976M   4.9G    17%    /export    
  /dev/md/dsk/d40        3.9G   971M   3.0G    25%    /zone    
       
  7.予備機のDisk1にダウンロード    
  ここで用意した予備機は、Disk0とDisk1有り、    
  Disk0にsokaris9(10)インストール済み、シングル構成    
  # format - Disk1のformat  
  Specify disk (enter its number): 1 とりあえずDisk1のs7にdumpファイルを  
    保存できる容量を用意した  
  partition> print    
  Current partition table (original):    
  Total disk cylinders available: 24620 + 2 (reserved cylinders)    
       
  Part      Tag    Flag     Cylinders         Size            Blocks    
    0 unassigned    wm       0                0         (0/0/0)            0    
    1 unassigned    wu       0                0         (0/0/0)            0    
    2 unassigned    wm       0 - 24619       33.92GB    (24620/0/0) 71127180    
    3 unassigned    wm       0                0         (0/0/0)            0    
    4 unassigned    wm       0                0         (0/0/0)            0    
    5 unassigned    wm       0                0         (0/0/0)            0    
    6 unassigned    wm       0                0         (0/0/0)            0    
    7 unassigned    wm       0 - 21800       30.03GB    (21801/0/0) 62983089    
       
  # newfs /dev/rdsk/c1t1d0s7 - ファイルシステム作成  
       
  # fsck /dev/rdsk/c1t1d0s7 - ファイルシステムの検証  
       
  # mount -F ufs /dev/dsk/c1t1d0s7 /mnt - Disk1のs7を/mntにマウント  
       
  # mount -F nfs -o rw,soft 192.168.24.140:/export/home/test2000 /nfs - 共有ディレクトリを/nfsにマウント  
       
  # df -h - 確認  
  ファイルシステム     サイズ 使用済み 使用可能 容量      マウント先    
  /dev/dsk/c1t0d0s0      9.5G   135M   9.3G     2%    /    
  /dev/dsk/c1t0d0s6      4.0G   1.7G   2.2G    44%    /usr    
  /proc                    0K     0K     0K     0%    /proc    
  mnttab                   0K     0K     0K     0%    /etc/mnttab    
  fd                       0K     0K     0K     0%    /dev/fd    
  swap                   1.3G    40K   1.3G     1%    /var/run    
  swap                   1.3G     0K   1.3G     0%    /tmp    
  /dev/dsk/c1t0d0s3      3.0G   3.1M   3.0G     1%    /export    
  /dev/dsk/c1t0d0s5      4.0G   266M   3.7G     7%    /opt    
  /dev/dsk/c1t1d0s7       30G    30M    29G     1%    /mnt    
  192.168.24.140:/export/home/test2000    
                          43G   7.7G    35G    19%    /nfs    
       
  # ls -l /mnt - dumpファイルのダウンロード  
  合計 16117200 /mnt(NFSサーバ)にあるdumpファイルを  
  -rw-------   1 root     other    1376976896  8月  3日  15:55 d10_s0_root.dump /nfs(Disk1のs7)にダウンロード  
  -rw-------   1 root     other    4703027200  8月  3日  16:08 d30_s3_usr.dump    
  -rw-------   1 root     other    1028161536  8月  3日  16:11 d40_s4_zone.dump    
  -rw-------   1 root     other    1031700480  8月  3日  16:14 d50_s5_export.dump    
  -rw-------   1 root     other    108036096  8月  3日  16:14 d60_s6_var.dump    
  drwx------   2 root     root        8192  8月  3日  15:45 lost+found    
       
  # cp /nfs/* /mnt - dumpファイルの移動  
    とりあえずcpで  
       
  # ls -l /nfs - 確認  
  合計 16117184 ファイルサイズが一致していること  
  -rw-------   1 root     root     1376976896  8月  3日  14:02 d10_s0_root.dump    
  -rw-------   1 root     root     4703027200  8月  3日  14:16 d30_s3_usr.dump    
  -rw-------   1 root     root     1028161536  8月  3日  14:26 d40_s4_zone.dump    
  -rw-------   1 root     root     1031700480  8月  3日  14:31 d50_s5_export.dump    
  -rw-------   1 root     root     108036096  8月  3日  13:45 d60_s6_var.dump    
       
  # umount /nfs - アンマウント  
  # umount /mnt /nfsと/mntをアンマウント  
       
  # df -h - 確認  
  ファイルシステム     サイズ 使用済み 使用可能 容量      マウント先    
  /dev/dsk/c1t0d0s0      9.5G   135M   9.3G     2%    /    
  /dev/dsk/c1t0d0s6      4.0G   1.7G   2.2G    44%    /usr    
  /proc                    0K     0K     0K     0%    /proc    
  mnttab                   0K     0K     0K     0%    /etc/mnttab    
  fd                       0K     0K     0K     0%    /dev/fd    
  swap                   1.3G    40K   1.3G     1%    /var/run    
  swap                   1.3G     0K   1.3G     0%    /tmp    
  /dev/dsk/c1t0d0s3      3.0G   3.1M   3.0G     1%    /export    
  /dev/dsk/c1t0d0s5      4.0G   266M   3.7G     7%    /opt    
       
  # shutdown -y -i0 -g0 - 予備機のshutdown  
    この後okプロンプトになる  
       
  予備機のLANケーブルを抜く この後復元した際に接続したままだと  
    現用機とアドレスが重複するため  
       
       
  8.DVDを使ってCDブート    
  予備機にsolaris10のDVDを挿入し、CDブートを実行    
  ok boot cdrom -s - CDブートの実行  
  (省略)    
       
  Skipped interface eri0    
  Requesting System Maintenance Mode    
  SINGLE USER MODE - 確認  
  # Singleユーザモードであること  
       
  9.Disk0のフォーマット    
  Disk0について、現用機と同じスライス構成とする    
  # format - formatの実行  
  Searching for disks...done    
       
       
  AVAILABLE DISK SELECTIONS:    
         0. c1t0d0 <FUJITSU-MAN3367MC-5207 cyl 24214 alt 2 hd 4 sec 737>    
            /pci@1f,0/pci@1/scsi@8/sd@0,0    
         1. c1t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>    
            /pci@1f,0/pci@1/scsi@8/sd@1,0    
  Specify disk (enter its number): 0 Disk0を選択  
  selecting c1t0d0    
  [disk formatted]    
       
  format> partition    
       
  partition> print 現在のDisk0のスライス構成を確認  
  Current partition table (original):    
  Total disk cylinders available: 24620 + 2 (reserved cylinders) 今回はすでに他で使ったことのあるDiskのため  
    スライス構成されているが、現用機と異なる  
  Part      Tag    Flag     Cylinders         Size            Blocks ので、現用機のスライス構成と同じに変更する  
    0       root    wm   17361 - 24213        9.63GB    (6853/0/0)  20202644    
    1       swap    wu       0 -   361      521.08MB    (362/0/0)    1067176    
    2     backup    wm       0 - 24213       34.04GB    (24214/0/0) 71382872    
    3 unassigned    wm    9377 - 11554        3.06GB    (2178/0/0)   6420744    
    4 unassigned    wm       0                0         (0/0/0)            0    
    5 unassigned    wm   14458 - 17360        4.08GB    (2903/0/0)   8558044    
    6        usr    wm   11555 - 14457        4.08GB    (2903/0/0)   8558044    
    7 unassigned    wm       0                0         (0/0/0)            0    
       
  partition> 0 一度全てのスライスの容量を0に戻す  
  Part      Tag    Flag     Cylinders         Size            Blocks    
    0       root    wm     726 -  1323      843.57MB    (598/0/0)    1727622    
       
  Enter partition id tag[root]:     
  Enter partition permission flags[wm]:    
  Enter new starting cyl[726]:0    
  Enter partition size[1811403b, 627c, 24619e, 884.47mb, 0.86gb]:0    
       
  partition> 1 スライス2(backup)以外のスライスも同様に  
  (省略) 容量を0に戻す  
    (やり方は同じなので省略)  
       
       
  partition> 0 改めてスライス0からの容量などを  
  Part      Tag    Flag     Cylinders         Size            Blocks 現用機と同じ設定にする  
    0       root    wm       0                0         (0/0/0)            0    
       
       
  Enter partition id tag[root]:  rootのままなのでEnter  
  Enter partition permission flags[wm]: wmのままなのでEnter  
  Enter new starting cyl[726]:0 開始シリンダは0なのでそのままEnter  
  Enter partition size[1811403b, 627c, 24619e, 884.47mb, 0.86gb]:7985e 終了シリンダは7985なので、7985eでEnter  
       
       
  partition> 1 スライス2(backup)以外のスライスも同様に  
  (省略) 容量などを現用機と同じ設定する  
       
  partition> print printで確認  
  Current partition table (unnamed): 多少容量が違う場合は、スライス7で調整した  
  Total disk cylinders available: 24214 + 2 (reserved cylinders) (スライス7はミラーの状態データベース用)  
       
  Part      Tag    Flag     Cylinders         Size            Blocks    
    0       root    wm       0 -  7985       11.23GB    (7986/0/0)  23542728    
    1       swap    wu    7986 -  8711        1.02GB    (726/0/0)    2140248    
    2     backup    wm       0 - 24213       34.04GB    (24214/0/0) 71382872    
    3        usr    wm    8712 - 13793        7.14GB    (5082/0/0)  14981736    
    4 unassigned    wm   13794 - 16697        4.08GB    (2904/0/0)   8560992    
    5 unassigned    wm   16698 - 21053        6.12GB    (4356/0/0)  12841488    
    6        var    wm   21054 - 23957        4.08GB    (2904/0/0)   8560992    
    7 unassigned    wm   23958 - 24213      368.50MB    (256/0/0)     754688    
       
  partition> name original テーブル名も合わせる  
  Enter table name (remember quotes): original    
       
  partition> label 設定の保存  
  Ready to label disk, continue? yes    
       
  partition> q    
  format> q    
       
       
  # newfs /dev/rdsk/c1t0d0s0 - ファイルシステムの作成  
  newfs: /dev/rdsk/c1t0d0s0 last mounted as /    
  newfs: construct a new file system /dev/rdsk/c1t0d0s0: (y/n)? y    
  Warning: 1080 sector(s) in last cylinder unallocated    
  /dev/rdsk/c1t0d0s0:     23542728 sectors in 3832 cylinders of 48 tracks, 128 sectors    
          11495.5MB in 240 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)    
  super-block backups (for fsck -F ufs -o b=#) at:    
   32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,    
   22614816, 22713248, 22811680, 22910112, 23008544, 23106976, 23205408,    
   23303840, 23402272, 23500704    
  # newfs /dev/rdsk/c1t0d0s3 s3〜s7までの結果は省略  
  # newfs /dev/rdsk/c1t0d0s4    
  # newfs /dev/rdsk/c1t0d0s5    
  # newfs /dev/rdsk/c1t0d0s6    
  # newfs /dev/rdsk/c1t0d0s7    
       
  # fsck /dev/rdsk/c1t0d0s0 - ファイルシステムの検証  
  ** /dev/rdsk/c1t0d0s0    
  ** Last Mounted on    
  ** Phase 1 - Check Blocks and Sizes    
  ** Phase 2 - Check Pathnames    
  ** Phase 3a - Check Connectivity    
  ** Phase 3b - Verify Shadows/ACLs    
  ** Phase 4 - Check Reference Counts    
  ** Phase 5 - Check Cylinder Groups    
  2 files, 9 used, 11592775 free (15 frags, 1449095 blocks, 0.0% fragmentation)    
       
  # fsck /dev/rdsk/c1t0d0s3 s3〜s7までの結果は省略  
  # fsck /dev/rdsk/c1t0d0s4    
  # fsck /dev/rdsk/c1t0d0s5    
  # fsck /dev/rdsk/c1t0d0s6    
  # fsck /dev/rdsk/c1t0d0s7    
       
  10.ufsrestoreによる復元    
  復元するスライスをマウントし、dumpファイルを使って復元する    
  # mount /dev/dsk/c1t1d0s7 /mnt - Disk1のマウント  
    dumpファイルが保存されているDisk1  
    のs7をマウント  
       
  # df -h - 確認  
  Filesystem             size   used  avail capacity  Mounted on    
  /ramdisk-root:a        190M   169M   2.0M    99%    /    
  /devices                 0K     0K     0K     0%    /devices    
  ctfs                     0K     0K     0K     0%    /system/contract    
  proc                     0K     0K     0K     0%    /proc    
  mnttab                   0K     0K     0K     0%    /etc/mnttab    
  swap                   712M   344K   711M     1%    /etc/svc/volatile    
  objfs                    0K     0K     0K     0%    /system/object    
  sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab    
  swap                   712M   592K   711M     1%    /tmp    
  /tmp/dev               712M   592K   711M     1%    /dev    
  fd                       0K     0K     0K     0%    /dev/fd    
  /devices/pci@1f,0/pci@1,1/ide@d/sd@0,0:f    
                         2.5G   2.5G     0K   100%    /cdrom    
  swap                   711M     0K   711M     0%    /tmp/root/var/run    
  /dev/dsk/c1t1d0s7       30G   7.7G    22G    27%    /mnt    
       
  # ls -l /mnt    
  total 16117200    
  -rw-------   1 root     other    1376976896 Aug  2 23:55 d10_s0_root.dump    
  -rw-------   1 root     other    4703027200 Aug  3 00:08 d30_s3_usr.dump    
  -rw-------   1 root     other    1028161536 Aug  3 00:11 d40_s4_zone.dump    
  -rw-------   1 root     other    1031700480 Aug  3 00:14 d50_s5_export.dump    
  -rw-------   1 root     other    108036096 Aug  3 00:14 d60_s6_var.dump    
  drwx------   2 root     root        8192 Aug  2 23:45 lost+found    
       
       
  # ls /var/tmp - ufsrestoreの実行  
    マウントポイントの/var/tmpが  
    空であることを確認  
       
  # mount /dev/dsk/c1t0d0s0 /var/tmp - /var/tmpにマウント  
    復元対象のスライス名をマウント(ここではs0)  
       
       
  # df -h - 確認  
  Filesystem             size   used  avail capacity  Mounted on    
  /ramdisk-root:a        190M   169M   2.0M    99%    /    
  /devices                 0K     0K     0K     0%    /devices    
  ctfs                     0K     0K     0K     0%    /system/contract    
  proc                     0K     0K     0K     0%    /proc    
  mnttab                   0K     0K     0K     0%    /etc/mnttab    
  swap                   711M   344K   711M     1%    /etc/svc/volatile    
  objfs                    0K     0K     0K     0%    /system/object    
  sharefs                  0K     0K     0K     0%    /etc/dfs/sharetab    
  swap                   712M   592K   711M     1%    /tmp    
  /tmp/dev               712M   592K   711M     1%    /dev    
  fd                       0K     0K     0K     0%    /dev/fd    
  /devices/pci@1f,0/pci@1,1/ide@d/sd@0,0:f    
                         2.5G   2.5G     0K   100%    /cdrom    
  swap                   711M     0K   711M     0%    /tmp/root/var/run    
  /dev/dsk/c1t1d0s7       30G   7.7G    22G    27%    /mnt    
  /dev/dsk/c1t0d0s0       11G    11M    11G     1%    /tmp/root/var/tmp    
       
       
  # cd /var/tmp - 移動  
       
  # pwd /var/tmp = /tmp/root/var/tmp  
  /tmp/root/var/tmp    
       
  # ufsrestore if /mnt/d10_s0_root.dump - dumpファイルの内容確認  
  ufsrestore > ls iオプションでdumpファイルの内容を確認し、  
  .: 間違いないことを確認  
   .bash_history   devices/        lib/            platform/       usr/    
   .sunw/          etc/            lost+found/     proc/           var/    
   bin             export/         mnt/            sbin/           vol/    
   boot/           home/           net/            system/         zone/    
   dev/            kernel/         opt/            tmp/            zone2.txt    
  ufsrestore > q qで抜ける  
       
  # ufsrestore rf /mnt/d10_s0_root.dump - ufsrestoreの実行  
  Warning: ./lost+found: File exists /var/tmp(=Disk0のs0)に/のdumpファイル  
    を使って復元  
    左記のWarningは無視(問題ない)  
       
  # ls - 確認  
  bin              home             opt              tmp    
  boot             kernel           platform         usr    
  dev              lib              proc             var    
  devices          lost+found       restoresymtable  vol    
  etc              mnt              sbin             zone    
  export           net              system           zone2.txt    
       
  # rm restoresymtable - 復元時の一時ファイルの削除  
    restoresymtableは不要なので削除  
       
  # cd - 移動  
       
  # umount /tmp/root/var/tmp - /var/tmpのアンマウント  
       
  # fsck /dev/rdsk/c1t0d0s0 - ファイルシステムの検証  
  ** /dev/rdsk/c1t0d0s0 問題ないことを確認  
  ** Last Mounted on /tmp/root/var/tmp    
  ** Phase 1 - Check Blocks and Sizes    
  ** Phase 2 - Check Pathnames    
  ** Phase 3a - Check Connectivity    
  ** Phase 3b - Verify Shadows/ACLs    
  ** Phase 4 - Check Reference Counts    
  ** Phase 5 - Check Cylinder Groups    
  13282 files, 1341692 used, 10239588 free (212 frags, 1279922 blocks, 0.0% fragmentation)    
       
  # mount /dev/dsk/c1t0d0s3 /var/tmp 残りのスライスも上記と同様の方法で  
  # df -h 順次復元させる  
  # cd /var/tmp (出力結果は省略)  
  # pwd    
  # ufsrestore if /mnt/d30_s3_usr.dump    
  # ufsrestore rf /mnt/d30_s3_usr.dump    
  # ls    
  # rm restoresymtable    
  # cd    
  # umount /tmp/root/var/tmp    
  # fsck /dev/rdsk/c1t0d0s3    
       
  # mount /dev/dsk/c1t0d0s4 /var/tmp    
  # df -h    
  # cd /var/tmp    
  # pwd    
  # ufsrestore if /mnt/d40_s4_zone.dump    
  # ufsrestore rf /mnt/d40_s4_zone.dump    
  # ls    
  # rm restoresymtable    
  # cd    
  # umount /tmp/root/var/tmp    
  # fsck /dev/rdsk/c1t0d0s4    
       
  # mount /dev/dsk/c1t0d0s5 /var/tmp    
  # df -h    
  # cd /var/tmp    
  # pwd    
  # ufsrestore if /mnt/d50_s5_export.dump    
  # ufsrestore rf /mnt/d50_s5_export.dump    
  # ls    
  # rm restoresymtable    
  # cd    
  # umount /tmp/root/var/tmp    
  # fsck /dev/rdsk/c1t0d0s5    
       
  # mount /dev/dsk/c1t0d0s6 /var/tmp    
  # df -h    
  # cd /var/tmp    
  # pwd    
  # ufsrestore if /mnt/d60_s6_var.dump    
  # ufsrestore rf /mnt/d60_s6_var.dump    
  # ls    
  # rm restoresymtable    
  # cd    
  # umount /tmp/root/var/tmp    
  # fsck /dev/dsk/c1t0d0s6    
       
       
  # installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk /dev/rdsk/c1t0d0s0 - ブートブロックの作成  
    ルートパーティションにブートブロック  
    を作成する  
       
  11.ミラー構成をシングル構成に戻す    
  dumpファイルはミラー構成時に取得しているので、復元された情報もミラー構成のままとなっている。  
  そのため、ミラー構成情報を修正してシングル構成に戻す必要がある。    
    - /etc/systemの修正  
  # mount /dev/dsk/c1t0d0s0 /mnt 再びDisk0のs0をマウント  
       
  # cd /mnt/etc 移動  
       
  # vi system rootdevで始まる行を*でコメントアウト  
    (もしくは削除)  
  *rootdev:/pseudo/md@0:0,10,blk    
       
       
  # cp _vfstab.org vfstab - /etc/vfstabの修正  
    シングル構成時にバックアップしていた  
  # cat vfstab vfstabで上書き修正した  
  #device         device          mount           FS      fsck    mount   mount (viで戻すのは面倒)  
  #to mount       to fsck         point           type    pass    at boot options    
  #    
  fd      -       /dev/fd fd      -       no      -    
  /proc   -       /proc   proc    -       no      -    
  /dev/dsk/c1t0d0s1       -       -       swap    -       no      -    
  /dev/dsk/c1t0d0s0       /dev/rdsk/c1t0d0s0      /       ufs     1       no      -    
  /dev/dsk/c1t0d0s3       /dev/rdsk/c1t0d0s3      /usr    ufs     1       no      -    
  /dev/dsk/c1t0d0s6       /dev/rdsk/c1t0d0s6      /var    ufs     1       no      -    
  /dev/dsk/c1t0d0s5       /dev/rdsk/c1t0d0s5      /export ufs     2       yes     -    
  /dev/dsk/c1t0d0s4       /dev/rdsk/c1t0d0s4      /zone   ufs     2       yes     -    
  /devices        -       /devices        devfs   -       no      -    
  sharefs -       /etc/dfs/sharetab       sharefs -       no      -    
  ctfs    -       /system/contract        ctfs    -       no      -    
  objfs   -       /system/object  objfs   -       no      -    
  swap    -       /tmp    tmpfs   -       yes     -    
       
       
  # shutdown -y -i6 -g0 - 再起動  
       
  DVDを取り出す    
       
  Shutdown started.    Sun Aug  3 01:53:29 PDT 2014    
  (省略)    
  Hostname: solaris10-gz    
  SUNW,eri0 : 100 Mbps full duplex link up    
  /dev/rdsk/c1t0d0s5 is clean    
  /dev/rdsk/c1t0d0s4 is clean    
  Reading ZFS config: done.    
       
  solaris10-gz console login: root - ログインをして設定を確認  
  Password:    
  Last login: Sun Aug  3 11:34:28 on console    
  Aug  3 17:57:14 solaris10-gz login: ROOT LOGIN /dev/console    
  Sun Microsystems Inc.   SunOS 5.10      Generic January 2005    
  #    
       
  # hostname ホスト名の確認  
       
  # ifconfig -a インターフェースの確認  
       
  (本番では難しいが、外部へping疎通ができることを確認済み)    
       
       
       
  # df -k ディスク容量の確認  
  ファイルシステム      kbytes 使用済み 使用可能 容量      マウント先 現用機とほぼ変わらず  
  /dev/dsk/c1t0d0s0    11592784 1376329 10100528    12%    /    
  /devices                   0       0       0     0%    /devices    
  ctfs                       0       0       0     0%    /system/contract    
  proc                       0       0       0     0%    /proc    
  mnttab                     0       0       0     0%    /etc/mnttab    
  swap                 1215944    1584 1214360     1%    /etc/svc/volatile    
  objfs                      0       0       0     0%    /system/object    
  sharefs                    0       0       0     0%    /etc/dfs/sharetab    
  /dev/dsk/c1t0d0s3    7377017 4460948 2842299    62%    /usr    
  fd                         0       0       0     0%    /dev/fd    
  /dev/dsk/c1t0d0s6    4215006   85566 4087290     3%    /var    
  swap                 1214392      32 1214360     1%    /tmp    
  swap                 1214416      56 1214360     1%    /var/run    
  /dev/dsk/c1t0d0s5    6323261  999758 5260271    16%    /export    
  /dev/dsk/c1t0d0s4    4215006  994354 3178502    24%    /zone    
       
       
  # metadb metadb, metastatでRAID1構成に  
  metadb: solaris10-gz: there are no existing databases なっていないことを確認  
       
       
  # metastat    
  metastat: solaris10-gz: there are no existing databases    
       
       
  # zoneadm list -vc zoneの状態確認  
    ID NAME             STATUS     PATH                           BRAND    IP zone1は自動起動設定にしているので、  
     0 global           running    /                              native   shared running状態  
     1 solaris10-zone1  running    /zone                          native   shared zone2については自動起動設定に  
     - solaris10-zone2  installed  /export/zone2                  native   shared していないので、installedのまま  
       
  # zlogin solaris10-zone1 zone1にログインができることを確認  
  [ゾーン 'solaris10-zone1' pts/1 に接続されました]    
  Last login: Sun Aug  3 11:35:24 on pts/1    
  Sun Microsystems Inc.   SunOS 5.10      Generic January 2005    
       
  # hostname    
  solaris10-zone1    
  #    
  # exit    
       
  [ゾーン 'solaris10-zone1' pts/1 への接続が閉じられました]    
       
       
  # zoneadm -z solaris10-zone2 boot zone2が問題なく起動でき、ログイン  
  # できるところまで確認  
  # zlogin solaris10-zone2    
  [ゾーン 'solaris10-zone2' pts/1 に接続されました]    
  Last login: Sun Aug  3 01:00:33 on console    
  Sun Microsystems Inc.   SunOS 5.10      Generic January 2005    
       
  # hostname    
  solaris10-zone2    
  # exit    
       
  [ゾーン 'solaris10-zone2' pts/1 への接続が閉じられました]    
       
       
       
       
  12.ミラー構成に戻す    
  通常のミラー設定と同じのため、省略