• Linux扩容-新增磁盘分区挂载-fdisk


    Linux扩容-新增磁盘分区挂载-fdisk

    扩容后的云硬盘,挂载给实例后,需要对扩容的部分划分分区并初始化。本节以“CentOS 7.0 64位”操作系统为例,介绍使用fdisk工具为扩容后的磁盘创建新的分区。

    一 背景信息

    扩容成功后,需要为扩容部分的容量创建新的分区,或者重新创建分区替换原有分区。

    • 为扩容部分的容量创建新的分区

    该场景下,不需要卸载原有的分区,而是在原有分区的基础上新增分区。该操作不会中断业务,对业务影响较小。推荐系统盘或者需要保证业务不中断的磁盘扩容场景使用。如果当前磁盘使用的是MBR格式,则要求扩容后的磁盘容量不超过2TB,并且磁盘的分区数量还未达到上限。

    • 重新创建分区替换原有分区

    如果当前磁盘使用的是MBR分区,且磁盘分区数量已达到上限,无法再增加新的分区。此时需要先卸载已有分区,重新创建新的分区替换原有分区。该操作不会删除原有分区的数据,但操作过程中需预先中断业务,因此会对用户正在运行的业务产生影响。

    • MBR分区转换为GPT分区

    如果当前磁盘使用的是MBR分区,且扩容后磁盘容量已超过2TB,则此时需要将MBR分区转换为GPT分区,该操作会清除磁盘上的数据,请您预先对原数据进行备份。

    二 挂载操作步骤

    以下步骤,举例说明如何将磁盘扩容部分的空间划分为一个新的分区,并挂载到“/opt”下。

    该磁盘采用MBR分区,磁盘容量小于2TB,且分区数量未达到上限。分区方式为MBR时,可以使用fdisk工具或parted工具划分分区,本节以fdisk工具为例。

    1. 执行以下命令,查看磁盘信息。

    fdisk -l

    回显类似如下信息,“/dev/xvda”表示系统盘。

    [root@ecs-bab9 test]# fdisk -l

     

    Disk /dev/xvda: 64.4 GB, 64424509440 bytes, 125829120 sectors

    Units = sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk label type: dos

    Disk identifier: 0x000cc4ad

     

    Device Boot      Start         End      Blocks   Id  System

    /dev/xvda1   *        2048     2050047     1024000   83  Linux

    /dev/xvda2         2050048    22530047    10240000   83  Linux

    /dev/xvda3        22530048    24578047     1024000   83  Linux

    /dev/xvda4        24578048    83886079    29654016    5  Extended

    /dev/xvda5        24580096    26628095     1024000   82  Linux swap / Solaris

    1. 执行以下命令,进入fdisk模式,以“/dev/xvda”为例。

    fdisk /dev/xvda

    回显类似如下信息:

    [root@ecs-bab9 test]# fdisk /dev/xvda

    Welcome to fdisk (util-linux 2.23.2).

     

    Changes will remain in memory only, until you decide to write them.

    Be careful before using the write command.

     

    Command (m for help):

    1. 输入“n”,按“Enter”,开始新建分区。

    本例中由于系统盘原来已经有5个分区,所以系统自动添加第6分区。

    回显类似如下信息:

    Command (m for help): n

    All primary partitions are in use

    Adding logical partition 6

    First sector (26630144-83886079, default 26630144):

    1. 输入新分区的起始磁柱编号,如设置默认值,按“Enter”。

    起始磁柱编号必须大于原有分区的结束磁柱编号。

    回显类似如下信息:

    First sector (26630144-83886079, default 26630144):

    Using default value 26630144

    Last sector, +sectors or +size{K,M,G} (26630144-83886079, default 83886079):

    1. 输入新分区的截止磁柱编号,按“Enter”。

    本步骤中使用默认截止磁柱编号为例。

    回显类似如下信息:

    Last sector, +sectors or +size{K,M,G} (26630144-83886079, default 83886079):

    Using default value 83886079

    Partition 6 of type Linux and of size 27.3 GiB is set

     

    Command (m for help):

    1. 输入“p”,按“Enter”,查看新建分区。

    回显类似如下信息:

    Disk /dev/xvda: 64.4 GB, 64424509440 bytes, 125829120 sectors

    Units = sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disk label type: dos

    Disk identifier: 0x000cc4ad

     

    Device Boot      Start         End      Blocks   Id  System

    /dev/xvda1   *        2048     2050047     1024000   83  Linux

    /dev/xvda2         2050048    22530047    10240000   83  Linux

    /dev/xvda3        22530048    24578047     1024000   83  Linux

    /dev/xvda4        24578048    83886079    29654016    5  Extended

    /dev/xvda5        24580096    26628095     1024000   82  Linux swap / Solaris

    /dev/xvda6        26630144    83886079    28627968   83  Linux

     

    Command (m for help):

    1. 输入“w”,按“Enter”。将分区结果写入分区表中,分区创建完毕。

    回显类似如下信息:

    Command (m for help): w

    The partition table has been altered!

     

    Calling ioctl() to re-read partition table.

     

    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

    The kernel still uses the old table. The new table will be used at

    the next reboot or after you run partprobe(8) or kpartx(8)

    Syncing disks.

    1. 执行partprobe命令,将新的分区表变更同步至操作系统。

    partprobe

     

    1. 执行以下命令,设置新建分区文件系统格式(df -T查看原有文件系统 )。

    以“ext4” 文件格式为例:

    mkfs -t ext4 /dev/xvda6

    回显类似如下信息:

    [root@ecs-bab9 test]# mkfs -t ext4 /dev/xvda6

    mke2fs 1.42.9 (28-Dec-2013)

    Filesystem label=

    OS type: Linux

    Block size=4096 (log=2)

    Fragment size=4096 (log=2)

    Stride=0 blocks, Stripe width=0 blocks

    1790544 inodes, 7156992 blocks

    357849 blocks (5.00%) reserved for the super user

    First data block=0

    Maximum filesystem blocks=2155872256

    219 block groups

    32768 blocks per group, 32768 fragments per group

    8176 inodes per group

    Superblock backups stored on blocks:

    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

    4096000

     

    Allocating group tables: done

    Writing inode tables: done

    Creating journal (32768 blocks): done

    Writing superblocks and filesystem accounting information: done

    格式化需要等待一段时间,请观察系统运行状态,若回显中进程提示为done,则表示格式化完成。

    1. 执行以下命令,将新建分区挂载到需要增加空间的目录下,以“/opt”为例。

    mount /dev/xvda6 /opt

    回显类似如下信息:

    [root@ecs-bab9 test]# mount /dev/xvda6 /opt

    [root@ecs-bab9 test]#

     说明:

    新增加的分区挂载到不为空的目录时,该目录下原本的子目录和文件会被隐藏,所以,新增的分区最好挂载到空目录或者新建目录。如确实要挂载到不为空的目录,可将该目录下的子目录和文件临时移动到其他目录下,新分区挂载成功后,再将子目录和文件移动回来。

    1. 执行以下命令,查看挂载结果。

    df -TH

    回显类似如下信息:

    [root@ecs-bab9 test]# df -TH

    Filesystem     Type      Size  Used Avail Use% Mounted on

    /dev/xvda2     xfs        11G  7.4G  3.2G  71% /

    devtmpfs       devtmpfs  4.1G     0  4.1G   0% /dev

    tmpfs          tmpfs     4.1G   82k  4.1G   1% /dev/shm

    tmpfs          tmpfs     4.1G  9.2M  4.1G   1% /run

    tmpfs          tmpfs     4.1G     0  4.1G   0% /sys/fs/cgroup

    /dev/xvda3     xfs       1.1G   39M  1.1G   4% /home

    /dev/xvda1     xfs       1.1G  131M  915M  13% /boot

    /dev/xvda6     ext4       29G   47M   28G   1% /opt

    三 设置开机自动挂载磁盘

    如果您需要在实例启动时自动挂载磁盘,请在上述操作之后参考本节设置开机自动挂载磁盘。设置时不能采用在 /etc/fstab直接指定 /dev/xvdb1的方法,因为实例中设备的顺序编码在关闭或者开启实例过程中可能发生改变。推荐使用UUID来配置自动挂载数据盘。

     说明:

    磁盘的UUID(Universally Unique Identifier)是Linux系统为存储设备提供的唯一的标识字符串。

    1. 执行如下命令,查询磁盘分区的UUID。

    blkid 磁盘分区

    以查询磁盘分区“/dev/xvdb1”的UUID为例:

    blkid /dev/xvdb1

    回显类似如下信息,表示“/dev/xvdb1”的UUID。

    [root@ecs-b656 test]# blkid /dev/xvdb1

    /dev/xvdb1: UUID="1851e23f-1c57-40ab-86bb-5fc5fc606ffa" TYPE="ext4"

    1. 执行以下命令,使用VI编辑器打开“fstab”文件。

    vi /etc/fstab

    1. 按“i”,进入编辑模式。
    2. 将光标移至文件末尾,按“Enter”,添加如下内容(UUID)。

    UUID=1851e23f-1c57-40ab-86bb-5fc5fc606ffa /mnt/sdc      ext4 defaults     0   2

    1. 按“Esc”后,输入“:wq”,按“Enter”。

                 保存设置并退出编辑器。

     

  • 相关阅读:
    2011年 CIO简历该怎么写?
    OC内存管理
    【Android游戏开发十五】关于Android 游戏开发中 OnTouchEvent() 触屏事件的性能优化笔记!
    【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!
    ORA16014: 日志 1 的序列号 83 未归档, 没有可用的目的
    【Android游戏开发十四】深入Animation,在SurfaceView中照样使用Android—Tween Animation!
    2011来临 IT人员应该具备哪些技能?
    垃圾控件DatePicker
    【Android游戏开发十八】解放手指,利用传感器开发游戏!(本文讲解在SurfaceView中用重力传感器控制圆球的各方向移动)
    【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
  • 原文地址:https://www.cnblogs.com/jiechenyi/p/15190112.html
Copyright © 2020-2023  润新知