实验环境:公司原来安装的CentOS服务器采自分的方案,随着使用服务器的系统用户数量不断根分区经常面临磁盘空间耗尽的情况,甚至有几次还导致系统无法启动。为了解决这些问题现需要为服务器新增加一块SCSI硬盘,并将用户目录/home中的数据迁移到该硬盘中,要求迁移后不能影响原有用户账号的使用。

需求描述

  • 在虚拟机中添加一块80GB的SCSI磁盘。
  • 在新硬盘中建立一个20GB的分区,用于存放所有普通用户的宿主文件夹。
  • 新建的分区仍然挂载到/home目录下,需要导入系统中原有用户的数据。
  • 服务器在每次开机后能够自动挂载该分区。

实验步骤如下:

1、关机后添加新硬盘,重新开机进入CentOS系统。

关机后点击“编辑虚拟机设置”

Linux实验案例:迁移/home分区_linux

点击“添加”

Linux实验案例:迁移/home分区_linux_02

选择“硬盘”,点击“下一步”

Linux实验案例:迁移/home分区_服务器_03

选择“SCSI”类型,点击“下一步”

Linux实验案例:迁移/home分区_服务器_04

选择“创建新虚拟磁盘”,点击“下一步”

Linux实验案例:迁移/home分区_服务器_05

输入磁盘容量,选择“将虚拟磁盘拆分成多个文件”,点击“下一步”

Linux实验案例:迁移/home分区_linux_06

点击“完成”

Linux实验案例:迁移/home分区_服务器_07

点击“确定”,添加完成

Linux实验案例:迁移/home分区_服务器_08

点击“开启此虚拟机”

Linux实验案例:迁移/home分区_linux_09

进入CentOS系统

Linux实验案例:迁移/home分区_linux_10

2、建立一个20GB的主分区(/dev/sdb1),并格式化为XFS类型文件系统。

[root@pd001 ~]# fdisk -l

磁盘 /dev/sda:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a5cbc

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 125829119 61864960 8e Linux LVM

磁盘 /dev/sdb:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc1eb1794

设备 Boot Start End Blocks Id System

磁盘 /dev/mapper/centos-root:62.3 GB, 62272831488 字节,121626624 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/mapper/centos-swap:1073 MB, 1073741824 字节,2097152 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@pd001 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-167772159,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-167772159,默认为 167772159):+20G
分区 1 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xc1eb1794

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 41945087 20971520 83 Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@pd001 ~]# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

3、迁移/home,新建的分区挂载到/home 目录下。

[root@pd001 ~]# mkdir /sb  //用mkdir /sb在/下创建一个空目录
[root@pd001 ~]# mount /dev/sdb1 /sb //使用mount /dev/sdb1 /sb将sdb1挂载到sb目录
[root@pd001 ~]# cp -r /home/* /sb //使用cp -r /home/* /sb将home下的所用文件迁移到sb目录
[root@pd001 ~]# umount /sb //使用umount /sb卸载目录
[root@pd001 ~]# mount /dev/sdb1 /home //再使用mount /dev/sdb1 /home将sdb1挂载到home目录上
[root@pd001 ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 58G 5.1G 53G 9% /
devtmpfs devtmpfs 894M 0 894M 0% /dev
tmpfs tmpfs 910M 0 910M 0% /dev/shm
tmpfs tmpfs 910M 11M 900M 2% /run
tmpfs tmpfs 910M 0 910M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 179M 836M 18% /boot
tmpfs tmpfs 182M 8.0K 182M 1% /run/user/42
tmpfs tmpfs 182M 0 182M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /home

4、设置文件系统的自动挂载。服务器自动开机后自动挂载该分区。

[root@pd001 ~]# vi /etc/fstab

#
# /etc/fstab
# Created by anaconda on Mon Jun 27 15:00:28 2022
#
# 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
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=9f2f4189-523d-424e-9680-8abacd539544 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /home xfs defalts 0 0
~
~
~
~
-- INSERT --