磁盘规划 迁移/home

本文介绍了在Linux系统中因/home分区空间不足,如何将/home目录迁移到新的分区的两种方法。内容包括新建磁盘分区、挂载、修改用户宿主目录、更新分区表、配置开机自动挂载等操作步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

磁盘规划 迁移/home

 

之所以进行迁移,是因为根分区预留不宽裕,du –sh /home 发现home分区占比较大,于是将home目录迁移到新的分区

迁移/home目录有两种方法:

第一种

1. 新建一个磁盘分区,将其挂载到/data目录下

2.将/home目录下的所有用户的宿主目录用mv移动到/data目录下

3.修改/etc/passwd文件,将文件内普通用户的宿主目录进行修改,即将/home改为/data

第二种

  1.首先创建用户xiaowang

   [root@magedu ~]# useradd xiaowang

 [root@magedu ~]# getent passwd xiaowang

 xiaowang:x:504:504::/home/xiaowang:/bin/bash

 2.磁盘分区,划分一个10G的磁盘

      [root@magedu ~]# fdisk /dev/sda

    WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

      switch off the mode (command 'c') and change display units to

     sectors (command 'u').

 

   Command (m for help): p 查看分区

 

Disk /dev/sda: 214.7 GB, 214748364800 bytes

255 heads, 63 sectors/track, 26108 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00060738

 

Device Boot Start End Blocks Id System

/dev/sda1 * 1 131 1048576 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 131 6658 52428800 83 Linux

/dev/sda3 6658 13185 52428800 83 Linux

 

Command (m for help): n 进行分区

Command action

e extended

p primary partition (1-4)

p

Selected partition 4

First cylinder (13185-26108, default 13185):

Using default value 13185

Last cylinder, +cylinders or +size{K,M,G} (13185-26108, default 26108): +10G

 

Command (m for help): P

 

Disk /dev/sda: 214.7 GB, 214748364800 bytes

255 heads, 63 sectors/track, 26108 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00060738

 

Device Boot Start End Blocks Id System

/dev/sda1 * 1 131 1048576 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 131 6658 52428800 83 Linux

/dev/sda3 6658 13185 52428800 83 Linux

/dev/sda4 13185 14490 10483725 83 Linux

/dev/sda5 13185 14490 10483693+ 83 Linux

Command (m for help): W 保存退出

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

 

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

3.更新磁盘分区:partprope

  [root@magedu ~]# partx -a /dev/sda //重新加载/dev/sda的分区

 4.格式化新划分的磁盘::mkfs.ext3 /dev/sda5

[root@magedu ~]# mkfs.ext3 /dev/sda5//格式化/dev/sda5分区

 5.将用户xiaowang的家目录拷贝到/tmp 目录下(注意加上 -rp r是因为有目录,p保留属性 )

[root@magedu ~]# cp -rp /home/xiaowang /tmp

 6.删除用户xiaowang在/home目录下的家目录

   [root@magedu ~]# cd /home

   [root@magedu home]# ls

    magedu nginx user wangcai xiaowan

 7.将新划分的磁盘挂载到/home目录

   [root@localhosthome]# mount /dev/sda5 /home/

   [root@localhosthome]# df -h

   文件系统容量已用 可用 已用% 挂载点

/dev/sda2        19G  2.7G  16G  15% /

/dev/sda1        99M   12M  82M  13% /boot

tmpfs         1005M    0 1005M  0% /dev/shm

/dev/sdb1        19G  173M  18G   1% /data/tools

/dev/sdb2        19G  173M  18G   1% /data/soft

/dev/sdb6        9.2G  150M 8.6G   2% /data/game

/dev/sda5        10G  173M  18G   1% /home

 

8. 将用户xiaowang的家目录从/tmp下拷贝过来:

[root@localhosthome]# cp -rf /tmp/xiaowang xiaowang/

[root@localhosthome]# cp -rp /tmp/xiaowang /home/

 9.切换到用户xiaowang查看是否有宿主目录: [root@localhosthome]# su - xiaowang  //成功迁移

[user1@localhost ~]$

 10.实现开机自动挂载

      配置开机自动挂载:/etc/fstab文件

 配置文件/etc/fstab,其内容可以以空格或制表位分为6列,每一列的表示的内容如下所示:

     [root@localhost ~]# cat /etc/fstab

 

LABEL=/ / ext3 defaults 1 1

 

