一、linux磁盘分区

     硬盘可以分成若干个分区,每个分区可视为独立的磁盘来使用。硬盘的分区方案被记录到“磁盘分区表”中,通常该表由4个部分组成,每个部分定义一个分区的信 息,因此原始概念中一个硬盘最多只能建立4个分区,称为“主分区”。由于硬盘越来越大,4个分区已不无法满足用户的需要,为此引入“扩展分区”的概念。扩展分区由扩展磁盘分区表维护,可以把某个主分区作为扩展分区划分为若干更小的“逻辑分区”。理论上,硬盘空间足够时,可以建立任意数量的分区。

、Linux磁盘分区工具

   在linux中磁盘分区的工具有parted ,fdisk ,gdisk 。fdisk与gdisk功能一样,本文只介绍fdisk。以下具体介绍:(本文中的sdX表示所指定的硬盘分区名称)

1、parted

      parted:Linux下的磁盘分区与分区调整工具。

      parted /dev/sdX 可进入交互模式    

      parted -l 列出所有硬盘的分区表  

      parted /dev/sdX print 列出指定硬盘的分区信息

parted /dev/sdb print  列出指定硬盘sdb的分区信息

image.png

        parted /dev/sdX mklabel gpt | msdos 给指定硬盘重建指定类型的分区表gpt | mbr

parted /dev/sdb mklabel gpt  给指定硬盘sdb重建指定类型gpt的分区表       交互模式parted /dev/sdb print   再次列出指定硬盘sdb的分区信息

image.png         

parted /dev/sdb mklabel msdos -s  给指定硬盘sdb重建指定类型msdos的分区表    非交互模式

image.pngspacer.gif     

        parted命令对/dev/sdb 进行分区,只能人为输入起始空间。

  parted /dev/sdb mkpart primary 1 2G    给sdb分一个大小为2G的标准分区  parted /dev/sdb mkpart primary 2G 5G    下一个标准分区起始地址为上一个分区的结束地址  parted /dev/sdb mkpart primary 5G 10G  parted /dev/sdb mkpart extended 10G 21.5G  为sdb分一个扩展分区  parted /dev/sdb mkpart logical 10G 11G

2、fdisk      

      fdisk 是一个强大的磁盘分区工具,为交互模式。

     fdisk -l 列出所有块设备的分区信息

     fdisk -l /dev/sdX 查看指定块设备的分区信息

fdisk -l /dev/sdb  查看指定块设备sdb的分区信息

image.png

     fdisk /dev/sdX  对指定硬盘修改分区

fdisk /dev/sdb   对硬盘sdb修改分区

image.png

  输入m后显示以下帮助提示

image.png

    具体步骤如下:

image.png

     经过以上操作创建了一个空间大小为2G的标准分区。

image.png

  硬盘sdb为非操作系统,创建分区后可以直接w保存并同步到内核,但如果是操作系统所在硬盘,w后自动同步不成功,需要手动同步,输入命令:partprobe(限centos7及之后)。

三、 常用的磁盘管理命令

   mkfs :设置磁盘的文件系统。

            mkfs.ext4 /dev/sdb1  设置磁盘sdb的文件系统为ext4

parted /dev/sdb print   列出指定硬盘sdb的分区信息

image.png

mkfs.ext4 /dev/sdb1  设置磁盘sdb的文件系统为ext4

image.png

parted /dev/sdb print   再次列出指定硬盘sdb的分区信息,文件系统为ext4

image.png

  mkfs.ext4 -L  新建名  硬盘分区名     设置卷标

umount /a11    或   umount /dev/sdb1  在此之前已挂载,设置卷标前需要先卸载mkfs.ext4 -L chen /dev/sdb1   设置卷标为chen

image.png

e2label /dev/sdX 查看卷标

e2label /dev/sdb1 查看卷标e2label /dev/sdb1 fan 修改卷标为fan

image.png

四 、mount命令

   当我们把磁盘分区之后,再初始化文件系统后就可以把块设备挂载到目录或文件上。

   mount /dev/sdb1 /a11     mount   挂载源  挂载点

   使用df命令查看当前分区挂载情况

 mount /dev/sdb1 /a11  把/dev/sdb1挂载到a11目录上 df

image.png

   在etc/fstab配置文件里面可以添加永久挂载项,开机启动时会自动读取该文件,相当于执行命令mount -a 

image.png

vim etc/fstab  进入编辑 ,只截取了部分,在最后一行输入了以下命令:/dev/sdb1  /a11 ext4 defaults 0 0

image.png

   还可以在default后面添加挂载选项,添加完之后如果该磁盘被挂载,需要先卸载后挂载才能生效。

image.png

vim /etc/fstab/dev/sdb1 /a11 ext4 defaults,noacl,ro 1 0    增加两项noacl,ro

image.png

方法一:

   mount -a   读取/etc/fstab 挂载当前尚未挂载的文件系统,已经挂载的文件系统不会重新挂载,也不会更新挂载选项

   mount -o remnount (挂载选项)/dev/sdb1来修改挂载项。

   此方法需要手工重新挂载。

umount /a11  卸载mount /dev/sdb1 /a11    重新挂载mount |grep /a11    只摘取/a11 这一行,查看具体信息 (可不查看,只是显示出结果易区分)mount -a   mount |grep /a11    只摘取/a11 这一行,再次查看具体信息  (可不查看)mount -o remnount /a11 mount |grep /a11     再次查看,挂载选项已改变

image.png

方法二:

umount /a11  卸载mount -a   mount |grep /a11     查看,挂载选项已改变

image.png