迁移用户数据到独立分区

    Linux操作系统中,/home目录下为各个普通用户的家目录,主要用于存放用户的配置信息及相关文件。若安装操作系统时,采用了home目录与根目录处在同一分区的分区策略,那么随着用户数据较多,很有可能将分区空间耗尽,导致系统崩溃。所以最好是将用户数据所在目录放在一个独立的分区上,但由于/home目录下已有一些用户数据,要想将home目录建立在一个独立的分区上,需要先迁移原有用户数据。
    在迁移数据前,应提前通知用户系统维护期间禁止登陆,否则可能导致数据丢失。

1 划分分区

这里写图片描述

    使用fdisk命令划分新的分区,fdisk的子命令p可以列出当前分区的状况,如上图,当前已有sda1、sda2、sda3、sda4、sda5五个分区;子命令n用来划分分区,可以指定初始扇区和终止扇区的位置(本例中初始扇区采用默认值,终止扇区在初始扇区的基础上增加10G),如图划分了一个10G大小的分区;子命令w将修改写入磁盘并退出。

这里写图片描述

    划分分区后极有可能出现磁盘分区表与内存中缓存的分区表不同步的情况,如上图所示,WARNING提示分区表不同步,需手动同步分区表。在CentOS7中使用partprobe 命令同步分区表。

这里写图片描述

   同步后使用lsblk命令可以看到新分的sda6分区。

这里写图片描述

2 创建文件系统

   接下来需要为sda6创建文件系统,使用mkfs.ext4命令可以为分区创建ext4格式的文件系统。

这里写图片描述

    创建完文件系统后可用blkid命令查看,如下图,sda6的文件系统已成功创建为ext4。

这里写图片描述

3 迁移数据

    接下来便可以将/home下原有数据迁移至新分区上了,但由于/dev/sda6是磁盘设备,无法直接被用户使用。若要访问,需先将/dev/sda6挂载到某个目录上。
    使用mkdir命令创建一个目录当做挂载点,然后使用mount命令将/dev/sda挂载到该目录下,挂载完后使用df命令可查看挂载是否成功,如下图。这样,访问/mnt/home目录就相当于访问/dev/sda6。

这里写图片描述

   将当前家目录下的数据拷贝至/dev/sda6。

这里写图片描述

4 删除原数据

    使用init 1 切换至单用户模式,以切断网络,防止系统维护期间用户访问数据丢失。此时远程控制软件(SecureCRT、Xshell等)已无法使用,需要在机器前操作。

这里写图片描述

    如下图,已切换至单用户模式,输入root用户的口令即可。

这里写图片描述

    在该模式下,删除原来的家目录rm -rf /home/*(事先最好做一份家目录的备份)。

5 将独立分区挂载至home目录

这里写图片描述

   接下来只需要将/dev/sda6挂载到/home目录下,以后在/home目录下修改数据就是在独立分区/dev/sda6上修改数据。为达到开机自动挂载的效果,需将挂载信息写入配置文件/etc/fstab,如上图最后一行所示:
   UUID=8d59a22c-b571-4644-9876-dffde4a9b62c唯一标识了/dev/sda6分区;/home是挂载点;ext4是/dev/sda6的文件系统类型;defaults指明了挂载选项;第一个0处表示备份频率,0表示不备份;第二个0处表示是否进行文件系统的检查,0表示不检查。

这里写图片描述

  保存退出后还未生效,需使用mount -a命令使配置生效,将/dev/sda6挂载到/home目录。
  使用init 6 重启,重启后若可以正常访问/home目录,则数据迁移成功。

 

 1350

原创文章,作者:以梦为马,如若转载,请注明出处:http://www.178linux.com/84686

(0)
以梦为马以梦为马
上一篇 2017-08-13 21:57
下一篇 2017-08-13 22:57

相关推荐

  • Nginx 负载均衡多个nmmp主机

    设计拓扑图 一、Memcache简介 cache(缓存系统) 高性能分布式缓存服务器,缓存所有的“可流式化”数据:livejournal旗下Danga Interacive公司 程序=指令+数据 指令:程序 数据:IO操作 文件系统: 特征:协议简单  基于libevent的事件处理  内置内存存储方式  memcached 不…

    2014-09-17
  • linux的管道命令和用户管理命令

    1、列出当前系统上的所有已经登录的用户的用户名 [root@localhost home]# who | cut -d” ” -f1 | uniq root test root 2、取出最后登录到当前系统的用户相关信息 [root@localhost home]# who | tail -1 root pts/3 2017-07-16 19:38 (192.…

    Linux干货 2017-07-17
  • 挂载

    挂载的相关介绍

    Linux干货 2017-12-10
  • N26-第六周

    请详细总结vim编辑器的使用 vim 模式化的编辑器 vim的三种模式:1.编辑模式(命令模式)                          2.输入模式          …

    Linux干货 2017-03-13
  • 第四周作业(正则表达式)

    grep: Global search REgular expression and Print out the line.         作用:文本搜索工具,根据用户指定的“模式(过滤条件)”对目标文本逐行进行匹配检查;打印匹配到的行;    &…

    Linux干货 2016-12-28
  • Linux三剑客之sed命令

    一.sed命令概述 Stream EDitor ,行编辑器 sed是一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有改变除非你使用重定向存储输出.sed主…

    Linux干货 2016-08-15