LABEL=/boot /boot ext3 defaults 1 2

 

tmpfs /dev/shm tmpfs defaults 0 0

 

devpts /dev/pts devpts gid=5,mode=620 0 0

 

sysfs /sys sysfs defaults 0 0

 

proc /proc proc defaults 0 0

 

LABEL=SWAP-sda3 swap swap defaults 0 0

第1段 2 3 4 5 6

每一段表示的内容:

第一段:表示设备文件(也可以为UUID、设备名和卷标)

第二段:表示挂载点

第三段:表示文件系统类型

第四段:挂载参数

第五段:备份标记(为0表示不备份)

第六段:检测顺序(为0表示不检测)

示例:设置开机自动挂载(包括交换分区)

第一步:查看挂载情况和交换分区的大小;

如果有新的挂在点,先卸载;如果有新的交换分区,先用swapoff 设备名卸载交换分区。

[root@localhost ~]# df -Th //首先查看一下文件系统的挂载情况

 

文件系统类型容量已用 可用 已用% 挂载点

 

/dev/sda2 ext3 19G 2.7G 16G 15% /

 

/dev/sda1 ext3 99M 12M 82M 13% /boot

 

tmpfs tmpfs 1005M 0 1005M 0% /dev/shm

 

[root@localhost ~]# free -m //原始交换分区为我的sda磁盘上的一个分区大小为2G

 

total used free shared buffers cached

 

Mem: 2008 911 1096 0 85 649

 

-/+buffers/cache: 176 1831

 

Swap: 2047 0 2047

 

[root@localhost ~]#

 

第二步:修改fstab文件内容,增加开机挂载项;

注:-这里大部分使用的为UUID,需使用blkid先查询设备的UUID

-/dev/sdb5为交换分区,交换分区的第二段挂载点为swap,第三段文件系统类型还是swap,挂载swap分区的时候需要注意一下!

 

[root@localhost ~]# vim /etc/fstab

 

LABEL=/ / ext3 defaults 1 1

 

LABEL=/boot /boot ext3 defaults 1 2

 

tmpfs /dev/shm tmpfs defaults 0 0

 

devpts /dev/pts devpts gid=5,mode=620 0 0

 

sysfs /sys sysfs defaults 0 0

 

proc /proc proc defaults 0 0

 

LABEL=SWAP-sda3 swap swap defaults 0 0

 

UUID="59b355ba-5f83-4016-b5bc-4257ae948359" /data/tools ext3 defaults 0 0

 

UUID="1497b080-ffaf-4fe1-95c7-c63d349550a9" /data/soft ext3 defaults 0 0

 

UUID="58fbc6d5-e597-42bf-9ee7-096f62dd41cc" /data/game ext3 defaults 0 0

 

UUID="a463550a-9d03-4934-81a4-e6f8be920f9a" /home ext3 defaults 0 0

 

/dev/sdb5 swap swap defaults 0 0

 

 

第三步:使用mount -a命令来重新加载一遍

然后用df -Th和free -m分别查看文件系统和交换分区的挂载情况。

 

[root@localhost ~]# mount -a

[root@localhost ~]# df -Th //可以看到下面文件系统已经加载成功了

 

文件系统类型容量已用 可用 已用% 挂载点

 

/dev/sda2 ext3 19G 2.7G 16G 15% /

 

/dev/sda1 ext3 99M 12M 82M 13% /boot

 

tmpfs tmpfs 1005M 0 1005M 0% /dev/shm

 

/dev/sda5 ext3 19G 173M 18G 1% /home

 

/dev/sdb1 ext3 19G 173M 18G 1% /data/tools

 

/dev/sdb2 ext3 19G 173M 18G 1% /data/soft

 

/dev/sdb6 ext3 9.2G 150M 8.6G 2% /data/game

 

[root@localhost ~]# free -m

 

//查看swap分区是否被挂载,可以看到和上边第一步查询的结果是一样的,那么即说明没有挂载,这时需要重新启动才能挂载。

 

total used free shared buffers cached

 

Mem: 2008 910 1097 0 86 649

 

-/+buffers/cache: 175 1832

 

Swap: 2047 0 2047

 

 

总结:可以使用mount-a来重新加载fstab内的文件系统,但是通过free -m可以看到,交换分区是没有加载成功的,若想要加载成功,则需要重新启动

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值