安装 2 个新的子镜(更大尺寸)
父元设备 d3 的大小为 33 GB,带有 2 个子镜像 d30 和 d31.
# metastat d3 d3: Mirror Submirror 0: d30 State: Okay Submirror 1: d31 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 70574080 blocks (33 GB) d30: Submirror of d3 State: Okay Size: 70574080 blocks (33 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c3t0d0s0 0 No Okay Yes d31: Submirror of d3 State: Okay Size: 70574080 blocks (33 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c3t0d1s0 0 No Okay Yes
为了增加元设备,我们将添加 2 个更大的子镜像 d32. d33(来自磁盘 c4t0d0 和 c4t0d1),使其成为 4 路镜像,同步它,然后删除原始的 2 个子镜像。
# metainit d32 1 1 c4t0d0s0 # metainit d33 1 1 c4t0d1s0 # metattach d3 d32 # metattach d3 d33
现在我们有一个 4 向镜像:
# metastat d3 d3: Mirror Submirror 0: d30 State: Okay Submirror 1: d31 State: Okay Submirror 2: d32 State: Okay Submirror 3: d33 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 70574080 blocks (33 GB) d30: Submirror of d3 State: Okay Size: 70574080 blocks (33 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c3t0d0s0 0 No Okay Yes d31: Submirror of d3 State: Okay Size: 70574080 blocks (33 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c3t0d1s0 0 No Okay Yes d32: Submirror of d3 State: Okay Size: 141148160 blocks (67 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c4t0d0s0 0 No Okay Yes d33: Submirror of d3 State: Okay Size: 141148160 blocks (67 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c4t0d1s0 0 No Okay Yes
下面显示的示例使用元设备 d3,它是一个 33Gb 镜像,带有已挂载的文件系统。
扩展镜像元设备 d3 的步骤包括:
将另外 2 个子镜像(较大的 d32 和 d33)添加到父元设备 d3.
同步后分离旧的子镜像 d30 和 d31.
增加父元设备 d3 以反映新的大小。
扩大文件系统。
扩大文件系统
我们现在可以使用growfs 为文件系统提供新空间。
# growfs -M /d3 /dev/md/rdsk/d3 /dev/md/rdsk/d3: 141148160 sectors in 68920 cylinders of 64 tracks, 32 sectors 68920.0MB in 1407 cyl groups (49 c/g, 49.00MB/g, 6144 i/g) super-block backups (for fsck -F ufs -o b=#) at: 32, 100416, 200800, 301184, 401568, 501952, 602336, 702720, 803104, 903488, 140595008, 140695392, 140795776, 140896160, 140996544, 141096928,
验证文件系统的新大小:
# df -k /d3 Filesystem kbytes used avail capacity Mounted on /dev/md/dsk/d3 69470954 34730557 34393047 51% /d3
on it road.com
分离旧的子镜
我们会让新的子镜像同步,然后分离原始子镜像 d30 和 d31.
# metadetach d3 d30 d3: submirror d30 is detached # metadetach d3 d31 d3: submirror d31 is detached
这为我们留下了一个双向镜像,其中每个子镜像的大小是原来的两倍,但父镜像仍然是原始大小。
因此,我们不能使用growfs 来利用新空间。
仔细注意子镜像与父镜像的大小不同。
# metastat d3 d3: Mirror Submirror 2: d32 State: Okay Submirror 3: d33 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 70574080 blocks (33 GB) d32: Submirror of d3 State: Okay Size: 141148160 blocks (67 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c4t0d2s0 0 No Okay Yes d33: Submirror of d3 State: Okay Size: 141148160 blocks (67 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c4t0d1s0 0 No Okay Yes
关键步骤是使用“metatach mirror”。
这告诉父镜像增长到其当前最小的子镜像的大小。
# metattach d3
注意父尺寸是如何改变的。
# metastat d3 d3: Mirror Submirror 2: d32 State: Okay Submirror 3: d33 State: Okay Pass: 1 Read option: roundrobin (default) Write option: parallel (default) Size: 141148160 blocks (67 GB) d32: Submirror of d3 State: Okay Size: 141148160 blocks (67 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c3t0d2s0 0 No Okay Yes d33: Submirror of d3 State: Okay Size: 141148160 blocks (67 GB) Stripe 0: Device Start Block Dbase State Reloc Hot Spare c3t0d3s0 0 No Okay Yes
日期:2020-09-17 00:15:26 来源:oir作者:oir