小知识 - 迁移 home 到新分区上

小知识 - 迁移 /home 到新分区以及复原

1 备份/home 目录

[root@CentOS8 ~]#cp -av /home /data/backup
'/home' -> '/data/backup'
'/home/dawn' -> '/data/backup/dawn'
'/home/dawn/.bash_logout' -> '/data/backup/dawn/.bash_logout'
'/home/dawn/.bash_profile' -> '/data/backup/dawn/.bash_profile'
'/home/dawn/.bashrc' -> '/data/backup/dawn/.bashrc'

2 创建新分区

[root@CentOS8 ~]#fdisk /dev/sdb 

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x2dffab79.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-104857599, default 2048): 
Last sector, +sectors or +size{K,M,G,T,P} (2048-104857599, default 104857599): +5G

Created a new partition 1 of type 'Linux' and of size 5 GiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

3 查看分区并给新分区创建文件系统

#3.1 此步骤为查看
[root@CentOS8 ~]#lsblk

#3.2 创建文件系统,并给这个文件系统加了卷标名,为/home
[root@CentOS8 ~]#mkfs.ext4 /dev/sdb1 -L /home
mke2fs 1.44.6 (5-Mar-2019)
Creating filesystem with 1310720 4k blocks and 327680 inodes
Filesystem UUID: 3703d4de-c940-4632-844d-9dbbd2cd6581
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 

4 创建挂载目录,并挂载分区(临时挂载)

#4.1 创建挂载目录
[root@CentOS8 ~]#mkdir /mnt/home

#4.2 挂载分区
[root@CentOS8 ~]#mount /dev/sdb1 /mnt/home

#4.3 查看是否挂载成功(确认挂载没问题,此步骤可省略)
[root@CentOS8 ~]#lsblk /dev/sdb
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb      8:16   0  50G  0 disk 
└─sdb1   8:17   0   5G  0 part /mnt/home

5 发送通知告知其他用户或切换到单用户模式

注意:切换到单用户模式后,会处于网络断开的状态

[root@CentOS8 ~]#init 1

6 复制/home 中的所有数据到挂载目录中,并删除/home 目录中的记录(数据已备份的情况下)

[root@CentOS8 ~]#cp -av /home/* /mnt/home
'/home/dawn' -> '/mnt/home/dawn'
'/home/dawn/.bash_logout' -> '/mnt/home/dawn/.bash_logout'
'/home/dawn/.bash_profile' -> '/mnt/home/dawn/.bash_profile'
'/home/dawn/.bashrc' -> '/mnt/home/dawn/.bashrc'

[root@CentOS8 ~]#rm -rf /home/*

7 将分区条目信息保存在分区表(即:/etc/fstab)中,持久生效

#7.1 获取/dev/sdb1 的UUID
[root@CentOS8 ~]#blkid /dev/sdb1
/dev/sdb1: LABEL="/home" UUID="3703d4de-c940-4632-844d-9dbbd2cd6581" TYPE="ext4" PARTUUID="2dffab79-01"

#7.2 方式1:将UUID 信息追加到/etc/fstab 中(请注意格式)
[root@CentOS8 ~]#echo "UUID=3703d4de-c940-4632-844d-9dbbd2cd6581 /home                   ext4    defaults        0 0" >> /etc/fstab

#7.2 方式2:直接在/etc/fstab 文件中修改
[root@CentOS8 ~]#vim /etc/fstab 

# 
# /etc/fstab
# Created by anaconda on Thu Aug  6 20:09:34 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=023f28a6-d096-4212-be36-d967bd2438b4 /                 xfs     defaults        0 0
UUID=7f19b937-01fc-4567-9f80-bdcf5f48f77b /boot             ext4    defaults        1 2
UUID=749e066f-ee5c-4a70-a306-94ff1de989c7 /data             xfs     defaults        0 0
UUID=89c08ea3-ce6f-496b-9757-33826a48b5c4 swap              swap    defaults        0 0

#7.3 查看/etc/fstab 是否填写正确(此步骤可省略)
[root@CentOS8 ~]#cat /etc/fstab 
……注释信息已省略……
UUID=023f28a6-d096-4212-be36-d967bd2438b4 /               xfs     defaults        0 0
UUID=7f19b937-01fc-4567-9f80-bdcf5f48f77b /boot           ext4    defaults        1 2
UUID=749e066f-ee5c-4a70-a306-94ff1de989c7 /data           xfs     defaults        0 0
UUID=89c08ea3-ce6f-496b-9757-33826a48b5c4 swap            swap    defaults        0 0
UUID=3703d4de-c940-4632-844d-9dbbd2cd6581 /home			  ext4	  defaults        0 0

8 建议查看下分区对比,确保此前步骤没有问题

[root@CentOS8 ~]#ls /home /mnt/home
/home:
dawn  lost+found

/mnt/home:
dawn  lost+found

9 取消临时挂载,并删除挂载目录

[root@CentOS8 ~]#umount /mnt/home
[root@CentOS8 ~]#rm -rf /mnt/home

10 如果是切换到了单用户模式,需切换到原来的模式

[root@CentOS8 ~]#init 5

配置成功

[root@CentOS8 ~]#lsblk /dev/sdb
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb      8:16   0  50G  0 disk 
└─sdb1   8:17   0   5G  0 part /home

复原过程

1 取消挂载

[root@CentOS8 ~]#umount /home
[root@CentOS8 ~]#lsblk

2 删除在/etc/fstab 中挂载的条目信息

3 刷新挂载项

[root@CentOS8 ~]#mount -a

4 将备份文件还原到/home 中

[root@CentOS8 ~]#cp -av /data/backup/* /home
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值