巧用for快速制作metadevice——SDS技巧 很实用
1.首相要把被镜像盘和镜像盘的各物理分区封装成disksuit能够直接管理的设备--metadevice,并给它起一个别名,作为这个物理分区的metadevice name(下例中的d10、d20):
#metainit -f d10 1 1 c0t0d0s0
#metainit d20 1 1 c0t1d0s0
2.再为每一个需要做镜像的分区起一个镜像名作为最终被系统使用的文件系统名(下例中的d0),并使其指向被镜像分区的metadevice name:
#metainit d0 -m d10
3.若被镜像分区为根区,则要执行以下命令:
#metaroot d0
#lockfs -fa
4.#reboot
5.被镜像分区与镜像分区之间进行数据同步,并使该分区的文件系统名同时也指向该分区的镜像分区的metadevice name:
#metattach d0 d2
6.修改/etc/vfstab文件,使其指向被镜像分区的文件系统名。
(注:如果采用disksuit的图形工具作镜像,disksuit会自动修改/etc/vfstab文件,不须手工修改。)
以上是单独作一个分区的景象的例子。但在实际工作中,我们往往是要对整块系统盘作镜像。为了提高效率,我们可以有一个简单的shell程序来做:
例:对一台机器的根盘c0t0d0s2作镜像,镜像盘为c0t1d0s0。假设根盘除s2分区外0-7分区都被分配了文件系统。
1.为根盘和镜像盘的每个分区起一个metadevice name:
我们可以指定根盘为d1镜像盘为d2,进而定义它们的各个分区的metadevice name分别为d10 d11 d13 d14 d15 d16 d17和
d20 d21 d23 d24 d25 d26 d27,它们镜像后所生成的最终的文件系统名为d0 d1 d3 d4 d5 d6 d7。这样命名可以增强日后的可管理性,也是我们采用一下快捷方法的前提。
2.#for i in 0 1 3 4 5 6 7
>do metainit -f d1$i 1 1 c0t0d0s$i
>metainit d2$i 1 1 c0t1d0s$i
>metaiit d$i -m d1$i
>done
3.#metaroot d0
#lockfs -fa
4.#reboot
5.#for i in 0 1 3 4 5 6 7
>do metattach d$i d2$i
>done
6.修改/etc/vfstab文件。
还以给一个系统盘作全镜像为例
# metadb -a -f -c 3 c0t0d0sx
c0t0d0sx 的空间不用太大,一般给10M就足够了。可以在安装系统时预留,如果没有预留,可以用以下方法从swap分区种挖出一点:
# halt
ok boot -s
# swap -l
# swap -d /dev/dsk/c0t0d0s1
# format
从swap分区种挖出10M到一个空分区c0t0d0sx
# metadb -a -f -c 3 c0t0d0sx
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26090/showart_328652.html
页:
[1]