- 论坛徽章:
- 0
|
如果所有机器硬盘相同,可以使用软raid 1 , gmirror 两个镜像,完后取消镜像,每个盘都是完整的系统。如果硬盘型号,大小不同,使用dump安装也很方便。个人感觉gmirror 比dump 快一点, 操作少一些( dump 要fdisk, bsdlabel, newfs....), gmirror几步一设置就可以了。
raid5( gmirror gvinum)看过资料可以一拖多,没实际操作过, 楼主如果有条件可以操作看看,完后给个操作总结贴,:mrgreen: 让大家学习学习
如果硬盘安装的位置不同, 可以考虑打标签glabel, 这样就不用担心系统起不来。
gmirror我同步十几个相同型号的硬盘一般要一下午。dump用的多, 但不copy ports, src这两个太大了, 占时间多!
我分区情况:
a /, d /var, e /tmp, f /usr, g /usr/ports, h /usr/src
附上操作资料(glabel, gmirror参考handbook):
FreeBSD 硬盘复制
dmesg | grep ad
dd if=/dev/zero of=/dev/ad2 bs=512 count=1
sysinstall --> configure --> fdisk
bsdlabel ad2s1 > ad2
vi ad2
bsdlabel –R ad2s1 ad2
newfs -U /dev/ad2s1a
newfs -U /dev/ad2s1d
newfs -U /dev/ad2s1e
newfs -U /dev/ad2s1f
mount /dev/ad2s1f /mnt/4; rm –rf /mnt/4/*
(dump -0L -f - /usr) | (cd /mnt/4; restore –rf -)
rm /mnt/4/restore…
mount /dev/ad2s1d /mnt/3; rm –rf /mnt/3/*
(dump -0L -f - /var) | (cd /mnt/3; restore –rf -)
rm /mnt/3/resto….
mount /dev/ad2s1a /mnt/2; rm –rf /mnt/2/*
(dump –0L -f - /) | (cd /mnt/2; restore –rf -)
rm /mnt/2/restore….
vi /mnt/2/etc/fstab 删除g, h
umount /mnt/2; umount /mnt/3; umount /mnt/4
reboot
磁盘镜像RAID 1:
1. sysctl kern.geom.debugflags=17
2. gmirror label –v –b round-robin gm0 /dev/ad0
3. gmirror load
4. echo ‘geom_mirror_load=”YES”’ > /boot/loader.conf
5. vi /etc/fstab 将/dev/ad0s1 --> /dev/mirror/gm0s1
6. reboot
7. gmirror insert gm0 /dev/ad2
查看gmirror 信息:gmirror status gmirror list
停止:
1.gmirror forget gm0
2.sysctl kern.geom.debugflags=17
3.gmirror stop –v gm0
4.gmirror clear –v ad0 ad2
5.vi /etc/fstab 将/dev/mirror/gm0s1 --> /dev/ad0s1
6.vi /boot/loader.conf --> #geom_mirror_load=”YES”
换硬盘:
1.gmirror forget gm0
2.gmirror insert gm0 /dev/ad2
移除:
1.gmirror remove gm0 /dev/ad2
2.gmirror forget gm0
为硬盘分区加标签
1.vi /boot/loader.conf geom_label_load=”YES”
2.tunefs –L root /dev/ad0s1a or newfs –L root /dev/ad0s1a
标签类型和使用示范
有两种类型的标签, 一种是普通标签, 另一种是文件系统标签。标签可以是永久性的或暂时性的。永久性的标签可以通过 tunefs(8) 或 newfs(8) 命令创键。根据文件系统的类型, 它们将在 /dev 下的一个子目录中被创建。例如, UFS2 文件系统的标签会创建到 /dev/ufs 目录中。永久性的标签还可以使用 glabel label 创建。它们不再是文件系统特定的,而是会在 /dev/label 目录中被创建。
暂时性的标签在系统下次重启时会消失, 这些标签会创建到 /dev/label 目录中, 很适合测试之用。可以使用 glabel create 创建暂时性的标签。请参阅 glabel(8) 手册页以获取更多详细信息。
要为一个 UFS2 文件系统创建永久性标签,而不破坏其上的数据,可以使用下面的命令:
# tunefs -L home /dev/da3
警告: 如果文件系统满了, 这可能会导致数据损坏; 不过, 如果文件系统快满了,此时应首先删除一些无用的文件, 而不是增加标签。
现在, 您应可以在 /dev/ufs 目录中看到标签, 并将其加入 /etc/fstab:
/dev/ufs/home /home ufs rw 2 2
注意: 当运行 tunefs 时, 应首先卸下文件系统。
现在可以像平时一样挂接文件系统了:
# mount /home
现在, 只要在系统引导时通过 /boot/loader.conf 配置加载了内核模块 geom_label.ko, 或在联编内核时指定了 GEOM_LABEL 选项, 设备节点由于增删设备而顺序发生变化时,就不会影响文件系统的挂接了。
通过使用 newfs 命令的 -L 参数, 可以在创建文件系统时为其添加默认的标签。 请参见联机手册 newfs(8) 以了解进一步的详情。
下列命令可以清除标签:
# glabel destroy home
以下的例子展示了如何为一个启动磁盘打上标签。
为启动磁盘打上标签
为启动磁盘打上永久性标签, 系统应该能够正常启动,即使磁盘被移动到了另外一个控制器或者转移到了一个不同的系统上。 此例中我们假设使用了一个 ATA 磁盘, 当前这个设备被系统识别为 ad0。 还假设使用了标准的 FreeBSD 分区划分方案, /, /var, /usr 和 /tmp 文件系统, 还有一个 swap 分区。
重启系统,在 loader(8) 提示符下键入 4 启动到单用户模式。 然后输入以下的命令:
# glabel label rootfs /dev/ad0s1a
GEOM_LABEL: Label for provider /dev/ad0s1a is label/rootfs
# glabel label var /dev/ad0s1d
GEOM_LABEL: Label for provider /dev/ad0s1d is label/var
# glabel label usr /dev/ad0s1f
GEOM_LABEL: Label for provider /dev/ad0s1f is label/usr
# glabel label tmp /dev/ad0s1e
GEOM_LABEL: Label for provider /dev/ad0s1e is label/tmp
# glabel label swap /dev/ad0s1b
GEOM_LABEL: Label for provider /dev/ad0s1b is label/swap
# exit
系统加继续启动进入多用户模式。 在启动完毕后, 编辑 /etc/fstab 用各自的标签替换下常规的设备名。 最终 /etc/fstab 看起来差不多是这样的:
# Device Mountpoint FStype Options Dump Pass#
/dev/label/swap none swap sw 0 0
/dev/label/rootfs / ufs rw 1 1
/dev/label/tmp /tmp ufs rw 2 2
/dev/label/usr /usr ufs rw 2 2
/dev/label/var /var ufs rw 2 2
现在可以重启系统了。 如果一切顺利的话, 系统可以正常启动并且 mount 命令显示:
# mount
/dev/label/rootfs on / (ufs, local)
devfs on /dev (devfs, local)
/dev/label/tmp on /tmp (ufs, local, soft-updates)
/dev/label/usr on /usr (ufs, local, soft-updates)
/dev/label/var on /var (ufs, local, soft-updates)
[ 本帖最后由 rainren 于 2009-12-9 02:08 编辑 ] |
|