Liunx硬盘挂载和分区以及扩容

Linux上的硬盘和window的硬盘使用还是有区别的,Linux的磁盘空间必须要挂载到目录上才能使用
对Linux新增一块磁盘基本的操作步骤如下:
df -h 查看当前Linux系统上磁盘使用情况
lsblk 查看还没有挂载的磁盘
mount 进行挂载
vim /etc/fstab 设置开机自动挂载

对磁盘进行分区和扩展都相对麻烦一点

一、挂载新磁盘

1、新磁盘不做分区

  • 查看Linux下的硬盘挂载的空间和使用空间
    df -h
    确认没有看到需要新挂载的盘

  • 查看需要新挂载的盘是否安装在系统中
    lsblk

  • 进行挂载

    • 先对新盘进行格式化为ext4格式,即创建ext4格式的文件系统(假设要挂载的新盘是/dev/vdb)
      mkfs -t ext4 /dev/vdb

    • 创建一个要挂载的目录
      mkdir /u01

    • 进行挂载
      mount /dev/vdb /u01

    • 配置开机启动挂载
      vim /etc/fstab 添加:
      /dev/vdb /u01 ext4 defaults 0 0

2、对新硬盘进行分区后挂载

  • 说明

    • 磁盘分区主要有MBR和GPT两种类型,通常情况下,我们的磁盘都是采用MBR分区表,但是MBR磁盘最大仅支持2T的空间,那么对于2T以上的空间就需要采用GPT分区表。本例中说明的是MBR类型。
    • 对磁盘进行分区主要有两种方法,fdisk和parted,本例中是以fdisk来说明。
    • 磁盘分区主要由主分区、扩展分区和逻辑分区组成,对于MBR分区类型,它的主分区最多只能有4个,或者3个主分区和1个扩展分区,在扩展分区上我们可以创建多个逻辑分区;主分区编号为1到4,逻辑分区5及之后;逻辑分区必须建立在扩展分区智商,而不是建立在主分区上。
  • 对磁盘使用fdisk方式进行分区

    • fdisk的基本用法

    • fdisk -l 查看系统上的磁盘,找到需要分区的磁盘,比如说:/dev/vdb

    • fdisk /dev/vdb 进入该设备,进行分区操作:
      命令(输入m获取帮助):m

      然后:输入n # 添加分区
      然后:输入p # 添加主分区,默认主分区
      然后:输入2 # 给分区编号
      然后:直接回车 # 分区开始位置,默认就是接着前面一个分区的结束位置
      然后:直接回车或者输入+10G # 指定分区大小,直接回车代表剩下的所有空间都作为此分区,+10G是指定大小为10G

    • 再次 fdisk -l 查看下添加了分区之后的磁盘情况

    • 修改新增分区的类型 fdisk /dev/vdb
      输入:t # 指定分区类型
      然后输入:2 # 指定要改变哪个分区的类型
      然后输入:L # 输入L可以查看分区类型的id了
      然后输入:83 # 通过L查看到了83代表System为Linux类型

  • 完成了分区之后,后续挂载操作与之前一样,先格式化新增的分区
    mkfs -t ext4 /dev/vdb2
    然后完成挂载

二、对磁盘进行扩容

1、LVM

针对于CentOS7来说(对于其他Linux系统没有实际操作,就不做表述),磁盘管理有LVM的形式,即逻辑盘卷管理,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volumegroup),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系统。

  • LVM是 Logical Volume Manager(逻辑卷管理)的简写
  • PV:是物理的磁盘分区
  • VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库统一管理了几个大的硬盘,形成了一个统一虚拟的存储资源池。
  • LV:也就是从VG中划分的逻辑分区

2、非LVM的磁盘扩容

若是LVM管理的磁盘扩容主要是使用pvcreate、vgcreate、lvcreate等命令来进行,本例中主要是对非LVM管理的磁盘扩容来做说明,主要是使用fdisk、e2fsck、resize2fs等命令进行(可能还会用到growpart扩容工具,yum install cloud-utils-growpart下载)。

