Linux的磁盘管理是Linux管理员非常重要的必须技能,现在的Ubuntu,红帽。都已经可以使用LVM进行分区管理,也就是自动分配增长分区功能。看起来好像,不需要使用磁盘管理,磁盘可以自动管理。但是,我们的磁盘坏了,需要更新或者系统需要扩容,增加新的硬盘,这时候就必须要使用fdisk命令进行管理。本文就是针对fdisk进行管理的说明。
在Linux中要对磁盘进行分区,需要四步来进行(非常重要,不可缺少任何步骤):
1.对磁盘进行分区
2.内核重新读取新的分区表:执行命令
partprobe /dev/sd(sd 新建的磁盘分区,*是新建分时候对应的磁盘,如:sdc1,sdb2等)
本文使用sdb1来演示
3.创建文件系统,Linux支持很多文件系统,主要有ext4和xfs
mkfs.ext4 /dev/sdb1
4.挂载,将文件系统连接到目录结构中。
下面我执行上面的每一步骤:我假设新增磁盘
1.对磁盘进行分区
ls /dev/sd* ##查看新增磁盘
fdisk /dev/sdb ##对磁盘sdb使用fdisk命令,fdisk是一个软件,Linux自带的。
图1输入m;会出现以下命令
图2
在下方输入n;
图3可以看见显示 p e 选项:如果建立的主分区选p,否则e
这里我选择p,出现扇区选择大小,如果此时你需要精确的大小,可以进行计算,一个山区大小为512b,可以进行计算得出1G有多少扇区。
在这里我不打算如此精确。我可以使用+号,后面跟我要分盘的大小。
图4
这里我给1G大小的空间。
最后输入w进行保存(必须,否则会丢失,分区不成功。)
这样,我们的第一步完成。
现在,进行第二步
2.内核重新读取新的分区表
图5分区做好后我们使用df命令是看不见分区的。
此时,我们可以使用ls命令查看
ls /dev/sd* ###查看所有磁盘。
这时,我们就看见了我们新分区的是sdb1,输入
partprobe /dev/sdb #此处时sdb 不是sdb1,是读取整块的硬盘sdb,sdb1是整块硬盘的一个分区。
3.创建文件系统
创建文件系统,首先格式化硬盘分区。
mkfs.ext4 /dev/sdb1 ##在这里注意,一定不能格式化sdb,要格式化的是sdb1.要是格式化sdb,那么sdb1就没有了,所以一定要注意。
4.挂载--就是将一个目录和一个硬盘连接
1.手动挂载:重启后会失效,
mount 硬件所在目录 挂载点 (目录)。比如:
mkdir /mnt/user ###在/mnt目录下创建user文件
mount /dev/sdb1 /mnt/user ###将sdb1分区挂载到mnt文件下的user文件下。user文件下的内容全部存储到sdb1分区中。
2.永久挂载:就是将设备加到 /etc/fstab 文件中
vim /etc/fatab ###设置fstab配置文件
图6这就是fstab的设置文件,只需将要挂载的目录写入其中就可以。
格式为:
硬件文件或uuid号 >挂载点>文件类型>设备自定义选项>0>0
后面的两个0,第一个表示转存标志,后面一个是fsck顺序
转存标志用与生成设备内容的备份
0表示不备份;1表示备份
fsck:当有多个文件系统需要检查时,检查的顺序
0表示不需要检查,直接挂载;1表示检查后第一个挂载;2表示检查后第二个挂载
uuid号可以只用命令blkid查看
图7完成后使用命令mount检查书写是否正确。
mount -a
没有任何输出就表示没有问题。
至此,磁盘的挂载完成。