IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

ZFS实现快速部署(作弊条)

delphij's Chaos 2009-10-21 09:01:31 累计浏览 2,855 次
本机暂存

    FreeBSD从8.0开始支持从ZFS引导系统,因此,可以使用ZFS的快照功能来实现快速部署。

    新机器使用LiveFS启动,Fix it,CDROM。

    kldload /dist/boot/kernel/nullfs.ko

    mount_nullfs /dist/boot /boot

    kldload tmpfs

    kldload zfs

    如果需要,此时用dd抹除硬盘内容,例如 dd if=/dev/zero of=/dev/da0 bs=1m count=1

    gpart create -s gpt da0(重复此步直到所有硬盘皆包含GPT分区表)

    gpart add -b 34 -s 128 -t freebsd-boot da0(实际上只有启动盘需要,不过64K空间对现代硬盘来说基本上可以忽略不计)

    gpart add -b 162 -s 8388608 -t freebsd-swap da0(根据需要酌情配置)

    gpart add -b 8388770 -t freebsd-zfs da0

    cd /boot

    gpart bootcode -b pmbr da0(建议所有盘有freebsd-boot分区的盘都做)

    gpart bootcode -p gptzfsboot -i 1 da0(所有有freebsd-boot分区的盘都做)

    glabel label swap0 /dev/da0p2(swap1,2,3,4,...类推)

    glabel label vdsk0 /dev/da0p3(vdsk1...类推)

    zpool create -m legacy 集群名 raidz2 /dev/label/vdsk0 /dev/label/vdsk1 .. spare /dev/label/vdskn

    ifconfig em0 inet x.x.x.x/m

    nc -l 80 | zfs receive -vF 集群名

    在样本机上执行:zfs send 集群名@快照名 | nc 客户机IP 80

    之后,在安装的机器上mount -t zfs 集群名 /mnt,然后把/boot/zfs内容复制到/mnt/boot/zfs,修改etc/rc.conf等,即可。如果配置时使用的是DHCP,则此过程可进一步简化。

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. 使用HAProxy对MySQL进行负载均衡和状态监控 (累计阅读 6,733)
  2. 用git部署php站点 (累计阅读 4,872)
  3. Facebook是如何开发软件的 (累计阅读 4,814)
  4. Java 常量值修改后不起作用 (累计阅读 4,000)
  5. ZFS性能的一些优化结论 (累计阅读 3,894)
  6. FreeBSD常用的110条命令 (累计阅读 3,665)
  7. top监控命令在FreeBSD上的使用 (累计阅读 3,432)
  8. FREEBSD 建目录上限 (累计阅读 3,240)
  9. FreeBSD更改csh为bash产生错误的解决办法 (累计阅读 3,159)
  10. 使用DSR模式实现单IP服务冗余 (累计阅读 3,073)