制作FB的“小强”盘

本帖最后由 ljwsy 于 2011-04-17 00:09 编辑

因手头有好多的IDE旧盘,丢了可惜,于是用来做服务器系统。但毕竟是旧盘,保不住哪天给你脸色看。于是参照手册“19.4  RAID1 - 镜像”做成raid1。本来这事也没什么值得发个帖子,但这几天来CU无意见到有个任务:“如何快速大规模的布署freebsd机器”。其中也有人提到用gmirror,但没有进一步展开。我有这个想法了以后就跟帖,哪知要发送时我这可爱的IE受干扰自动关闭,真TNN的晕,可怜我那N多的文字呀,干脆另开新帖。

一、IDE做raid1
    假设原系统独占整个ad0,且装上引导管理器,分区情况是:a(/)、d(/usr)、e(/tmp)、f(/var)。新硬盘为ad1。

  • 对ad1分区并加上引导管理器。要求是新盘各分区一定要能容纳得下原盘对应分区中的所有数据。如果两盘是一样的可以用以下命令完成(我就是这样做的):
    1. dd if=/dev/ad0 of=/dev/ad1 bs=1m count=1
    复制代码
  • 加载gmirror内核模块
    1. gmirror load
    复制代码
  • 建立用于/的gmr,用于/usr的gmu,用于/tmp的gmt,用于/var的gmv
    1. gmirror label -vb round-robin gmr /dev/da1s1a
    2. gmirror label -vb round-robin gmu /dev/da1s1d
    3. gmirror label -vb round-robin gmt /dev/da1s1e
    4. gmirror label -vb round-robin gmv /dev/da1s1f
    复制代码
  • newfs
    1. newfs -L ROOT /dev/mirror/gmr
    2. ...
    复制代码
  • 挂载gmr并复制/的数据
    1. mount /dev/mirror/gmr /mnt
    2. ( dump -0f - / ) | ( cd /mnt ; restore -rf - )
    复制代码
  • 挂载gmu、gmv、gmt并复制对应挂接点的数据
    1. mount /dev/mirror/gmu /mnt/usr
    2. ( dump -0f - /usr ) | ( cd /mnt/usr ; restore -rf - )
    3. ...
    复制代码
  • 修改fstab用gmr、gmu、gmv、gmt作为文件系统
  • 重启系统,并核实文件系统是不是gmr、gmu、gmv、gmt。
  • 加入原硬盘的分区到对应的mirror中
    1. gmirror insert gmr /dev/ad0s1a
    2. gmirror insert gmu /dev/ad0s1d
    3. ...
    复制代码
  • 用gmirror status看同步的进度
  • 同步完成后关机,交换ad0和ad1的物理位置看看在这两个位置上是不是真正的“小强”盘,再拔去某个盘看看还能启动否。如果你想做ad0~3位置上的“小强”盘则再加上两块IDE,原理和操作一样(大于两盘的实际操作我没有做过,只是猜测为“可行”)。



二、大规模的布署freebsd机器
    有了上面的操作则这个问题就简单了,还是要提一点:大于两盘的实际操作我没有做过,只是猜测为“可行”。


用gmirror做的好处是显而易见的:与位置无关、容错强、扩容方便。

作者: ljwsy   发布时间: 2011-04-17

按惯例,消灭0回复,自己给自己一丁点面子。

作者: ljwsy   发布时间: 2011-04-17