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”。

             保存設置並退出編輯器。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM