AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 596812
Accepted
khinester
khinester
Asked: 2014-05-19 06:35:28 +0800 CST2014-05-19 06:35:28 +0800 CST 2014-05-19 06:35:28 +0800 CST

从 bsd-rescue 在 FreeBSD 上设置 ZFS

  • 772

我有一个来自 OVH 的服务器,并在https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/Mirror之后在 OVH 服务器上的 FreeBSD10 上设置 ZFS

创建可引导的 ZFS 文件系统

zpool destroy zroot
gpart destroy -F ada0
gpart destroy -F ada1

gpart create -s gpt ada0
gpart create -s gpt ada1

gpart add -b 34 -s 64k -t freebsd-boot ada0
gpart add -s 8G -t freebsd-swap -l swap0 ada0
gpart add -t freebsd-zfs -l disk0 ada0

gpart add -b 34 -s 64k -t freebsd-boot ada1
gpart add -s 8G -t freebsd-swap -l swap1 ada1
gpart add -t freebsd-zfs -l disk1 ada1

gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1

创建 ZFS 池 zroot

mkdir /tmp/zroot
zpool create -o cachefile=/boot/zfs/zpool.cache -m none -f zroot mirror /dev/gpt/disk0 /dev/gpt/disk1
zpool set bootfs=zroot zroot
zfs set checksum=fletcher4 zroot
zfs set mountpoint=/tmp/zroot zroot

zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp

将 FreeBSD 安装到 ZFS 文件系统

zfs create -o compression=on -o exec=on -o setuid=off zroot/tmp

chmod 1777 /tmp/zroot/tmp

zfs create zroot/usr

zfs create zroot/var
zfs create -o compression=lz4 -o exec=off -o setuid=off zroot/var/crash
zfs create -o exec=off -o setuid=off zroot/var/db
zfs create -o compression=lz4 -o exec=on -o setuid=off zroot/var/db/pkg
zfs create -o exec=off -o setuid=off zroot/var/empty
zfs create -o compression=lz4 -o exec=off -o setuid=off zroot/var/log

zfs create -o compression=gzip -o exec=off -o setuid=off zroot/var/mail
zfs create -o exec=off -o setuid=off zroot/var/run
zfs create -o compression=lz4 -o exec=on -o setuid=off zroot/var/tmp

chmod 1777 /tmp/zroot/var/tmp

zpool export zroot

zpool import -o cachefile=/tmp/zpool.cache zroot

cd /tmp/zroot
mkdir fileinstall
cd fileinstall
fetch http://ftp1.fr.FreeBSD.org/pub/FreeBSD/releases/amd64/10.0-RELEASE/base.txz
fetch http://ftp1.fr.FreeBSD.org/pub/FreeBSD/releases/amd64/10.0-RELEASE/kernel.txz
fetch http://ftp1.fr.FreeBSD.org/pub/FreeBSD/releases/amd64/10.0-RELEASE/src.txz
fetch http://ftp1.fr.FreeBSD.org/pub/FreeBSD/releases/amd64/10.0-RELEASE/doc.txz
fetch http://ftp1.fr.FreeBSD.org/pub/FreeBSD/releases/amd64/10.0-RELEASE/ports.txz

sh

export DESTDIR=/tmp/zroot

for file in base.txz kernel.txz doc.txz src.txz ports.txz;
do (cat $file | tar --unlink -xpJf - -C ${DESTDIR:-/});
done


cp /tmp/zpool.cache /tmp/zroot/boot/zfs/zpool.cache

chroot /tmp/zroot /bin/sh

echo 'zfs_load="YES"' >> /boot/loader.conf
echo 'if_em_load="YES"' >> /boot/loader.conf
echo 'vfs.root.mountfrom="zfs:zroot"' >> /boot/loader.conf
echo 'geom_mirror_load="YES"' >> /boot/loader.conf

echo 'dumpdev="AUTO"' >> /etc/rc.conf
echo 'zfs_enable="YES"' >> /etc/rc.conf
echo 'sshd_enable="YES"' >> /etc/rc.conf
echo 'local_unbound_enable=yes' >> /etc/rc.conf
echo 'ifconfig_igb0="inet XXX.XXX.XXX.XXX netmask 255.255.255.0 broadcast XXX.XXX.XXX.XXX"' >> /etc/rc.conf

