linux中磁盘管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中磁盘管理相关的知识,希望对你有一定的参考价值。

一、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的分区信息

技术分享图片

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

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

技术分享图片         

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

技术分享图片技术分享图片     

        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的分区信息

技术分享图片

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

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

技术分享图片

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

技术分享图片

    具体步骤如下:

技术分享图片

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

技术分享图片

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

三、 常用的磁盘管理命令

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

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

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

技术分享图片

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

技术分享图片

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

技术分享图片

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

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

技术分享图片

e2label /dev/sdX 查看卷标

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

技术分享图片

四 、mount命令

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

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

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

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

技术分享图片

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

技术分享图片

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

技术分享图片

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

技术分享图片

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

技术分享图片

方法一:

   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     再次查看,挂载选项已改变

技术分享图片

方法二:

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

技术分享图片

   

以上是关于linux中磁盘管理的主要内容,如果未能解决你的问题,请参考以下文章

Linux磁盘管理的Linux管理命令

linux中磁盘配额管理

Linux磁盘系统——管理磁盘的命令

深入剖析linux磁盘管理

Linux 下磁盘管理--逻辑卷--LV

Linux入门之磁盘管理磁盘配额