R2Bleep2 Asked: 2021-07-14 23:02:10 +0800 CST2021-07-14 23:02:10 +0800 CST 2021-07-14 23:02:10 +0800 CST Linux:将新物理驱动器上的分区挂载到目录 - 数据驻留在哪里(物理上)? 772 如果我有一台带有单个物理磁盘的机器,并且在操作系统安装和运行很久之后,我将一个新磁盘分区并添加到一个目录(例如 /usr/data),这些文件在哪里物理存在,有没有办法以确保它们都实际驻留在我添加的新磁盘上? 同样,我有一个实用程序可以在虚拟机中自动备份我的虚拟驱动器,我想确保如果我备份我添加的 vhd,在操作系统运行后分区并安装到特定目录有一段时间,我正在备份该目录下的所有内容。 linux ubuntu debian mount storage 2 个回答 Voted Best Answer Michael Hampton 2021-07-15T04:02:22+08:002021-07-15T04:02:22+08:00 如果将块设备挂载到目录,则在该目录下创建的文件将在该块设备上创建。句号。 请注意,如果在您将设备挂载到该目录之前,该目录包含文件,则这些文件将保留在父块设备上,并且在挂载设备时处于隐藏状态且无法访问。 同样,如果您在未挂载新块设备时写入该目录,则此类文件最终会出现在父块设备上。 所有这些都表明你应该做几件事: 如果该目录中存在文件并且您希望在挂载新设备后可以访问它们,您应该重命名整个目录,使用原始名称创建一个新目录,挂载您的设备,然后将旧文件移动到新设备. 您应该确保您的设备在启动时已安装,例如通过将其添加到/etc/fstab. Franco Corbelli 2021-07-15T04:32:21+08:002021-07-15T04:32:21+08:00 “有没有办法确保它们都物理地驻留在我添加的新磁盘上?” 这是一个发生的问题:如果由于某种原因未安装磁盘,则数据将被静默写入旧磁盘,位于应安装的目录中。 通常我使用两种不同的技术:第一种是在“真实”磁盘中创建一个特殊文件夹(例如 rar)。然后我检查它的存在:如果有,那么磁盘实际上是挂载的,否则没有 DIR="/monta/v-server_condivisioni/rar/" if [ -d "$DIR" ]; then echo "Mounted" else echo "NOT mounted" fi 第二个是类似的(Unix,在 Linux 上非常相似),检查 /monta/vserver_condivisioni 是否已挂载(在本例中通过 smb) df | grep -q /monta/v-server_condivisioni if [ $? = 0 ]; then else /bin/date +"%R ----------/monta/v-server_condivisioni NOT mounted!" /usr/sbin/mount_smbfs -N -I 10.1.2.3 //theuser@v-server/condivisioni /monta/v-server_condivisioni fi
如果将块设备挂载到目录,则在该目录下创建的文件将在该块设备上创建。句号。
请注意,如果在您将设备挂载到该目录之前,该目录包含文件,则这些文件将保留在父块设备上,并且在挂载设备时处于隐藏状态且无法访问。
同样,如果您在未挂载新块设备时写入该目录,则此类文件最终会出现在父块设备上。
所有这些都表明你应该做几件事:
如果该目录中存在文件并且您希望在挂载新设备后可以访问它们,您应该重命名整个目录,使用原始名称创建一个新目录,挂载您的设备,然后将旧文件移动到新设备.
您应该确保您的设备在启动时已安装,例如通过将其添加到
/etc/fstab
.“有没有办法确保它们都物理地驻留在我添加的新磁盘上?”
这是一个发生的问题:如果由于某种原因未安装磁盘,则数据将被静默写入旧磁盘,位于应安装的目录中。
通常我使用两种不同的技术:第一种是在“真实”磁盘中创建一个特殊文件夹(例如 rar)。然后我检查它的存在:如果有,那么磁盘实际上是挂载的,否则没有
第二个是类似的(Unix,在 Linux 上非常相似),检查 /monta/vserver_condivisioni 是否已挂载(在本例中通过 smb)