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 / 问题 / 1048066
Accepted
Kevin
Kevin
Asked: 2020-12-31 09:27:15 +0800 CST2020-12-31 09:27:15 +0800 CST 2020-12-31 09:27:15 +0800 CST

Solaris 服务器会容忍未来的 ZFS 池吗?

  • 772

我对 ZFS 的体验通常是它可以正常工作,所以我希望答案是,这不是问题——但我有一个数据池,如果它出现故障,它将毁掉我的 1 月份,所以我想仔细检查一下。

这个问题实际上可能在涉及单独数据池的两种不同情况下出现。现在我正在处理第一个,但我也想知道第二个:

  • 系统盘的存储(即持有的那个rpool)失败了,但是数据池的存储很好,所以你想从备份中恢复系统盘,但继续使用数据池的实时存储。
  • 您在 VM 中运行 Solaris,并希望回滚到虚拟机管理程序拍摄的快照(不是ZFS 快照rpool),但数据池存储在处于“独立”模式、RDM 等的磁盘上,因此将不会被回滚。

在这两种情况下,当 Solaris 重新启动时,它会看到一个它知道的数据池,但它处于它从未(据它记得)放入的状态。

我主要只关心在系统磁盘倒带之前系统完全关闭的情况,以及系统在倒带到映像之前完全关闭的情况。我希望在运行状态之间切换可能会有点棘手。

另请注意,在我的特定情况下,池的存储几何结构和存储路径没有改变。同样,如果他们有,我希望这会更棘手。

我什至不会用 Windows 和 NTFS 来问这个问题,因为这是一个相对简单的解耦系统,所以很难看出它为什么不起作用。但是,Solaris 似乎将某种池元数据保留在带外,正如您应该在系统之间移动池时所证明的那样zpool export(zpool import感谢 VMware,我从未以这种方式这样做过)。我对该元数据及其用途的了解有限,因此我很难推断这种情况下的影响。(对此的解释会很棒!)

我实际上仍然可以访问预回滚系统。它位于由 HP SmartArray 支持的 VMFS 数据存储中,该数据存储在命运多舛的预防性维护磁盘更改后引发 1716 POST 警告(由于 SmartArray 比 ZFS 更笨而丢失数据)。所有重要的虚拟机看起来仍然很好,对其文件系统的扫描也没有发现错误,但我还是计划从最近的备份中恢复阵列,因为我有理由怀疑 ESXi 会默默地将坏扇区归零而不是将错误传递给来宾,所以我不想冒险潜伏在某个地方的某个归零扇区稍后会咬我的屁股。

对于 Solaris VM,我不必担心零扇区,因为 ZFS 会捕捉到这一点,但大多数其他 VM 使用哑文件系统。不过,备份是整个 VMware 数据存储的映像,因此修复它们也会回滚 Solaris VM。实际上,我rpool对该 VM 进行了清理,它没有发现任何错误,所以,如果我愿意,我可以将其 VMDK 存储在其他地方,并在回滚后将其复制回来,然后整个问题将是没有实际意义。我想这就是我会做的,如果没有人回答,大声笑。但这是我想知道一段时间的事情,所以我还是会问。

那么问题来了,我可以直接回滚系统盘的存储并完成它吗? 或者我是否必须从预回滚系统中导出池,回滚,在附加存储之前删除池,然后附加存储并导入池?我不喜欢后者的声音,部分原因是该池同时提供 CIFS 和 iSCSI,我不记得我是如何设置它们的,甚至不记得如何设置它们,所以如果它们坏了我会生气的。(你能说我们没有全职的系统管理员吗?哈哈)

VM 运行的是旧版本 Solaris 11.0。

(顺便说一句,它较旧,部分原因是同样的问题。我想在尝试升级之前对 VM 进行快照,以防万一,但后来我担心回滚系统可能如何对独立池做出反应,所以只是别管它。是的,我意识到我也可以rpool为 .

solaris snapshot zfs backup-restoration solaris-11
  • 1 1 个回答
  • 105 Views

1 个回答

  • Voted
  1. Best Answer
    mikem
    2020-12-31T11:06:13+08:002020-12-31T11:06:13+08:00

    这是那些“zfs just works”的答案之一......

    池元数据实际上存储在池中,而不是本地操作系统上。因此,例如,如果系统崩溃并且没有干净地关闭,则池中的元数据知道池没有干净地“导出”。如果您尝试将此池导入新系统,您会收到关于它没有被导出并属于另一个系统的投诉。那时,您只需执行 zpool import -f(强制),它就会干净利落。

    因此,特定于您的数据池,无论您何时/何地尝试再次导入池,其上的数据都是安全的。如果您要引导到“已恢复”的 rpool,则该 rpool 上的操作系统会知道它应该导入的池,并且会简单地导入数据池。它不跟踪池是否被导出,除了一旦池被导出,操作系统就不再跟上它。

    现在,关于 rpool 问题。从 VM 快照、磁带备份恢复它,任何不会改变它处理数据池的方式的方法,除非备份是在最初创建或导入数据池之前进行的。如果是这种情况,您只需在操作系统恢复后导入池。无论 rpool 的状况如何,数据池中的数据都是安全的。

    我希望这会有所帮助。

    顺便说一句,您提到您不愿意升级 solaris,因为您不确定它将如何对数据池作出反应。别担心。升级将保留已知池并根据需要导入它们。

    另请注意,Solaris OS 升级在单独的“引导环境 (BE)”中是自包含的。因此,当您进行操作系统升级时,它实际上会创建一个包含新版本的完全独立的操作系统安装......而您的操作系统仍在运行中。然后,当您重新启动时,它将出现在新的操作系统上。如果新操作系统有问题——即。对库等的更改是您意想不到的——您只需再次重新启动并进入原始 11.0 版本,它将处于与升级前完全相同的状态。这是进行操作系统升级的绝佳方式!

    • 4

相关问题

  • 从现有目录创建 zfs 的正确方法?

  • 在 Solaris lp 或 lpr 上打印

  • 如何将 ZFS ACL 从一个文件克隆到另一个文件?

  • Solaris DNS

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

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