<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>LUN on 达蒙西的囚笼</title>
        <link>https://blog.cba.nxlan.cn/categories/lun/</link>
        <description>Recent content in LUN on 达蒙西的囚笼</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <copyright>Tech-love Share Hope</copyright>
        <lastBuildDate>Mon, 16 Mar 2026 01:06:45 +0800</lastBuildDate><atom:link href="https://blog.cba.nxlan.cn/categories/lun/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>生产环境“删库”救命指南：NAS &#43; vSphere 下的虚拟机数据恢复实操记录</title>
        <link>https://blog.cba.nxlan.cn/p/restore_vm/</link>
        <pubDate>Mon, 16 Mar 2026 01:06:45 +0800</pubDate>
        
        <guid>https://blog.cba.nxlan.cn/p/restore_vm/</guid>
        <description>&lt;img src="https://r2.blog.nxlan.cn/PicGorecovery_vm_title.png" alt="Featured image of post 生产环境“删库”救命指南：NAS &#43; vSphere 下的虚拟机数据恢复实操记录" /&gt;&lt;p&gt;&lt;strong&gt;声明&lt;/strong&gt;： 本文为真实操作记录，旨在为运维同学在面对“数据误删”或“虚机崩溃”时提供一套经过验证的恢复路径。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;核心金律&lt;/strong&gt;：操作千万条，备份第一条；挂载新签名，数据不破坏。&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;一-场景回溯灾难发生的第-0-小时&#34;&gt;一、 场景回溯：灾难发生的第 0 小时