echo '# IPv6 configuration' >> /etc/rc.conf
echo 'ipv6_enable="YES"' >> /etc/rc.conf
echo 'ipv6_network_interfaces="igb0"' >> /etc/rc.conf
echo 'ipv6_activate_all_interfaces="YES"' >> /etc/rc.conf
echo 'ipv6_network_interfaces="auto"' >> /etc/rc.conf
echo 'ip6addrctl_policy="ipv6_prefer"' >> /etc/rc.conf
echo 'ifconfig_igb0_ipv6="inet6 2001:XXX:: prefixlen 64"' >> /etc/rc.conf
echo 'ipv6_static_routes="ovhgw"' >> etc/rc.conf
echo 'ipv6_route_ovhgw="2001:XXX:ff -prefixlen 128 -interface igb0"' >> /etc/rc.conf
echo 'ipv6_defaultrouter="2001:XXX:ff"' >> /etc/rc.conf
echo 'hostname="ns426770.ip-37-187-148.eu"' >> /etc/rc.conf

echo 'search ovh.net' >> /etc/resolv.conf
echo 'nameserver 213.186.33.99' >> /etc/resolv.conf

vi /tmp/zroot/etc/fstab
# Device                        Mountpoint              FStype  Options         Dump    Pass#
/dev/gpt/swap0                  none                    swap    sw              0       0
/dev/gpt/swap1                  none                    swap    sw              0       0
zroot                           /                       zfs     rw,noatime      0       0
zroot/tmp                       /tmp                    zfs     rw,noatime      0       0
zroot/usr                       /usr                    zfs     rw,noatime      0       0
zroot/usr/home                  /usr/home               zfs     rw,noatime      0       0
zroot/usr/ports                 /usr/ports              zfs     rw,noatime      0       0
zroot/usr/ports/distfiles       /usr/ports/distfiles    zfs     rw,noatime      0       0
zroot/usr/ports/packages        /usr/ports/packages     zfs     rw,noatime      0       0
zroot/usr/src                   /usr/src                zfs     rw,noatime      0       0
zroot/var                       /var                    zfs     rw,noatime      0       0
zroot/var/crash                 /var/crash              zfs     rw,noatime      0       0
zroot/var/db                    /var/db                 zfs     rw,noatime      0       0
zroot/var/db/pkg                /var/db/pkg             zfs     rw,noatime      0       0
zroot/var/empty                 /var/empty              zfs     ro              0       0
zroot/var/log                   /var/log                zfs     rw,noatime      0       0
zroot/var/mail                  /var/mail               zfs     rw,noatime      0       0
zroot/var/run                   /var/run                zfs     rw,noatime      0       0
zroot/var/tmp                   /var/tmp                zfs     rw,noatime      0       0


passwd root
vi /etc/ssh/sshd_config

exit
exit
cd /
zfs umount -a
zfs set mountpoint=legacy zroot
zfs set mountpoint=/tmp zroot/tmp
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/var zroot/var


zfs create -V 4G zroot/swap
zfs set checksum=off zroot/swap
zfs set org.freebsd:swap=on zroot/swap
zfs set readonly=on zroot/var/empty

当我重新启动系统时,我无法访问它并在 OVH 管理屏幕上出现错误,但由于我没有 KVM 访问权限,因此我无法看到错误。

在我的程序中我可能遗漏了什么吗?

freebsd
  • 1 1 个回答
  • 2136 Views

1 个回答

  • Voted
  1. Best Answer
    khinester
    2014-05-20T06:34:39+08:002014-05-20T06:34:39+08:00

    好的,我错过了 `echo 'defaultrouter="XXX.XXX.XXX.254"' 否则一切正常

    • 2

相关问题

  • Mono 2.4 Ahead-Of-Time (AOT) 可以在 FreeBSD x86(或 x64)上编译吗?

  • FreeBSD 和 Linux 有什么区别?[关闭]

  • 在 FreeBSD 上安装和运行 MySql

  • 在 freeBSD 上安装 netbeans 的问题

  • 用于 Web 应用服务器的 FreeBSD 磁盘分区(Apache/MySQL/PHP)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve