VMにプライマリと同じサイズのディスクを追加する。今回は12Gbyte HDDを追加。
関連ファイルのバックアップを行う。それぞれ、cp -p 元ファイル名 元ファイル名.yyyymmddなどでバックアップ。
ディスクの命名規則は以下の通りとする。
mount | ミラーディスク名 | サブミラー名 | |
---|---|---|---|
c0d0上 | c0d1上 | ||
/ | d0 | d10 | d20 |
/var | d3 | d13 | d23 |
swap | d4 | d14 | d24 |
/opt | d5 | d15 | d25 |
/usr | d6 | d16 | d26 |
/export/home | d7 | d17 | d27 |
追加したHDDを認識させる。
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0d0 <DEFAULT cyl 1563 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 Specify disk (enter its number):
# devfsadm # (特に応答はない)
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0d0 <DEFAULT cyl 1563 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c0d1 <DEFAULT cyl 1564 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0 Specify disk (enter its number):
c0d1にSolaris用の領域を確保する。
format> fdisk No fdisk table exists. The default partition for the disk is: a 100% "SOLARIS System" partition Type "y" to accept the default partition, otherwise type "n" to edit the partition table. n
Total disk size is 1566 cylinders Cylinder size is 16065 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === WARNING: no partitions are defined!SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 1 Select the partition type to create: 1=SOLARIS2 2=UNIX 3=PCIXOS 4=Other 5=DOS12 6=DOS16 7=DOSEXT 8=DOSBIG 9=DOS16LBA A=x86 Boot B=Diagnostic C=FAT32 D=FAT32LBA E=DOSEXTLBA F=EFI 0=Exit? 1 Specify the percentage of disk to use for this partition (or type "c" to specify the size in cylinders). 100 Should this become the active partition? If yes, it will be activated each time the computer is reset or turned on. Please type "y" or "n". n
パーティション情報のコピー
# prtvtoc /dev/rdsk/c0d0s2 | fmthard -s - /dev/rdsk/c0d1s2 fmthard: New volume table of contents now in place. #
# prtvtoc /dev/rdsk/c0d1s2 * /dev/rdsk/c0d1s2 partition map * * Dimensions: * 512 bytes/sector * 63 sectors/track * 255 tracks/cylinder * 16065 sectors/cylinder * 1565 cylinders * 1563 accessible cylinders * * Flags: * 1: unmountable * 10: read-only * * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 0 2 00 48195 1076355 1124549 1 0 00 1124550 273105 1397654 2 5 00 0 25109595 25109594 3 7 00 1397655 4209030 5606684 4 3 01 5606685 2104515 7711199 5 0 00 7711200 2104515 9815714 6 4 00 9815715 14233590 24049304 7 8 00 24049305 1060290 25109594 8 1 01 0 16065 16064 9 9 01 16065 32130 48194 #
ファイルシステムの作成
# cat /var/tmp/01_newfs.sh #!/bin/sh newfs /dev/rdsk/c0d1s0 newfs /dev/rdsk/c0d1s1 newfs /dev/rdsk/c0d1s3 newfs /dev/rdsk/c0d1s4 newfs /dev/rdsk/c0d1s5 newfs /dev/rdsk/c0d1s6 newfs /dev/rdsk/c0d1s7
# sh /var/tmp/01_newfs.sh /dev/rdsk/c0d1s0: Unable to find Media type. Proceeding with system determined parameters. newfs: construct a new file system /dev/rdsk/c0d1s0: (y/n)? y /dev/rdsk/c0d1s0: Unable to find Media type. Proceeding with system determined parameters. Warning: 4990 sector(s) in last cylinder unallocated /dev/rdsk/c0d1s0: 1076354 sectors in 176 cylinders of 48 tracks, 128 sectors 525.6MB in 14 cyl groups (13 c/g, 39.00MB/g, 18624 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 80032, 160032, 240032, 320032, 400032, 480032, 560032, 640032, 720032, 800032, 880032, 960032, 1040032 (以下、c0d1s7まで続く)
c0d1を起動ディスクとして使用可能にする
# fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c0d1p0 Total disk size is 1566 cylinders Cylinder size is 16065 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Solaris2 1 1565 1565 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 5
# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0d1s0 Solaris boot partition inactive. stage1 written to partition 0 sector 0 (abs 16065) stage2 written to partition 0, 265 sectors starting at 50 (abs 16115) #
状態データベースの作成
# umount /REPLICA #
#/dev/dsk/c0d0s1 /dev/rdsk/c0d0s1 /REPLICA ufs 2 yes -
# rm -r /REPLICA
* 状態データベースを作成する
# metadb -a -c 5 -l 8192 -f c0d0s1 c0d1s1 #
# metadb flags first blk block count a u 16 8192 /dev/dsk/c0d0s1 a u 8208 8192 /dev/dsk/c0d0s1 a u 16400 8192 /dev/dsk/c0d0s1 a u 24592 8192 /dev/dsk/c0d0s1 a u 32784 8192 /dev/dsk/c0d0s1 a u 16 8192 /dev/dsk/c0d1s1 a u 8208 8192 /dev/dsk/c0d1s1 a u 16400 8192 /dev/dsk/c0d1s1 a u 24592 8192 /dev/dsk/c0d1s1 a u 32784 8192 /dev/dsk/c0d1s1 #
ミラーの作成
#!/bin/sh metainit -f d10 1 1 c0d0s0 metainit -f d20 1 1 c0d1s0 metainit d0 -m d10 metainit -f d13 1 1 c0d0s3 metainit -f d23 1 1 c0d1s3 metainit d3 -m d13 metainit -f d14 1 1 c0d0s4 metainit -f d24 1 1 c0d1s4 metainit d4 -m d14 metainit -f d15 1 1 c0d0s5 metainit -f d25 1 1 c0d1s5 metainit d5 -m d15 metainit -f d16 1 1 c0d0s6 metainit -f d26 1 1 c0d1s6 metainit d6 -m d16 metainit -f d17 1 1 c0d0s7 metainit -f d27 1 1 c0d1s7 metainit d7 -m d17
</code> # sh /var/tmp/02_metainit.sh d10: Concat/Stripe is setup d20: Concat/Stripe is setup d0: Mirror is setup
(中略)
d17: Concat/Stripe is setup d27: Concat/Stripe is setup d7: Mirror is setup # </code>
状態確認
# metastat d7: Mirror Submirror 0: d17 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 1060290 blocks (517 MB) d17: Submirror of d7 State: Okay Size: 1060290 blocks (517 MB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c0d0s7 0 No Okay Yes (以下略)
起動ディスク変更
# metaroot d0 #
# cat /etc/vfstab #device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # fd - /dev/fd fd - no - /proc - /proc proc - no - /dev/dsk/c0d0s4 - - swap - no - /dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no - (以下略)
# cat /etc/system (中略) * Begin MDD root info (do not edit) rootdev:/pseudo/md@0:0,0,blk * End MDD root info (do not edit)
mount point | FS type | 変更前 | 変更後 | ||
---|---|---|---|---|---|
device to mount | device to fsck | device to mount | device to fsck | ||
/ | ufs | /dev/dsk/c0d0s0 | /dev/rdsk/c0d0s0 | /dev/md/dsk/d0 | /dev/md/rdsk/d0 |
/var | ufs | /dev/dsk/c0d0s3 | /dev/rdsk/c0d0s3 | /dev/md/dsk/d3 | /dev/md/rdsk/d3 |
- | swap | /dev/dsk/c0d0s4 | - | /dev/md/dsk/d4 | - |
/opt | ufs | /dev/dsk/c0d0s5 | /dev/rdsk/c0d0s5 | /dev/md/dsk/d5 | /dev/md/rdsk/d5 |
/usr | ufs | /dev/dsk/c0d0s6 | /dev/rdsk/c0d0s6 | /dev/md/dsk/d6 | /dev/md/rdsk/d6 |
/export/home | ufs | /dev/dsk/c0d0s7 | /dev/rdsk/c0d0s7 | /dev/md/dsk/d7 | /dev/md/rdsk/d7 |
一度リブート後、サブミラーの接続を行う。
#!/bin/sh metattach d0 d20 metattach d3 d23 metattach d4 d24 metattach d5 d25 metattach d6 d26 metattach d7 d27
# sh /var/tmp/03_metattach.sh d0: submirror d20 is attached d3: submirror d23 is attached d4: submirror d24 is attached d5: submirror d25 is attached d6: submirror d26 is attached d7: submirror d27 is attached #
# metastat d7: Mirror Submirror 0: d17 State: Okay Submirror 1: d27 State: Resyncing Resync in progress: 6 % done Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 1060290 blocks (517 MB) d17: Submirror of d7 State: Okay Size: 1060290 blocks (517 MB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c0d0s7 0 No Okay Yes d27: Submirror of d7 State: Resyncing Size: 1060290 blocks (517 MB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c0d1s7 0 No Okay Yes (以下略)
同期完了の確認を行う。同期の進捗は以下の様に出力される。何も表示されなくなったら完了。
# metastat | grep done Resync in progress: 46 % done Resync in progress: 24 % done Resync in progress: 24 % done Resync in progress: 12 % done Resync in progress: 51 % done Resync in progress: 2 % done #
metastatで各ミラー(d<n>)に属するSubmirrorのStateが全てOkay(Resyncingではない)であれば同期完了
GRUB設定
title alternate boot root(hd1,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive
追加した構成で起動できる事を確認する。
2面ミラー構成後に3面ミラーにする手順は下記の通り。
VMにプライマリと同じサイズのディスクを追加する。今回は12Gbyte HDDを追加。
関連ファイルのバックアップを行う。それぞれ、cp -p 元ファイル名 元ファイル名.yyyymmddなどでバックアップ。
ディスクの命名規則
mount | ミラーディスク名 | サブミラー名 | ||
---|---|---|---|---|
c0d0上 | c0d1上 | c1d1上 | ||
/ | d0 | d10 | d20 | d30 |
/var | d3 | d13 | d23 | d33 |
swap | d4 | d14 | d24 | d34 |
/opt | d5 | d15 | d25 | d35 |
/usr | d6 | d16 | d26 | d36 |
/export/home | d7 | d17 | d27 | d37 |
追加したHDDを認識させる
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0d0 <DEFAULT cyl 1563 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c0d1 <DEFAULT cyl 1563 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0 Specify disk (enter its number):
# devfsadm # (特に応答はない)
# format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0d0 <DEFAULT cyl 1563 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c0d1 <DEFAULT cyl 1563 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@1,0 2. c1d1 <DEFAULT cyl 1564 alt 2 hd 255 sec 63> /pci@0,0/pci-ide@7,1/ide@1/cmdk@1,0 Specify disk (enter its number):+領域の確保
c1d1にSolaris用の領域を確保する
format> fdisk No fdisk table exists. The default partition for the disk is: a 100% "SOLARIS System" partition Type "y" to accept the default partition, otherwise type "n" to edit the partition table. n
Total disk size is 1566 cylinders Cylinder size is 16065 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === WARNING: no partitions are defined!SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 1 Select the partition type to create: 1=SOLARIS2 2=UNIX 3=PCIXOS 4=Other 5=DOS12 6=DOS16 7=DOSEXT 8=DOSBIG 9=DOS16LBA A=x86 Boot B=Diagnostic C=FAT32 D=FAT32LBA E=DOSEXTLBA F=EFI 0=Exit? 1 Specify the percentage of disk to use for this partition (or type "c" to specify the size in cylinders). 100 Should this become the active partition? If yes, it will be activated each time the computer is reset or turned on. Please type "y" or "n". n
パーティション情報のコピー
# prtvtoc /dev/rdsk/c0d0s2 | fmthard -s - /dev/rdsk/c0d1s2 fmthard: New volume table of contents now in place. #
# prtvtoc /dev/rdsk/c1d1s2 * /dev/rdsk/c1d1s2 partition map * * Dimensions: * 512 bytes/sector * 63 sectors/track * 255 tracks/cylinder * 16065 sectors/cylinder * 1565 cylinders * 1563 accessible cylinders * * Flags: * 1: unmountable * 10: read-only * * First Sector Last * Partition Tag Flags Sector Count Sector Mount Directory 0 2 00 48195 1076355 1124549 1 0 00 1124550 273105 1397654 2 5 00 0 25109595 25109594 3 7 00 1397655 4209030 5606684 4 3 01 5606685 2104515 7711199 5 0 00 7711200 2104515 9815714 6 4 00 9815715 14233590 24049304 7 8 00 24049305 1060290 25109594 8 1 01 0 16065 16064 9 9 01 16065 32130 48194 #
ファイルシステムの作成
# cat /var/tmp/01_newfs.sh #!/bin/sh newfs /dev/rdsk/c1d1s0 newfs /dev/rdsk/c1d1s1 newfs /dev/rdsk/c1d1s3 newfs /dev/rdsk/c1d1s4 newfs /dev/rdsk/c1d1s5 newfs /dev/rdsk/c1d1s6 newfs /dev/rdsk/c1d1s7
# sh /var/tmp/01_newfs.sh /dev/rdsk/c1d1s0: Unable to find Media type. Proceeding with system determined parameters. newfs: construct a new file system /dev/rdsk/c1d1s0: (y/n)? y /dev/rdsk/c1d1s0: Unable to find Media type. Proceeding with system determined parameters. Warning: 4990 sector(s) in last cylinder unallocated /dev/rdsk/c1d1s0: 1076354 sectors in 176 cylinders of 48 tracks, 128 sectors 525.6MB in 14 cyl groups (13 c/g, 39.00MB/g, 18624 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 80032, 160032, 240032, 320032, 400032, 480032, 560032, 640032, 720032, 800032, 880032, 960032, 1040032 (以下、c1d1s7まで続く)
c1d1を起動ディスクとして使用可能にする
# fdisk -b /usr/lib/fs/ufs/mboot /dev/rdsk/c1d1p0 Total disk size is 1566 cylinders Cylinder size is 16065 (512 byte) blocks Cylinders Partition Status Type Start End Length % ========= ====== ============ ===== === ====== === 1 Solaris2 1 1565 1565 100 SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration) Enter Selection: 5
# /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1d1s0 Solaris boot partition inactive. stage1 written to partition 0 sector 0 (abs 16065) stage2 written to partition 0, 265 sectors starting at 50 (abs 16115) #
状態データベースの追加
# metadb -a -c 5 -l 8192 c1d1s1 #
# metadb flags first blk block count a m p luo 16 8192 /dev/dsk/c0d0s1 a p luo 8208 8192 /dev/dsk/c0d0s1 a p luo 16400 8192 /dev/dsk/c0d0s1 a p luo 24592 8192 /dev/dsk/c0d0s1 a p luo 32784 8192 /dev/dsk/c0d0s1 a p luo 16 8192 /dev/dsk/c0d1s1 a p luo 8208 8192 /dev/dsk/c0d1s1 a p luo 16400 8192 /dev/dsk/c0d1s1 a p luo 24592 8192 /dev/dsk/c0d1s1 a p luo 32784 8192 /dev/dsk/c0d1s1 a u 16 8192 /dev/dsk/c1d1s1 a u 8208 8192 /dev/dsk/c1d1s1 a u 16400 8192 /dev/dsk/c1d1s1 a u 24592 8192 /dev/dsk/c1d1s1 a u 32784 8192 /dev/dsk/c1d1s1 #
#!/bin/sh metainit -f d30 1 1 c1d1s0 metainit -f d33 1 1 c1d1s3 metainit -f d34 1 1 c1d1s4 metainit -f d35 1 1 c1d1s5 metainit -f d36 1 1 c1d1s6 metainit -f d37 1 1 c1d1s7
# sh /var/tmp/02_metainit.sh d30: Concat/Stripe is setup d33: Concat/Stripe is setup d34: Concat/Stripe is setup d35: Concat/Stripe is setup d36: Concat/Stripe is setup d37: Concat/Stripe is setup #
状態確認
# metastat (省略) d37: Concat/Stripe Size: 1060290 blocks (517 MB) Stripe 0: Device Start Block Dbase Reloc c1d1s7 0 No Yes (中略) d30: Concat/Stripe Size: 1076355 blocks (525 MB) Stripe 0: Device Start Block Dbase Reloc c1d1s0 0 No Yes Device Relocation Information: Device Reloc Device ID c1d1 Yes id1,cmdk@AVMware_Virtual_IDE_Hard_Drive=11000000000000000001 c0d1 Yes id1,cmdk@AVMware_Virtual_IDE_Hard_Drive=01000000000000000001 c0d0 Yes id1,cmdk@AVMware_Virtual_IDE_Hard_Drive=00000000000000000001
#!/bin/sh metattach d0 d30 metattach d3 d33 metattach d4 d34 metattach d5 d35 metattach d6 d36 metattach d7 d37
# sh /var/tmp/03_metattach.sh d0: submirror d30 is attached d3: submirror d33 is attached d4: submirror d34 is attached d5: submirror d35 is attached d6: submirror d36 is attached d7: submirror d37 is attached #
# metastat d7: Mirror Submirror 0: d17 State: Okay Submirror 1: d27 State: Okay Submirror 2: d37 State: Resyncing Resync in progress: 4 % done Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 1060290 blocks (517 MB) (以下略)
# metastat | grep done Resync in progress: 19 % done Resync in progress: 9 % done Resync in progress: 9 % done Resync in progress: 4 % done Resync in progress: 21 % done Resync in progress: 0 % done #
metastatで各ミラー(d<n>)に属するSubmirrorのStateが全てOkay(Resyncingではない)であれば同期完了
GRUB設定
title boot from c1d1 root(hd2,0,a) kernel /platform/i86pc/multiboot module /platform/i86pc/boot_archive