解决挂载新硬盘原有目录下文件消失的方法

新硬盘挂载目录后文件消失解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。

项目初期用户文件较少,全部存储在/home目录下,/home目录没有单独划开分区,随着项目网站做大,用户文件越来越多,/home目录不够空间,想挂载一个新硬盘来负责储存

但发现新挂载/home到新硬盘时,/home原来数据变空了,这个原因是由于Linux的VFS(虚拟文件系统)机制导致的,正常登录以后,所看到的各个目录,文件都是内核在加载时候构造在内存中的VFS目录树,而不是直接看到硬盘上的实际目录树。当你挂载某个设备到一个VFS挂载点上时(比如/home),系统就把VFS中的这个挂载点/home指向你最后所挂载的那个设备上。那么你现在访问该挂载点时,就会看到你最后挂载在此处的设备。而之前所挂载的设备依然在那里,只不过挂载点/home已经不再指向之前的设备。所以之前的数据是被隐藏了,但并没有删除,若umount挂载后,数据又重新回来了

基于这种情况,只能通过跳板的方式把原来的/home数据复制到新的/home分区下了 ,如何添加新硬盘,请查找相关资料

mkdir /new  ###跳板目录

mount /dev/sdb1 /new  ###首先挂载跳板目录

cp -R /home/*  /new  ###复制/home目录所有数据到/new先

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

mount /dev/sdb1 /home ###挂载/home 到新硬盘,此时你会神奇的发现之前的/home目录文件已经全部转移过来了,也许你会有点疑问,我并没有复制或移动/new文件到新挂载的/home目录啊,其实此时的/home目录相当于/new目录的硬链接,可以测试下mkdir /new/test 你会发现/home目录也存在test

umount /new ###解除挂载

rm -rf /new ###删除跳板目录

echo  "/dev/sdb1  /home    ext3    defaults    0 0" >> /etc/fstab ###开机启动挂载目录

时间: 2024-10-14 17:46:29

解决挂载新硬盘原有目录下文件消失的方法的相关文章

vm虚拟机下centos6.2挂载新硬盘操作记录

查看现有的分区 [[email protected] ~]# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/opt

linux 挂载新硬盘

fdisk 对硬盘及分区的操作,进入fdisk 对硬盘操作阶段 我们可以对硬盘进行分区操作,前提是您把fdisk -l 弄明白了:通过fdisk -l ,我们能找出机器中所有硬盘个数及设备名称:比如上面的例子,我们会看到两个设备一个是/dev/hda ,另一个是/dev/sda : fdisk 操作硬盘的命令格式如下: [[email protected] beinan]# fdisk 设备 比如我们通过 fdisk -l 得知 /dev/hda 或者 /dev/sda设备:我们如果想再添加或者

CentOS挂载新硬盘

1.查看当前硬盘使用状况: df -h [email protected]_160_34_centos:~> df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.9G 1.5G 6.1G 20% / 2.查看新硬盘  fdisk -l 1 [email protected]_160_34_centos:~> fdisk -l 2 3 Disk /dev/xvda: 8589 MB, 8589934592 bytes 4 2

买了阿里云之后:挂载新硬盘

挂载新硬盘# df -h2.查看新硬盘    #fdisk –l 1)进入fdisk模式    #/sbin/fdisk/dev/sdb   2)输入n进行分区这里有两个选项: Ø  p: 主分区linux上主分区最多能有4个 Ø  e: 扩展分区linux上扩展分区只能有1个,扩展分区创建后不能直接使用,还要在扩展分区上创建逻辑分区. 这里我选择的p.    4)选择分区个数       Partition number (1-4):可以选择4个分区,这里我只分成1个分区    5)设置柱面,

Linux挂载新硬盘和创建Swap分区的方法

Liunx添加新硬盘其实和Windows的操作一样,但一个是图形化操作,另一个是命令行操作,不过步骤是一样,下面就动手演示和讲解 Linux挂载新硬盘 1.查看硬盘信息 命令:fdisk -l [[email protected] ~]# fdisk -l Disk /dev/vda: 21.5 GB, 21474836480 bytes #第一块硬盘的信息和分区信息 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of

busybox下 etc目录下文件分析

busybox下 etc目录下文件分析 2011年11月08日 10:46:02 大鹏1987 阅读数:3016 标签: permissionsshellcommentspathcommand 更多 个人分类: ARM/Linux 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yjp19871013/article/details/6946822 (1) /etc/passwd 用于存放用户基本信息的口令文件.该口令每行由七个域构成: user

多线程的对比与案例(计算目录下文件的大小)

本人使用的是mac 所以有usr目录.把以下的几种情况分别贴出来给大家分析下各自有什么优缺点! 1.顺序计算目录大小code: package jvm; import java.io.File; /** * 第一版 * 顺序计算目录大小 * @author zeuskingzb * */ public class TotalFileSizeSequential { private long getTotalSizeOfFilesInDir(File file){ if (file.isFile(

linux获取目录下文件

查看当前目录下的文件:find . -type f查看当前目录下的文件夹: find . -type d如果文件file1不为空: if [ -s file1 ];then       echo "file1 不为空"fi #!/bin/sh for f in `find ./testdir -type f`; do         if [ -s $f ];then                 echo $f is not empty.                 echo 

linux 目录下文件批量植入和删除

linux目录下文件批量植入 [[email protected] http2]# find /usr/local/http2/htdocs/ -type f|xargs sed -i "1  i <script>alert(1)</script>" 其中上面的1 为文件的第一行 i为植入 批量删除: [[email protected] ~]# find /usr/local/http2/htdocs/ -type f|xargs sed -i '/<s