磁盘规划 迁移/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可以看到,交换分区是没有加载成功的,若想要加载成功,则需要重新启动。