一塊全新的數據盤掛載到ECS實例后,您必須創建並掛載至少一個文件系統。本示例使用I/O優化實例,操作系統為CentOS 7.6,為一塊新的20GiB數據盤(設備名為/dev/vdb)創建一個MBR格式的單分區,掛載的是ext4文件系統。
前提條件
隨實例一起購買的數據盤,無需掛載。單獨購買的數據盤必須掛載數據盤后才能格式化,詳情請參見掛載雲盤。
背景信息
本文操作僅適用小於等於2TiB的數據盤。大於2TiB的數據盤分區必須使用GPT格式,請參見分區格式化大於2 TiB數據盤。
數據盤的設備名默認由系統分配。I/O優化實例的數據盤設備名從/dev/vdb遞增排列,包括/dev/vdb−/dev/vdz。非I/O優化實例的數據盤設備名從/dev/xvdb遞增排列,包括/dev/xvdb−/dev/xvdz。
格式化操作可能存在如下風險:
- 磁盤分區和格式化是高風險行為,請慎重操作。本文操作僅適用處理一塊全新的數據盤,如果您的數據盤上有數據,請務必為數據盤創建快照,避免數據丟失。詳情請參見創建快照。
- 雲服務器ECS僅支持數據盤分區操作,不支持系統盤分區操作。如果您強行使用第三方工具對系統盤做分區操作,可能引發系統崩潰和數據丟失等未知風險。僅允許在擴容系統盤后做擴展分區或新增分區操作,具體操作請參見擴展分區和文件系統_Linux系統盤。
操作步驟
- 遠程連接ECS實例。具體步驟請參見連接ECS實例。
- 運行
fdisk -l
命令查看實例上的數據盤。
說明 執行命令后,如果不存在/dev/vdb,表示您的實例沒有數據盤。確認數據盤是否已掛載。
- 依次運行以下命令,創建一個分區。運行
fdisk -lu /dev/vdb
命令查看新分區。
- 運行
fdisk -u /dev/vdb
命令分區數據盤。
- 輸入p查看數據盤的分區情況。
本示例中,數據盤沒有分區。
- 輸入n創建一個新分區。
- 輸入p選擇分區類型為主分區。
說明 創建一個單分區數據盤可以只創建主分區。如果要創建四個以上分區,您應該至少選擇一次
e(extended),創建至少一個擴展分區。
- 輸入分區編號並按回車鍵。
本示例中,僅創建一個分區,輸入
1。
- 輸入第一個可用的扇區編號,按回車鍵采用默認值2048。
- 輸入最后一個扇區編號。
本示例中,僅創建一個分區,按回車鍵采用默認值。
- 輸入p查看該數據盤的規划分區情況。
- 輸入w開始分區,並在完成分區后退出。
[root@ecshost~ ]# fdisk -u /dev/vdb
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 0x3e60020e. Command (m for help): p Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 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: 0x3e60020e Device Boot Start End Blocks Id System Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): Using default value 41943039 Partition 1 of type Linux and of size 20 GiB is set Command (m for help): p Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 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: 0x3e60020e Device Boot Start End Blocks Id System /dev/vdb1 2048 41943039 20970496 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
-
如果出現/dev/vdb1的相關信息,表示新分區已創建完成。
[root@ecshost~ ]# fdisk -lu /dev/vdb Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 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: 0x3e60020e Device Boot Start End Blocks Id System /dev/vdb1 2048 41943039 20970496 83 Linux
- 運行
mkfs.ext4 /dev/vdb1
命令在新分區上創建一個文件系統。
本示例中,創建一個ext4文件系統。其他文件系統格式請自行修改mkfs.ext4命令。例如,如果您需要在Linux、Windows和Mac系統之間共享文件,可以運行mkfs.vfat /dev/vdb1
命令創建VFAT文件系統。
[root@ecshost~ ]# mkfs.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 1310720 inodes, 5242624 blocks 262131 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2153775104 160 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 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
- 可選: 運行
cp /etc/fstab /etc/fstab.bak
命令備份/etc/fstab文件。
- 運行
echo /dev/vdb1 /mnt ext4 defaults 0 0 >> /etc/fstab
命令向/etc/fstab寫入新分區信息。
如果要把數據盤單獨掛載到某個文件夾,例如單獨用來存放網頁,則將命令中/mnt替換成所需的掛載點路徑。
說明 Ubuntu 12.04系統不支持barrier,您需要運行echo '/dev/vdb1 /mnt ext4 barrier=0 0 0' >> /etc/fstab
命令。
- 運行
cat /etc/fstab
命令查看/etc/fstab中的新分區信息。
[root@ecshost~ ]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Wed Dec 12 07:53:08 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=d67c3b17-255b-4687-be04-f29190d4**** / ext4 defaults 1 1 /dev/vdb1 /mnt ext4 defaults 0 0
- 運行
mount /dev/vdb1 /mnt
命令掛載文件系統。
如果運行df -h
命令后出現新建文件系統的信息,表示文件系統掛載成功。
[root@ecshost~ ]# mount /dev/vdb1 /mnt [root@ecshost~ ]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 1.6G 36G 5% / devtmpfs 234M 0 234M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 484K 244M 1% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup tmpfs 49M 0 49M 0% /run/user/0 /dev/vdb1 20G 45M 19G 1% /mnt