初始化Linux數據盤(容量大于2TiB)
操作場景
新購買的云硬盤在掛載至云服務器后,還需要進行初始化,即格式化云硬盤,之后才可以正常使用。
云硬盤容量大于2TiB時,只能使用parted工具為磁盤新建GPT分區。不同云服務器的操作系統的初始化操作可能不同,請根據您的實際環境進行操作。
前提條件
云硬盤已掛載到云服務器上,掛載云硬盤參見掛載云硬盤。
約束與限制
從數據源創建的云硬盤無需初始化。該云硬盤在初始狀態就具有數據源中的數據,初始化有丟失數據的風險。如果需要重新初始化,建議先備份云硬盤中的數據:使用CBR備份請參考備份云硬盤,使用快照備份請參考創建云硬盤快照。
初始化云硬盤不會刪除云硬盤快照,初始化后仍可以使用快照回滾數據至原云硬盤。
使用Parted工具初始化數據盤
初始化主要操作步驟為創建分區和文件系統,掛載分區,設置開啟自動掛載。
示例說明:使用parted工具,針對“/dev/vdb”數據盤劃分1個GPT分區。
1:登錄云服務器。
2:創建分區:針對數據盤“/dev/vdb”劃分1個分區/dev/vdb1。
a.查看/dev/vdb數據盤容量為3TiB。
lsblk
[root@ecs-centos76 ~]# 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 3T 0 disk
表示當前有兩塊云硬盤,“/dev/vda”是系統盤,“/dev/vdb”是新增數據盤,有3T還未分區。
開始新建分區,您需要將命令中dev/vdb替換成您的磁盤名稱。
parted /dev/vdb
p
[root@ecs-centos74 ~]# parted /dev/vdb GNU Parted 3.1Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Error: /dev/vdb: unrecognised disk label Model: Virtio Block Device (virtblk) Disk /dev/vdb: 3299GB Sector size (logical/physical): 512B/512BPartition Table: unknownDisk Flags: (parted)
“Partition Table”:“unknown”表示磁盤分區格式未知,新的數據盤還未設置分區格式。
說明:
如果出現報錯“-bash: parted: command not found”,則說明系統不識別該命令,需要執行“yum install -y parted”命令來安裝該命令。安裝成功后再執行上述命令。
c.針對分區設置分區格式為GPT。
mklabel gpt
unit s
p
(parted) mklabel gpt (parted) unit s (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 (parted)
說明:
mklabel 磁盤分區形式:如果磁盤容量小于等于2 TiB,您想使用parted工具新建MBR分區,分區命令為:mklabel msdos。
unit s:設置磁盤的計量單位為磁柱
切換云硬盤分區格式,則該云硬盤上的數據將會被清除,請您在初始化時謹慎選擇云硬盤的分區格式。
云硬盤初始化時設置的磁盤分區格式(MBR或GPT),后續在該云硬盤下創建的所有分區的格式均和首次初始化時設置的分區格式一致,因此如果您創建第2個及后續分區時,無需執行該步驟。
d.設置分區名稱為/dev/vdb1并且容量全都劃分給該分區。
mkpart /dev/vdb1 2048s 100%
p
說明:
mkpart 磁盤分區名稱 起始磁柱值 截止磁柱值:“2048s”表示磁盤起始磁柱值,“100%”為磁盤截止磁柱值,表示將磁盤100%容量給到/dev/vdb1分區。
如果您需要將數據盤容量劃分至兩個及以上的分區,分區的起始磁柱值和截止磁柱值計算方法跟2中的相同。
(parted) mkpart /dev/vdb1 2048s 100% (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 6442450944s Sector size (logical/physical): 512B /512BPartition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 2048s 6442448895s 6442446848s /dev/vdb1
輸入“q”,按“Enter”,執行“lsblk”再次查看新建分區“/dev/vdb1”。
[root@ecs-centos74 ~]# 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 3T 0 disk └─vdb1 253:17 0 3T 0 part
3:創建文件系統。
為“/dev/vdb1”創建ext4文件系統
mkfs -t ext4 /dev/vdb1
說明:
mkfs -t 文件系統格式 磁盤分區名:設置xfs格式文件系統命令為mkfs -t xfs 磁盤分區名,設置btrfs格式文件系統命令為mkfs -t btrfs 磁盤分區名。
創建文件系統格式需要等待一段時間,請確保看到如下回顯后,再退出。
[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 blocks201326592 inodes, 805305856 blocks40265292 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=295279001624576 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848, 512000000, 550731776, 644972544Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done [root@ecs-test-0001 ~]#
b.創建完成后可通過以下命令查看文件系統類型。
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) 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 1 1049kB 3299GB 3299GB ext4 /dev/vdb1 (parted) q [root@ecs-test-0001 ~]#
File system“ext4”代表創建成功。
輸入“q”,按“Enter”,退出parted模式。
4:新建目錄,并將新建分區掛載至新建目錄。
mkdir -p /mnt/sdc
mount /dev/vdb1 /mnt/sdc
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 3T 0 disk ├vdb1 253:17 0 3T 0 part /mnt/sdc
表示新建分區“/dev/vdb1”已掛載至“/mnt/sdc”。
5:(可選)使用磁盤分區的UUID來設置開機自動掛載磁盤分區。
UUID(universally unique identifier)是Linux系統為磁盤分區提供的唯一的標識字符串。重啟后,掛載會失效,因此需要設置開機自動掛載磁盤分區,即在/etc/fstab文件中添加新建磁盤分區信息,啟動開機自動掛載磁盤分區。
說明:
不建議采用在“/etc/fstab”文件中直接指定設備名(比如/dev/vdb1)的方法,因為云中設備的順序編碼在關閉或者開啟云服務器過程中可能發生改變(例如:/dev/vdb1可能會變成/dev/vdb2),可能會導致云服務器重啟后不能正常運行。
該操作不會影響彈性云服務器中的現有數據。
a.查詢磁盤分區的UUID。
blkid /dev/vdb1
[root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
下一步會使用查詢到的UUID,請做好記錄:示例磁盤分區“/dev/vdb1”的UUID:0b3040e2-1367-4abb-841d-ddb0b92693df。
b.設置開機自動掛載磁盤分區。
vi /etc/fstab
按“i”,進入編輯模式,將光標移至文件末尾,按“Enter”,添加下行內容:
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
按“ESC”后,輸入“:wq”,按“Enter”,保存設置并退出編輯器。
6:(可選)驗證自動掛載功能已生效。
您可以重啟云服務器驗證自動掛載功能是否生效,也可以使用以下方式模擬自動掛載。
為了驗證系統是否會執行自動掛載操作,請先卸載已掛載的分區
umount /dev/vdb1
將“/etc/fstab”文件所有內容重新加載。“/etc/fstab”是一個靜態文件系統信息表,包含了系統啟動時需要自動掛載的文件系統的列表。
mount -a
查詢文件系統掛載信息。
mount | grep /mnt/sdc
回顯類似如下信息,說明自動掛載功能生效:
root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
上一篇:初始化Linux數據盤(容量小于等于2TiB)
下一篇:Linux 下 zip 文件解壓亂碼如何解決