Linux目录挂载tmpfs后目录里原文件不见了

在挂载新磁盘到一个原先存在的目录的后发现原先目录里面的文件没了,不用担心,文件并没丢失,下面是解决办法

tmpfs 是 Linux/Unix 系统上的一种基于内存的文件系统。 tmpfs 可以使用您的内存或 swap 分区来存储文件。在
Redhat/CentOS 等 linux 发行版中默认大小为物理内存的一半。例如上面的案例中,我执行 df -h 的服务器是 64G
内存。

首先我们要说明, tmpfs 既可以使用物理内存,也可以使用交换分区,因为 tmpfs 使用的是 “ 虚拟内存 ” 。 Linux
内核的虚拟内存同时来源于物理内存和交换分区,主要由内核中的 VM 子系统进行调度,进行内存页和 SWAP 的换入和换出操作, tmpfs
自己并不知道这些页面是在交换分区还是在物理内存中。 与其他文件系统不同, tmpfs 无需要建立或格式化,只需要直接使用

mount 挂载就会自动被建立:

# mount -t tmpfs tmpfs  /home
# df -h

mkdir /new ###创建临时目录

mount -t tmpfs tmpfs /new ###将磁盘挂载到临时上目录

cp -R /home/* /new ###将/home下的所有数据复制到/new

rm -rf /home/* ####可选,主要为了腾出空间给原来的硬盘

umount /new ###解除挂载

rm -rf /new ###删除临时目录

mount -t tmpfs tmpfs /home ###挂载/home 到新硬盘

1、  查看已使用的磁盘情况

df –h

2、  查看所有磁盘

fdisk –l

3、  查看指定磁盘“/dev/xvde”的分区情况

fdisk -l /dev/xvde
<think>嗯,用户的问题是关于如何在Linux系统中挂载tmpfs,或者相关的配置教程。首先,我需要回忆一下tmpfs的基本概念。tmpfs是一种基于内存的文件系统,可以用于临时存储文件,数据存放在内存或交换分区中,由VM子系统管理。根据用户提供的引用内容,tmpfs的大小默认可能是物理内存的一半,但可以手动指定。 接下来,用户可能需要具体的步骤来挂载tmpfs。我记得挂载命令通常是使用mount,指定类型为tmpfs,并通过-o选项设置参数,比如size。例如,sudo mount -t tmpfs -o size=2m tmpfs /mnt/tmp,这样就能在/mnt/tmp挂载一个2MB的tmpfs。引用中的例子显示,挂载后可以通过df命令查看确认,如引用2和引用4中的示例。 用户可能还会遇到挂载后原目录文件不可见的问题,如引用3提到的。这时候需要解释原因,tmpfs挂载会覆盖原目录,卸载后文件会恢复。所以在挂载前需要确认目录是否为空,或者是否需要备份数据。 另外,用户可能需要永久挂载tmpfs,这就需要修改/etc/fstab文件。添加类似tmpfs /mnt/tmp tmpfs defaults,size=512M 0 0的条目,然后重新挂载。这需要注意权限和选项的正确性,避免系统启动错误。 可能的问题还包括如何调整tmpfs的大小,比如使用mount -o remount,size=1G /mnt/tmp来动态调整,这在引用4中也有涉及。同时,用户可能会关心tmpfs的性能和应用场景,比如适合临时文件、缓存等,但数据在重启后会丢失,所以不能用于持久化存储。 需要确保回答覆盖临时挂载和永久挂载的方法,常见问题解决方法,以及注意事项,比如内存使用和备份。同时,根据用户提供的引用,引用中的示例命令和现象可以作为参考,确保回答的准确性。</think>### 如何在Linux系统中挂载tmpfs #### 一、临时挂载tmpfs 1. **创建挂载目录** 选择或新建一个目录作为挂载点,例如`/mnt/tmp`: ```bash sudo mkdir -p /mnt/tmp ``` 2. **执行挂载命令** 使用`mount`命令挂载tmpfs,并通过`-o size`指定大小(支持单位如`m`、`g`): ```bash sudo mount -t tmpfs -o size=512M tmpfs /mnt/tmp ``` 3. **验证挂载结果** 通过`df -h`查看挂载状态,确认`/mnt/tmp`已显示为tmpfs类型,并符合指定大小[^2][^4]: ```bash df -h | grep tmpfs ``` #### 二、永久挂载tmpfs 1. **编辑`/etc/fstab`文件** 添加以下行实现开机自动挂载(以`/mnt/tmp`为例,大小512MB): ```plaintext tmpfs /mnt/tmp tmpfs defaults,size=512M 0 0 ``` 2. **应用配置** 执行以下命令立即生效: ```bash sudo mount -a ``` #### 三、挂载原文件消失的解决方法 - **原因**:tmpfs挂载会覆盖目录原有内容,**卸载后文件会自动恢复**(前提未写入新数据)[^3]。 - **操作建议**: 1. 挂载前备份目录文件: ```bash sudo cp -r /原目录 /备份路径 ``` 2. 卸载tmpfs恢复文件: ```bash sudo umount /mnt/tmp ``` #### 四、高级配置选项 1. **动态调整大小** 通过`remount`调整已挂载tmpfs大小: ```bash sudo mount -o remount,size=1G /mnt/tmp ``` 2. **限制内存使用** 添加`nr_blocks`和`nr_inodes`参数限制块数量和inode数量: ```bash sudo mount -t tmpfs -o size=512M,nr_blocks=100000,nr_inodes=1000 tmpfs /mnt/tmp ``` #### 五、注意事项 1. **内存与交换分区** tmpfs使用的空间可能来自物理内存或Swap分区,遵循VM子系统调度策略[^1][^4]。 2. **性能优势** 适合存储临时文件(如缓存、会话数据),但**重启后数据丢失**,不可用于持久化存储。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值