&lt;/h3&gt;&lt;p&gt;最近使用1panel(v2版本)时遇到个坑：如果“网站” 创建时指定了app 应用，在删除“网站”时 不留意会顺带把应用一起删除（见下图）。。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260305154237402.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;我刚养了两天的龙虾(OpenClaw) 数据，全没了。。。 呜呜呜~~&lt;/p&gt;
&lt;p&gt;而且本来就在调试，相关应用备份我是一点没准备好。这数据重新弄可老麻烦了（里面还有它刚给我调试好的 Agent web 页面）。&lt;/p&gt;
&lt;p&gt;冷静下来，&lt;strong&gt;思索的第一件事&lt;/strong&gt;是：我有没有快照？能恢复数据不？&lt;/p&gt;
&lt;p&gt;因为我是在虚拟机上安装的1panel和OpenClaw：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;系统备份是4天前的——还原了也用不了&lt;/li&gt;
&lt;li&gt;存储上整个iSCSI的块存储（Lun）倒是&lt;strong&gt;每天有一个快照&lt;/strong&gt;——全部还原意味着 8-9台虚拟机的数据也一并还原了。。。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这可咋办？&lt;/p&gt;
&lt;p&gt;最后，在&lt;u&gt;服务不停机&lt;/u&gt;的情况下，使用这个快照将应用（OpenClaw）数据恢复到了前一天的状态。&lt;/p&gt;
&lt;p&gt;先介绍下我的测试环境：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;存储端&lt;/strong&gt;：NAS (Btrfs 文件系统，开启了&lt;strong&gt;快照&lt;/strong&gt;功能)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计算端&lt;/strong&gt;：VMware vSphere (ESXi 宿主机)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;协议&lt;/strong&gt;：iSCSI&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id=&#34;二-灾难发生的第-1小时召回丢失的世界&#34;&gt;二、 灾难发生的第 1小时：召回“丢失的世界”
&lt;/h3&gt;&lt;p&gt;不要直接在原始快照上操作，最稳妥的方法是&lt;strong&gt;克隆&lt;/strong&gt;一个临时的 LUN。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;快照定位&lt;/strong&gt;：在 NAS 管理后台（如 SAN 管理器）找到最近一个完好的快照。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260307153520754.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;克隆 LUN&lt;/strong&gt;：基于快照克隆出一份数据卷（例如命名为 &lt;code&gt;LUN-Recover-Temp&lt;/code&gt;）。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo00.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo11.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;暴露目标&lt;/strong&gt;：新增一个 iSCSI 目标（给个名字：recovery），并与刚才的克隆 LUN -1关联上。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo22.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260309233751100.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;为了方便后续挂载，新建iSCSI Target 中的“&lt;strong&gt;多重联机&lt;/strong&gt;”可以开启。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260309235059377.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;注意&lt;/strong&gt;：并确保LUN 策略中放行了 ESXi 宿主机的 IQN。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&#34;三-灾难发生的第-2小时安全访问克隆数据&#34;&gt;三、 灾难发生的第 2小时：安全访问克隆数据
&lt;/h3&gt;&lt;p&gt;这是最惊险的一步，选错选项可能导致克隆卷的数据结构被清空。&lt;/p&gt;
&lt;h4 id=&#34;1-扫描与识别&#34;&gt;1. 扫描与识别
&lt;/h4&gt;&lt;p&gt;进入 vCenter -&amp;gt; 主机配置 -&amp;gt; 存储适配器，选择你的 iSCSI 适配器点击 &lt;strong&gt;“重新扫描存储”&lt;/strong&gt;。此时在“设备”列表中应能看到那个克隆出来容量一致的新磁盘。状态是未挂载。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo44.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h4 id=&#34;2-挂载数据存储关键&#34;&gt;2. 挂载数据存储（关键！）
&lt;/h4&gt;&lt;p&gt;点击“&lt;strong&gt;新建数据存储&lt;/strong&gt;”，选择 VMFS 类型，选中那个克隆出来的 LUN。此时向导会弹出 &lt;strong&gt;“解析选项”&lt;/strong&gt;，请屏住呼吸选择：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo33.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo55.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo66.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGo77.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;❌ 保留现有签名 (Keep Existing Signature)&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;不选理由&lt;/strong&gt;：这会保留原始的 UUID。vSphere 会识别出这是一个已有的 VMFS 卷，会覆盖现有挂载。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;误选后果&lt;/strong&gt;：导致其他未受影响的虚拟机数据，一并还原至前一天的状态。——这不是我们希望的。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;✅  分配新签名 (Assign a new signature)&lt;/strong&gt;：这通常用于想&lt;strong&gt;同时挂载原始和快照卷&lt;/strong&gt;的情况，会导致虚拟机路径变化，不推荐。
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;选择理由&lt;/strong&gt;：当前环境，不希望停止正在运行的虚拟机，只希望把克隆盘中，昨天这台虚拟机中 OpenClaw 的应用数据导出来就行。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;❌ 格式化磁盘 (Format the disk)&lt;/strong&gt;：点下去你就彻底告别数据了。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;成功挂在后，可以看到一个新的“数据存储”，点击存储中“文件”可以看到前一天整个虚拟机的数据。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260310001536516.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;四-虚拟机内部抢救数据&#34;&gt;四、 虚拟机内部：抢救数据
&lt;/h3&gt;&lt;p&gt;挂载成功后，&lt;strong&gt;浏览数据存储&lt;/strong&gt;，你会看到“死而复生”的 &lt;code&gt;.vmx&lt;/code&gt; 和 &lt;code&gt;.vmdk&lt;/code&gt; 文件。到这一步可以说：已经成功一半了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260310001719315.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;注册虚拟机&lt;/strong&gt;：右键点击恢复出来的 &lt;code&gt;.vmx&lt;/code&gt; 文件 -&amp;gt; &lt;strong&gt;注册虚拟机&lt;/strong&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;启动&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;启动恢复的虚机&lt;/strong&gt;：此时可能会提示“I Moved It”或“I Copied It”，选择 &lt;strong&gt;“I Copied It”&lt;/strong&gt; 以新运行一台昨天状态的机器。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;断网/改 IP&lt;/strong&gt;：进系统后，第一时间修改主机 IP 地址，防止与生产环境冲突。&lt;/p&gt;
&lt;p&gt;因为这里是Linux主机，我就直接用到 nmtui命令快速修改新机器的IP 地址了。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;数据导出与回填&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;因为应用是在 &lt;strong&gt;1Panel&lt;/strong&gt; 下运行的 Docker 服务。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;只需登录进新主机的1Panel管理界面，备份现有应用的应用数据即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260305160633373.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;随后，下载刚才打包好的备份数据。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;返回登录数据丢失的主机：在 1Panel 中保持 &lt;strong&gt;Docker 应用名一致&lt;/strong&gt; 的情况下，重新导入刚才这个备份数据——&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://r2.blog.nxlan.cn/PicGoimage-20260310003958425.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;服务启动：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;随后，服务重新启动。此时除了 服务Tokens 和之前的不一样以外，其他的配置文件，本地记录文件，飞书客户端对接地址。。。都是一样的。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;至此，应用就成功恢复了。&lt;/p&gt;
&lt;p&gt;数据还原成功后，克隆虚拟机和克隆卷也就不用了，可以相反的操作回到之前的状态：&lt;/p&gt;
&lt;p&gt;选择“删除虚拟机” &amp;ndash;&amp;gt; “&lt;strong&gt;删除数据存储&lt;/strong&gt;“  &amp;ndash;&amp;gt;  删除iSCSI target  &amp;ndash;&amp;gt;  删除 克隆Lun 即可。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h3 id=&#34;五-最后的复盘&#34;&gt;五、 最后的复盘
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;快照就是生命线&lt;/strong&gt;：如果你还没在 NAS 上开启定期快照，现在就去点开它。哪怕每天一个快照也行。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1Panel 的优越性&lt;/strong&gt;：在这种场景下，Docker 应用的备份、还原比直接恢复整台虚机要快得多，也更灵活。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;冷静是第一生产力&lt;/strong&gt;：NAS 和 VMware 都是多重保护的，只要不误点“&lt;strong&gt;格式化&lt;/strong&gt;”或“&lt;strong&gt;保留原有标签&lt;/strong&gt;”，数据总能找回来。&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        
    </channel>
</rss>
