操作場景
MBR支持的磁盤最大容量為2 TB,GPT最大支持的磁盤容量為18 EB,因此當您初始化容量大于2 TB的磁盤時,分區形式請采用GPT。對于Linux操作系統而言,當磁盤分區形式選用GPT時,fdisk分區工具將無法使用,需要采用parted工具。關于磁盤分區形式的更多介紹,請參見場景及磁盤分區形式介紹。
不同云主機的操作系統的格式化操作可能不同,本文僅供參考,具體操作步驟和差異請參考對應的云主機操作系統的產品文檔。
前提條件
● 已掛載數據盤至云主機,且該數據盤未初始化。
● 已登錄云主機。
劃分分區并掛載磁盤
本操作以該場景為例,當云主機掛載了一塊新的數據盤時,采用parted分區工具為數據盤設置分區,分區形式設置為GPT,文件系統設為ext4格式,掛載在“/mnt/sdc”下,并設置開機啟動自動掛載。
步驟 1 執行以下命令,查看新增數據盤。
lsblk
回顯類似如下信息:
root@ecs-test-0001 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk
表示當前的云主機有兩塊磁盤,“/dev/vda”是系統盤,“/dev/vdb”是新增數據盤。
步驟 2 執行以下命令,進入parted分區工具,開始對新增數據盤執行分區操作。
parted 新增數據盤
命令示例:
parted /dev/vdb
回顯類似如下信息:
[root@ecs-test-0001 ~]# parted /dev/vdb
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
步驟 3 輸入“p”,按“Enter”,查看當前磁盤分區形式。
回顯類似如下信息:
(parted) p
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted)
“Partition Table”為“unknown”表示磁盤分區形式未知,新的數據盤還未設置分區形式。
步驟 4 輸入以下命令,設置磁盤分區形式。
mklabel 磁盤分區形式
磁盤分區形式有MBR和GPT兩種,以GPT為例:
mklabel gpt
須知:
● MBR支持的磁盤最大容量為2 TB,GPT最大支持的磁盤容量為18 EB,當前數據盤支持的最大容量為32 TB,如果您需要使用大于2 TB的磁盤容量,分區形式請采用GPT。
● 當磁盤已經投入使用后,此時切換磁盤分區形式時,磁盤上的原有數據將會清除,因此請在磁盤初始化時謹慎選擇磁盤分區形式。
步驟 5 輸入“p”,按“Enter”,設置分區形式后,再次查看磁盤分區形式。
回顯類似如下信息:
(parted) mklabel gpt
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
“Partition Table”為“gpt”表示磁盤分區形式已設置為GPT。
步驟 6 輸入“unit s”,按“Enter”,設置磁盤的計量單位為磁柱。
步驟 7 以整個磁盤創建一個分區為例,執行以下命令,按“Enter”。
mkpart 磁盤分區名稱 起始磁柱值 截止磁柱值
命令示例:
mkpart test 2048s 100%
“2048s”表示磁盤起始磁柱值,“100%”表示磁盤截止磁柱值,此處僅供參考,您可以根據業務需要自行規劃磁盤分區數量及容量。
回顯類似如下信息:
(parted) mkpart opt 2048s 100%** **
(parted)
步驟 8 輸入“p”,按“Enter”,查看新建分區的詳細信息。
回顯類似如下信息:
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 209715200s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048s 209713151s 209711104s test
(parted)
步驟 9 輸入“q”,按“Enter”,退出parted分區工具。
回顯類似如下信息:
(parted) q
Information: You may need to update /etc/fstab.
“/etc/fstab”文件控制磁盤開機自動掛載,請先參考以下步驟為磁盤分區設置文件系統和掛載目錄后,再根據文檔指導更新“/etc/fstab”文件。
步驟 10 執行以下命令,查看磁盤分區信息。
lsblk
回顯類似如下信息:
[root@ecs-test-0001 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
└─vda1 253:1 0 40G 0 part /
vdb 253:16 0 100G 0 disk
└─vdb1 253:17 0 100G 0 part
此時可以查看到新建分區“/dev/vdb1”
步驟 11 執行以下命令,將新建分區文件系統設為系統所需格式。
mkfs -t 文件系統格式 /dev/vdb1
以設置文件系統為“ext4”為例:
mkfs -t ext4 /dev/vdb1
回顯類似如下信息:
[root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb1
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
6553600 inodes, 26213888 blocks
1310694 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 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, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
格式化需要等待一段時間,請觀察系統運行狀態,不要退出。
須知:
● 不同文件系統支持的分區大小不同,請根據您的業務需求選擇合適的文件系統。
步驟 12 執行以下命令,新建掛載目錄。
mkdir 掛載目錄
以新建掛載目錄“/mnt/sdc”為例:
mkdir /mnt/sdc
步驟 13 執行以下命令,將新建分區掛載到步驟12中創建的目錄下。
mount 磁盤分區 掛載目錄
以掛載新建分區“/dev/vdb1”至“/mnt/sdc”為例:
mount /dev/vdb1 /mnt/sdc
步驟 14 執行以下命令,查看掛載結果。
df -TH
回顯類似如下信息:
說明云主機重啟后,掛載會失效。您可以修改“/etc/fstab”文件,將新建磁盤分區設置為開機自動掛載,請參見下文——設置開機自動掛載磁盤分區。
[root@ecs-test-0001 ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 43G 1.9G 39G 5% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 9.0M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs tmpfs 398M 0 398M 0% /run/user/0
/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc
表示新建分區“/dev/vdb1”已掛載至“/mnt/sdc”。
設置開機自動掛載磁盤分區
設置云主機系統啟動時自動掛載磁盤分區,不能采用在“/etc/fstab”直接指定設備名(比如/dev/vdb1)的方法,因為云中設備的順序編碼在關閉或者開啟云主機過程中可能發生改變,例如/dev/vdb1可能會變成/dev/vdb2。推薦使用UUID來配置自動掛載磁盤分區。
說明UUID(universally unique identifier)是Linux系統為磁盤分區提供的唯一的標識字符串。
步驟 1 執行如下命令,查詢磁盤分區的UUID。
blkid 磁盤分區
以查詢磁盤分區“/dev/vdb1”的UUID為例:
blkid /dev/vdb1
回顯類似如下信息:
[root@ecs-test-0001 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
表示“/dev/vdb1”的UUID。
步驟 2 執行以下命令,使用VI編輯器打開“fstab”文件。
vi /etc/fstab
步驟 3 按“i”,進入編輯模式。
步驟 4 將光標移至文件末尾,按“Enter”,添加如下內容。
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
步驟 5 按“ESC”后,輸入“:wq”,按“Enter”。
保存設置并退出編輯器。
步驟 6 執行以下步驟,驗證自動掛載功能。
● 執行如下命令,卸載已掛載的分區。
umount 磁盤分區
命令示例:
umount /dev/vdb1
● 執行如下命令,將“/etc/fstab”文件所有內容重新加載。
mount -a
● 執行如下命令,查詢文件系統掛載信息。
mount | grep 掛載目錄
命令示例:
mount | grep /mnt/sdc
回顯類似如下信息,說明自動掛載功能生效:
root@ecs-test-0001 ~]# mount | grep /mnt/sdc
/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)