1. 扩展系统盘(根目录)

  • 查看操作系统的内核版本,本例是针对于内核版本高于3.6.0的操作系统,一般CentOS7都满足,CentOS6可能不满足。
    uname -a

  • 下载扩容工具
    yum install cloud-utils-growpart
    可以用 growpart 来检查自己系统中是否已经安装了扩容工具

  • 查看目前系统盘总容量
    fdisk -l

  • 查看系统盘分区(根目录)“/dev/sda3”的容量
    df -h

  • 使用如下命令扩容系统盘分区
    growpart 系统盘 分区编号 如:
    growpart /dev/sda 3

    [NOTE]
    有如图所示的报错,可以先执行 LANG=en_US.UTF-8

  • 确认好原有分区文件系统,选择对应的命令扩展磁盘分区文件系统的大小

    • ext*文件系统使用:resize2fs 磁盘分区命令,如:resize2fs /dev/sda3
    • xfs文件系统使用:xfs_growfs 磁盘分区命令,如:xfs_growfs /dev/sda3

      [NOTE]
      可用 blkid 磁盘分区命令查看文件系统,如:blkid /dev/sda3,其中TYPE显示的结果为文件系统

  • 完成操作之后再次检查确认
    df -Th 确认根目录的大小已经完成扩容

  • 对于内核版本低于3.6.0的主要是在扩容磁盘分区之后,做磁盘分区文件系统的扩展之前需要重启下服务器,具体的操作可以自行尝试一下。

2. 扩展数据盘(非根目录)

还是以CentOS7和MBR分区为例,扩展数据盘主要可以分为新增MBR分区和扩大已有的MBR分区。

  • 新增MBR分区

    • 使用fdisk命令新增一个主分区,操作步骤与对新磁盘进行分区类似
    • 执行 partprobe 命令将新的分区表变更同步至操作系统
    • 为新建的分区设置文件系统,建议与已有的文件系统一样,命令为 mkfs -t 文件系统 磁盘分区 如:mkfs -t ext4 /dev/vdb2,mkfs -t xfs /dev/vdb2
    • 进行挂载,若需要挂载到一个非空的目录,例如挂载到现有的目录下,直接挂载会使得该目录下原本的子目录和文件被隐藏,所以,可以该目录下的文件先做迁移,新分区挂载成功后再迁移回来
  • 扩大已有的MBR分区

    • 需要先卸载磁盘分区,所以生产环境下是会影响业务的使用的,需要注意
      umount 磁盘分区
    • 使用fdisk命令,先删除待扩大的分区,然后重新建立分区,编号与原分区编号一致

      [NOTE]
      新建分区时需要注意,选择的起始磁柱值与原分区的要一直,选择的截止磁柱值不能小于原分区的值,新分区的编号要与原分区的标号一直,不然可能会导致原数据的丢失。

    • 执行 partprobe 命令将新的分区表变更同步至操作系统
    • 根据磁盘的文件系统的不同,分别执行一下操作
      若磁盘文件系统为ext*,则先用 e2fsck -f 磁盘分区 命令检查磁盘分区文件系统的正确性,然后用 resize2fs 磁盘分区 命令来扩展磁盘分区系统的大小,然后对扩大后的分区进行挂载
      若磁盘文件系统为xfs,则先对扩大后的分区进行挂载,然后使用 xfs_growfs 磁盘分区 的命令来扩展磁盘分区文件系统的大小
    • df -Th 命令来检查数据盘的扩展是否成功完成

三、设置开机自动挂载磁盘分区

新增了磁盘或者新建了分区后进行了临时挂载,服务器重启后就需要再次挂载,这里可以设置开机自动挂载磁盘分区,主要是修改“/etc/fstab”文件,为了避免一些情况下服务器重启后磁盘分区名称发生变化(例如一些云服务器在重启后云中设备的顺序编码可能发生改变),推荐使用UUID来配置自动挂载磁盘分区。

  • 查询磁盘分区
    blkid 磁盘分区 结果中有UUID的部分

  • 修改“/etc/fstab”文件
    vim /etc/fstab 在文件末尾处添加如“UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2”的内容

    [NOTE
    第一列为UUID
    第二列为磁盘分区的挂载目录
    第三列为磁盘分区文件系统格式
    第四列为磁盘分区的挂载选项,此处通常设置为defaults即可
    第五列为Linux dump备份的选项,0表示不使用,1表示使用,现在通常不使用dump备份,此处设置为0即可。
    第六列为fsck选项,即开机时是否使用fsck检查磁盘,0表示不检查,挂载点为根目录的分区,此处必须填写1,其他的分区只能从2开始,系统为按照数字从小到大依次检查下去

  • 修改完成后可以 mount -a 来检查一下。

posted @ 2020-09-30 16:26  灬夜露沁心灬  阅读(791)  评论(0编辑  收藏  举报