部署在 Azure 虚拟机上的 Web 应用程序:持久磁盘 VS 临时磁盘
Web app deployed on Azure Virtual Machine: persistent VS temporary disk
我已通过执行以下步骤在 Azure 虚拟机上部署了 Web 应用程序后端 (Python / Flask):
- 创建一个 Linux VM 并通过 ssh 进入其中
- 从 github
下载我的应用程序的源代码
- 安装 pip,创建 Python 3.6 虚拟环境并安装所有必要的 Python 软件包
- 安装 tmux 并创建一个新的 tmux 会话,然后 cd 到包含我的应用程序主脚本(启动 Flask 应用程序的脚本)和 运行“python3 main.py”的文件夹. Flask 应用程序现已启动 运行ning,可以接收请求。
但是,根据我对临时 VS 永久磁盘的了解,我猜我的源代码和 Python 包现在存储在 临时磁盘 上,这意味着它们可能由于硬件故障、维护事件等意外丢失。我的猜测是否正确,还是我遗漏了什么?
如果是这样,这是否意味着我必须将永久磁盘附加到我的 VM 并将我的所有文件存储在那里?或者有没有更方便的方法来解决这个问题(例如切换到不同的 Azure 服务)?
所有 Azure VM 都包含一个托管磁盘(OS 所在的磁盘)和一个临时磁盘,顾名思义;是暂时的。在 Linux VM 上适用以下内容(如 Microsoft docs 中所述)。
On Azure Linux VMs, the temporary disk is typically /dev/sdb
因此,除非您已明确使用该路径,否则您很可能没问题。
你可以得到消息here,Linux上的临时磁盘是/dev/sdb
,你可以执行命令df -h
然后你会看到类似的输出这个:
表示临时盘中只存放/mnt/
路径下的文件夹。并且还可以得到/
路径下的所有文件夹都存放在/dev/sda
磁盘中,是OS磁盘和一个托管磁盘,os是持久磁盘磁盘。
does this mean that I have to attach a persistent disk to my VM and
store all my files there?
如果您没有特殊的 purpose,则不必将永久磁盘附加到您的 VM。
我已通过执行以下步骤在 Azure 虚拟机上部署了 Web 应用程序后端 (Python / Flask):
- 创建一个 Linux VM 并通过 ssh 进入其中
- 从 github 下载我的应用程序的源代码
- 安装 pip,创建 Python 3.6 虚拟环境并安装所有必要的 Python 软件包
- 安装 tmux 并创建一个新的 tmux 会话,然后 cd 到包含我的应用程序主脚本(启动 Flask 应用程序的脚本)和 运行“python3 main.py”的文件夹. Flask 应用程序现已启动 运行ning,可以接收请求。
但是,根据我对临时 VS 永久磁盘的了解,我猜我的源代码和 Python 包现在存储在 临时磁盘 上,这意味着它们可能由于硬件故障、维护事件等意外丢失。我的猜测是否正确,还是我遗漏了什么?
如果是这样,这是否意味着我必须将永久磁盘附加到我的 VM 并将我的所有文件存储在那里?或者有没有更方便的方法来解决这个问题(例如切换到不同的 Azure 服务)?
所有 Azure VM 都包含一个托管磁盘(OS 所在的磁盘)和一个临时磁盘,顾名思义;是暂时的。在 Linux VM 上适用以下内容(如 Microsoft docs 中所述)。
On Azure Linux VMs, the temporary disk is typically /dev/sdb
因此,除非您已明确使用该路径,否则您很可能没问题。
你可以得到消息here,Linux上的临时磁盘是/dev/sdb
,你可以执行命令df -h
然后你会看到类似的输出这个:
表示临时盘中只存放/mnt/
路径下的文件夹。并且还可以得到/
路径下的所有文件夹都存放在/dev/sda
磁盘中,是OS磁盘和一个托管磁盘,os是持久磁盘磁盘。
does this mean that I have to attach a persistent disk to my VM and store all my files there?
如果您没有特殊的 purpose,则不必将永久磁盘附加到您的 VM。