增加硬盘的大致步骤:
1) 虚拟机添加硬盘(如果在真实服务器环境下,应该是插入几块新磁盘,然后通过ctrl+R进入RAID设置面板,把这几块新磁盘设置RAID,然后初始化,这样OS才可以检测到新磁盘的存在)
2) 分区: fdisk /dev/sdc
3) 格式化: mkfs -t ext4 /dev/sdc1
4) 挂载: 先创建一个目录 /home/newdisk_sdc,然后执行挂载指令 mount /dev/sdc1 /home/ newdisk_sdc
5) 设置可以自动挂载(永久挂载)
6) 如果想要解除挂载关系,就执行umount /dev/sdc1或umount /home/newdisk_sdc
一、 添加新硬盘
原来服务器master中的硬盘挂载情况如下所示:(发现sdc硬盘没有挂载点,也就是系统并没有利用这个sdc,这个sdc的大小为4.6TB)
cd /dev,查看dev目录,可以看到各个磁盘的设备信息,这里可以看到,这些文件的类型属性为b,也就是block,是块设备文件。
二、 分区
马上要用fdisk指令来操作这块磁盘(分区),先 man fdisk看看这个指令是干什么的:
输入fdisk /dev/sdc,对硬盘sdc进行分区
输入m
输入n,之后直接按回车(这里我也不懂是在干什么,后面会揭晓)
然后输入w,退出
再次执行lsblk -f指令,看到sdc磁盘已经有了一个新的分区sdc1
再执行lsblk,看到sdc1分区的大小正好为4.6T
现在的新分区sdc1没有uuid,也没有挂载点,是因为没有格式化。
好比买了一套房子,现在是毛坯房,还没有装修(格式化),所以还没发住人(存储数据)
三、 格式化
下面开始格式化:
先man mkfs,看看mkfs指令的含义,如此看来,应该是将这个磁盘分区进行操作,构造一个OS可以使用的 文件系统,也就是俗称的格式化:
执行mkfs -t ext4 /dev/sdc1
格式化完毕,这里可以看到非常熟悉的两个名词:inode和superblock,这些都是UNIX文件系统中的基本概念,用来管控一个磁盘每个分区的空间使用,看来CentOS7的文件系统也应该是继承了传统UNIX的文件系统风格(当然windows的文件系统不同于UNIX,并不使用inode和superblock这些概念)
lsblk -f,可以看到sdc1分区已经有了FSTYPE为ext4,也有了自己的UUID,但是还没有挂载点,因为我们还没有挂载
四、 挂载
下面开始挂载
创建目录/home/newdisk_sdc
执行挂载指令:
mount /dev/sdc1 /home/ newdisk_sdc
这时再执行lsblk -f,可以看到sdc1分区已经有了挂载点
进入newdisk_sdc,然后ls,发现里面多出来一个文件:
至此,硬盘分区、格式化、挂载就已经完毕。
五、 设置永久挂载
但是这样做,如果之后重启系统,这个挂载设置就会失效,也就是设备sdc和挂载点newdisk_sdc的挂载关系就会消失,也就是只是临时挂载,所以还需要进一步设置,实现永久挂载,这样就可以让系统重启后,挂载关系仍然不变。
vim /etc/fstab
加入一行内容,让我们的sdc1和newdisk_sdc的对应关系体现出来:(末尾的两个数字现在还不知道是干什么的,暂时就写0 0 )
保存并退出。
mount -a,也就是设置自动挂载
至此,永久挂载设置成功。
若想验证是否成功,可以reboot重启,然后再lsblk -f查看sdc1的挂载点是否存在。(这里就不reboot了,因为hadoop集群正在运行,我怕reboot会让hadoop集群出错)
六、 解除挂载
本来正常挂载
执行umount指令后,发现挂载解除