挂载新硬盘,格式化, 分区,扩容/home

任务:

增加一个8T硬盘来扩容/home目录的大小(同理扩容其他分区大小,如果是扩容/boot,则需要在fdisk中用指令a添加boot标签)

环境:

Ubuntu16.04

步骤:

1、添加硬盘

在电脑关机(断电)状态下添加新硬盘。

2、查看硬盘状况

sudo fdisk -l
这里分别是两个硬盘,一个是/dev/sda, 一个是/dev/sdb(新硬盘)

因为硬盘超过2T(硬盘小于2T可以参考),此时用以下命令

$ sudo fdisk /dev/sdb

会出现一段警告:

"WARNING: The size of this disk is 8.0 TB (7995995979776 bytes).DOS partition table format can not be used on drives for volumes
larger than 2.2 TB (2199023255040 bytes).

MBR分区表(主引导):
支持的最大卷:2T(1T=1024GB)
对分区的限制:最多4个主分区或3个主分区和一个扩展分区
GPT分区表(GUID分区表):
支持最大卷:18EB(1EB=1024T)
对分区的限制:每个磁盘最多支持128个分区

8T的硬盘需要用GPT格式,而fdisk不能用于GPT分区,所以要用另外一个工具parted来分区:

$ parted /dev/sdb #选择要分区的硬盘,此处为/dev/sdb

此时会进入命令交互式

GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel GPT #建立磁盘标签
(parted) mkpart primary 0%  80% 
(parted) mkpart primary 81%  100% #这里表示吧8T硬盘分成两个区,一个从0%至80%(6.4T),另一个则是剩余的
(parted) print #显示分区信息,可以看到分的两个区
(parted) quit

分区完成,还需要让内核知道添加了新的分区:

$ sudo partprobe

3、格式化

$ sudo mkfs.ext4 /dev/sdb1 #将刚刚两个分区进行ext4格式化,磁盘格式化需要等待漫长的时间
$ sudo mkfs.ext4 /dev/sdb2

4、挂载

把硬盘分区和格式化之后就可以进行存储数据了,但还需要一个节点来挂载这个分区(存储需要一个路径,可以说这个节点是一个指针,类似于window的盘符)

$ mkdir /node #把新建的文件夹作为存储到硬盘上的路径
$ mount -t ext4 -o rw /dev/sdb1 /node #将/node挂载到/dev/sdb1

但是最后的目的是挂载到/home下。PS:此处,不能直接将/dev/sdb1挂载在/home下,因为会把/home里面的内容被覆盖不可见(内容还存在,但是不可见,原来的内容在原来的盘(分区)里面,但是指向那个分区的路径被覆盖了)。
所以先把原来/home的内容转移到新的分区(/node)里面:

$ sudo rsync -aXS --exclude='/*/.gvfs' /home/. /node/. #这时已经将原来/home的内容移到新的硬盘上了

此时就可以把现在/home下的文件删除(删除/home当前分区的文件)

$ rm -rf /home/*
$ umount -l /home

接下来获取新建分区/dev/sdb1的UUID

$ sudo blkid #找到/dev/sdb1那一行,并记录其UUID

添加到fstab中:

$ sudo nano /etc/fstab
#在最后一行添加,然后保存并退出
UUID=????????   /home    ext4          defaults       0       2 

然后重新挂载分区:

$ sudo mount -a

最后更新一下引导,防止重启出错:

$ sudo update-grub
$ sudo update-grub2

欢迎大家一起讨论!

你可能感兴趣的:(挂载新硬盘,格式化, 分区,扩容/home)