迁移用户数据到独立分区

    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

相关推荐

  • 磁盘管理之磁盘分区,主引导分区表修复

    磁盘管理: I/O Ports: I/O设备地址 一切皆文件: open(), read(), write(), close() 设备类型: 块设备:block,存取单位“块”,磁盘 字符设备:char,存取单位“字符”,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信 设备号码: 主设备号:major number, 标识设备类型…

    Linux干货 2016-08-25
  • python知识点

    #ipython的使用## 帮助功能?:Ipython的概述和简介help(name):查询指定名称的帮助obj?:列出obj对象的详细信息obj??:列出更加详细信息 ## 特殊变量_ :表示前一次的输出__:倒数第二次输出___:倒数第三次输出_dh:目录历史_oh:输出历史 ## shell命令!command 执行shell命令!ls -l!touc…

    Linux干货 2017-10-03
  • 网络配置——路由配置实验

    一、实验环境: 4台虚拟主机,2台CentOS6.8主机做了R1路由器和PC1主机,2台CentOS7.2主机做了R2路由器和PC2主机,4台主机工作在桥接模式下 实验拓扑图: 二、网络配置: ·PC1的网卡配置; ·PC2的网卡配置; ·R1的网卡配置; ·R2的网卡配置; ·启用路由      &nbsp…

    Linux干货 2016-09-07
  • N24期第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 2、编辑/etc/group文件,添加组hadoop。 vim /etc/group,增加此行 3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home…

    Linux干货 2016-11-22
  • Linux文本三剑客之grep

    一、定义:                 GREP  :Global search REgular expression and Print out the line的缩写。是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查;并把匹配的行打印出…

    Linux干货 2016-04-05
  • 循环体

    for 变量名in 列表;do 循环体 done 执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令  &nbsp…

    Linux干货 2016-08-21