首页 > 解决方案 > 部署在 Azure 虚拟机上的 Web 应用:持久性 VS 临时磁盘

问题描述

我通过执行以下步骤在 Azure 虚拟机上部署了 Web 应用程序后端(Python / Flask):

  1. 创建一个 Linux 虚拟机并通过 ssh 进入它
  2. 从 github 下载我的应用程序的源代码
  3. 安装 pip,创建 Python 3.6 虚拟环境并安装所有必要的 Python 包
  4. 安装 tmux 并创建一个新的 tmux 会话,然后 cd 到包含我的应用程序主脚本的文件夹(启动 Flask 应用程序的那个)并运行“python3 main.py”。Flask 应用程序现已启动并运行,可以接收请求。

但是,根据我对临时 VS 永久磁盘的了解,我猜我的源代码和 Python 包现在存储在临时磁盘上,这意味着它们可能会由于硬件故障、维护事件等而意外丢失。我的猜测是正确的还是正确的我错过了什么?

如果是这样,这是否意味着我必须将永久磁盘附加到我的 VM 并将我的所有文件存储在那里?还是有一些更方便的方法来解决这个问题(例如切换到不同的 Azure 服务)?

标签: azureazure-storageazure-virtual-machine

解决方案


所有 Azure VM 都包含一个托管磁盘(操作系统所在的磁盘)和一个临时磁盘,顾名思义;是暂时的性质。在 Linux VM 上,以下内容适用(如Microsoft 文档中所述)。

在 Azure Linux VM 上,临时磁盘通常是 /dev/sdb

因此,除非您明确使用该路径,否则您很可能会没事。


推荐阅读