操作場景
本文以云主機的操作系統為“CentOS 7.4 64位”、磁盤容量為3 TB舉例,采用Parted分區工具為容量大于2 TB的數據盤設置分區。
MBR支持的磁盤最大容量為2 TB,GPT最大支持的磁盤容量為18 EB,因此當您初始化容量大于2 TB的磁盤時,分區形式請采用GPT。對于Linux操作系統而言,當磁盤分區形式選用GPT時,fdisk分區工具將無法使用,需要采用parted工具。關于磁盤分區形式的更多介紹,請參見場景及磁盤分區形式介紹。
不同云主機的操作系統的格式化操作可能不同,本文僅供參考,具體操作步驟和差異請參考對應的云主機操作系統的產品文檔。
前提條件
● 已掛載數據盤至云主機,且該數據盤未初始化。
● 已登錄云主機。
劃分分區并掛載磁盤
本操作以該場景為例,當云主機掛載了一塊新的數據盤時,采用parted分區工具為數據盤設置分區,分區形式設置為GPT,文件系統設為ext4格式,掛載在“/mnt/sdc”下,并設置開機啟動自動掛載。
步驟 1 執行以下命令,查看新增數據盤。
lsblk
回顯類似如下信息:
[root@ecs-centos74 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
├─vda1 253:1 0 1G 0 part /boot
└─vda2 253:2 0 39G 0 part /
vdb 253:16 0 3T 0 disk
表示當前的云主機有兩塊磁盤,“/dev/vda”是系統盤,“/dev/vdb”是新增數據盤。
步驟 2 執行以下命令,進入parted分區工具,開始對新增數據盤執行分區操作。
parted 新增數據盤
以新掛載的數據盤“/dev/vdb”為例:
parted /dev/vdb
回顯類似如下信息:
[root@ecs-centos74 ~]# 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: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted)
“Partition Table”為“unknown”表示磁盤分區形式未知,新的數據盤還未設置分區形式。
步驟 4 輸入以下命令,設置磁盤分區形式。
mklabel 磁盤分區形式
磁盤分區形式有MBR和GPT兩種,大于2 TB的磁盤容量,請采用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: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
步驟 6 輸入“unit s”,按“Enter”,設置磁盤的計量單位為磁柱。
步驟 7 以為整個磁盤創建一個分區為例,執行以下命令,按“Enter”。
mkpart 磁盤分區名稱 起始磁柱值 截止磁柱值
命令示例:
mkpart opt 2048s 100%
“2048s”表示磁盤起始磁柱值,“100%”表示磁盤截止磁柱值,此處僅供參考,您可以根據業務需要自行規劃磁盤分區數量及容量。
回顯類似如下信息:
(parted) mkpart opt 2048s 100%
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore
若出現以上性能優化提醒,請輸入“Ignore”,忽視即可。
步驟 8 輸入“p”,按“Enter”,查看新建分區的詳細信息。
回顯類似如下信息:
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 6442450944s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048s 6442448895s 6442446848s opt
表示新建分區“dev/vdb1”的詳細信息。
步驟 9 輸入“q”,按“Enter”,退出parted分區工具。
步驟 10 執行以下命令,查看磁盤分區信息。
lsblk
回顯類似如下信息:
[root@ecs-centos74 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 40G 0 disk
├─vda1 253:1 0 1G 0 part /boot
└─vda2 253:2 0 39G 0 part /
vdb 253:16 0 3T 0 disk
└─vdb1 253:17 0 3T 0 part
此時可以查看到新建分區“/dev/vdb1”。
步驟 11 執行以下命令,將新建分區文件系統設為系統所需格式。
mkfs -t 文件系統格式 /dev/vdb1
以設置文件系統為“ext4”為例:
mkfs -t ext4 /dev/vdb1
回顯類似如下信息:
[root@ecs-centos74 ~]# 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
201326592 inodes, 805305856 blocks
40265292 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2952790016
24576 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, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544
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
回顯類似如下信息:
[root@ecs-centos74 ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 42G 1.5G 38G 4% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 8.9M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda1 ext4 1.1G 153M 801M 17% /boot
tmpfs tmpfs 398M 0 398M 0% /run/user/0
/dev/vdb1 ext4 3.3T 93M 3.1T 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)