1. 程式人生 > >初始化Linux資料盤(fdisk)

初始化Linux資料盤(fdisk)


操作場景

本文以雲伺服器的作業系統為“CentOS 7.0 64位”為例,採用fdisk分割槽工具為資料盤設定分割槽。

MBR支援的磁碟最大容量為2 TB,GPT最大支援的磁碟容量為18 EB,因此當您初始化容量大於2 TB的磁碟時,分割槽形式請採用GPT。對於Linux作業系統而言,當磁碟分割槽形式選用GPT時,fdisk分割槽工具將無法使用,需要採用parted工具。關於磁碟分割槽形式的更多介紹,請參見場景及磁碟分割槽形式介紹。

不同雲伺服器的作業系統的格式化操作可能不同,本文僅供參考,具體操作步驟和差異請參考對應的雲伺服器作業系統的產品文件。
注意:

首次使用雲硬碟時,如果您未參考本章節對雲硬碟執行初始化操作,主要包括建立分割槽和檔案系統等操作,那麼當後續擴容雲硬碟時,新增容量部分的磁碟可能無法正常使用。
前提條件

    已登入雲伺服器。
        彈性雲伺服器請參見《彈性雲伺服器使用者指南》。
        裸金屬伺服器請參見《裸金屬伺服器使用者指南》。
    已掛載資料盤至雲伺服器,且該資料盤未初始化。

劃分分割槽並掛載磁碟

本操作以該場景為例,當雲伺服器掛載了一塊新的資料盤時,使用fdisk分割槽工具將該資料盤設為主分割槽,分割槽形式預設設定為MBR,檔案系統設為ext4格式,掛載在“/mnt/sdc”下,並設定開機啟動自動掛載。

    執行以下命令,檢視新增資料盤。

    fdisk -l

    回顯類似如下資訊:

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

    Disk /dev/xvda: 42.9 GB, 42949672960 bytes, 83886080 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

    Disk /dev/xvdb: 10.7 GB, 10737418240 bytes, 20971520 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

表示當前的雲伺服器有兩塊磁碟,“/dev/xvda”是系統盤,“/dev/xvdb”是新增資料盤。

執行以下命令,進入fdisk分割槽工具,開始對新增資料盤執行分割槽操作。

fdisk 新增資料盤

以新掛載的資料盤“/dev/xvdb”為例:

fdisk /dev/xvdb

回顯類似如下資訊:

[root@ecs-b656 test]# fdisk /dev/xvdb
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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xb00005bd.
Command (m for help):

輸入“n”,按“Enter”,開始新建分割槽。

回顯類似如下資訊:

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended

表示磁碟有兩種分割槽型別:

    “p”表示主要分割槽。
    “e”表示延伸分割槽。

以建立一個主要分割槽為例,輸入“p”,按“Enter”,開始建立一個主分割槽。

回顯類似如下資訊:

Select (default p): p
Partition number (1-4, default 1):

“Partition number”表示主分割槽編號,可以選擇1-4。

以分割槽編號選擇“1”為例,輸入主分割槽編號“1”,按“Enter”。

回顯類似如下資訊:

Partition number (1-4, default 1): 1
First sector (2048-20971519, default 2048):

“First sector”表示初始磁柱區域,可以選擇2048-20971519,預設為2048。

以選擇預設初始磁柱編號2048為例,按“Enter”。

回顯類似如下資訊:

First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):

“Last sector”表示截止磁柱區域,可以選擇2048-20971519,預設為20971519。

以選擇預設截止磁柱編號20971519為例,按“Enter”。

回顯類似如下資訊:

Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519):
Using default value 20971519
Partition 1 of type Linux and of size 10 GiB is set
Command (m for help):

表示分割槽完成,即為10GB的資料盤新建了1個分割槽。

輸入“p”,按“Enter”,檢視新建分割槽的詳細資訊。

回顯類似如下資訊:

Command (m for help): p

Disk /dev/xvdb: 10.7 GB, 10737418240 bytes, 20971520 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: 0xb00005bd

   Device Boot      Start         End      Blocks   Id  System
/dev/xvdb1            2048    20971519    10484736   83  Linux

Command (m for help):

表示新建分割槽“/dev/xvdb1”的詳細資訊。

輸入“w”,按“Enter”,將分割槽結果寫入分割槽表中。

回顯類似如下資訊:。

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

表示分割槽建立完成。
說明:

如果之前分割槽操作有誤,請輸入“q”,則會退出fdisk分割槽工具,之前的分割槽結果將不會被保留。

執行以下命令,將新的分割槽表變更同步至作業系統。

partprobe

執行以下命令,將新建分割槽檔案系統設為系統所需格式。

mkfs -t 檔案系統格式 /dev/xvdb1

以設定檔案系統為“ext4”為例:

mkfs -t ext4 /dev/xvdb1

回顯類似如下資訊:

[root@ecs-b656 test]# mkfs -t ext4 /dev/xvdb1
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
655360 inodes, 2621184 blocks
131059 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2151677952
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

格式化需要等待一段時間,請觀察系統執行狀態,不要退出。
注意:

不同檔案系統支援的分割槽大小不同,請根據您的業務需求選擇合適的檔案系統。

執行以下命令,新建掛載點。

mkdir 掛載點

以新建掛載點“/mnt/sdc”為例:

mkdir /mnt/sdc

執行以下命令,將新建分割槽掛載到12中新建的掛載點下。

mount /dev/xvdb1 掛載點

以掛載新建分割槽至“/mnt/sdc”為例:

mount /dev/xvdb1 /mnt/sdc

執行以下命令,檢視掛載結果。

df -TH

回顯類似如下資訊:

[root@ecs-b656 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/xvdb1     ext4       11G   38M  9.9G   1% /mnt/sdc

    表示新建分割槽“/dev/xvdb1”已掛載至“/mnt/sdc”。

設定開機自動掛載磁碟

如果您需要在雲伺服器系統啟動時自動掛載磁碟,不能採用在 /etc/fstab直接指定 /dev/xvdb1的方法,因為雲中裝置的順序編碼在關閉或者開啟雲伺服器過程中可能發生改變,例如/dev/xvdb1可能會變成/dev/xvdb2。推薦使用UUID來配置自動掛載資料盤。
說明:

磁碟的UUID(universally unique identifier)是Linux系統為磁碟分割槽提供的唯一的標識字串。

    執行如下命令,查詢磁碟分割槽的UUID。

    blkid 磁碟分割槽

    以查詢磁碟分割槽“/dev/xvdb1”的UUID為例:

    blkid /dev/xvdb1

    回顯類似如下資訊:

    [root@ecs-b656 test]# blkid /dev/xvdb1
    /dev/xvdb1: UUID="1851e23f-1c57-40ab-86bb-5fc5fc606ffa" TYPE="ext4"

表示“/dev/xvdb1”的UUID。

執行以下命令,使用VI編輯器開啟“fstab”檔案。

vi /etc/fstab

按“i”,進入編輯模式。
將游標移至檔案末尾,按“Enter”,新增如下內容。

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

按“ESC”後,輸入“:wq”,按“Enter”。

儲存設定