最近博主学习linux系统,工作有个需求:给服务器上的几块硬盘挂载分区,并分配盘符到目录下。
由于之前学得半懂不懂,记录下学习过程。
一、基本概念理解
- 硬盘:硬盘给服务器做安装系统存储使用。个人电脑可能1-2块盘,服务器上多块盘,并可能做了raid
- 磁盘分区形式/格式:MBR(主引导记录(MBR))和GPT(全局唯一标示磁盘分区表格式)。
- 简单来这两个是对硬盘分区的形式或者模式。任何一块硬盘在给系统使用的时候,必须要先建立MBR或者GPT
- MBR对硬盘大小都要求,一般用来处理低于2T的硬盘;超过2T的硬盘它处理不了,所以这个使用要用GPT格式
- 两个都可以去对机械和固态硬盘操作,只是随便发展,现在流行GPT+UEFI+固态硬盘
- window下可以使用diskgenius工具上手练习硬盘的分区操作,建议用虚拟机+PE在diskgenius操作,这个搞会了装系统完全没问题
- Linux(这里指Centos)一般自带fdisk工具和gdisk工具;在centos下对硬盘操作就需要用这两个工具来操作
- 还觉得不懂的可以百度一下,这个要写的太多了
- 盘符/文件夹/目录:
- Windows下:我们经常打开【我的电脑】,操作里面的C盘,D盘,E盘等等,这个C/D/E就是盘符。
- 在桌面或者D盘鼠标右键就可以新建一个文件夹,这个时候就可以对里面的进行复制粘贴写入读取等操作
- LINUX下:它的概念就是文件操作系统,说白了就是对盘符或者文件夹操作的系统,淡化了盘符的概念,在系统里面什么文件都是/,/XXX,/XXX.XXX
- 所以简单理解/和/boo,/home就可以理解为一个盘符或者文件夹,mkdir 新建的文件夹也可以理解为一个盘符
- 挂载:使磁盘的一个文件夹能在系统上面识别和使用
- 格式化:将磁盘里面的文件夹及文件清空,还原初始化状态
二、环境及需求
环境:1台虚拟机,系统centos7.9,多个磁盘,可用VMware扩展
需求举例:
1.机器新加了一块磁盘,大小10G,将全部大小分区并挂载给新建的/data目录
2.机器新加了一块磁盘,大小20G,将5G给分区并挂载给新建的/blog目录,将15G给分区并挂载给新建的/subsea目录
在企业环境里面,服务器多有好几个硬盘,这种分区是最简单。与这个需求一起的,一般还有raid和扩容,后面再补充。
三、流程与相关命令
补充博主看的学习视频链接:https://www.bilibili.com/video/BV1YW411d7j5?spm_id_from=333.999.0.0
1.给服务器加硬盘
2.查看当前硬盘及分区容量的信息
lsblk 查看磁盘分区及使用情况
ls /dev/sd* 查看dev下有几块磁盘,命名从a、b、c排列,*表示显示所有,如果出现sda\sdb\sdc,说明3块磁盘
df -h 查看盘符目录及容量大小
3.使用fdisk或者gdisk给新建分区并格式化
fdisk /dev/sdb 使用fdisk对磁盘进行分区,里面还有很多命令,sdb指硬盘名称
分区磁盘,操作时编辑
mkfs.ext4 /dev/sdb1 格式化新分区sdb1,-f强制
4.新建文件夹并挂载到刚才新建的分区
mkdir /subsea 创建subsea目录
mount /dev/sdb1 /home 挂载/sdb1到/subsea上
5.修改内核启动文件,实现开机自动挂载
vi /etc/fstab 修改开机挂载文件
修改配置文件,等会操作时编辑。这个有两种方法,UUID也可以
mount -a 设置自动挂载
reboot 重启
四、操作过程
1.虚拟机模拟,添加两个新硬盘,大小10G和20G,略过
2.查看下当前的磁盘情况
lsblk
3.使用fdisk或者gdisk给新建分区并格式化ext4格式
fdisk /dev/sdb
再使用lsbk查看信息,正确的话已经可以查看到新磁盘分区sdb1,大小10G
4.新建文件夹并挂载到刚才新建的分区
mkfs.ext4 /dev/sdb1 格式化sdb1为ext4格式
mkdir /data 创建新文件夹/data
mount /dev/sdb1 /data 挂载
再次使用lsblk来查看一下
5.修改内核启动文件,实现开机自动挂载
vi /etc/fstab
6.重启一下,看是否开机生效
reboot
df -h
7.参照上面操作,处理/sdc磁盘,并完成分区