Linux 格式化和掛載數據盤
如果您已經為 ECS 實例配了數據盤,您需要先格式化數據盤並掛載文件系統後才能正常使用數據盤。
註意:
- 磁盤分區和格式化是高風險行為,請慎重操作。本文檔描述如何處理一個新買的數據盤,如果您的數據盤上有數據,請務必對數據盤創建快照以避免可能的數據丟失。
- 雲服務器 ECS 僅支持對 數據盤 進行分區,而不支持對 系統盤 進行分區。如果您強行使用第三方工具對系統盤進行分區操作,可能引發未知風險,如系統崩潰、數據丟失等。
本文描述如何用一個新的數據盤創建一個單分區數據盤並掛載文件系統。
您還可以根據業務需要,對數據盤進行多分區配置。建議使用系統自帶的工具進行分區操作。
操作須知
單獨 購買的數據盤 需要先 掛載數據盤,然後才能格式化。
隨實例時一起購買的數據盤,無需掛載,直接格式化。
您需要知道掛載到實例的數據盤的設備名:您可以通過 ECS 管理控制臺 > 磁盤詳情 > 磁盤掛載信息 查到數據盤的 設備名。數據盤的設備名由系統默認分配,從 /dev/xvdb 開始往後順序排列,分布範圍包括 /dev/xvdb?/dev/xvdz。
操作步驟
在本示例中,我們用一個新的 20 GB 數據盤(設備名為 /dev/xvdb)創建一個單分區數據盤並掛載一個 ext3 文件系統。使用的實例是 I/O 優化實例,操作系統為 CentOS 6.8。
-
遠程連接實例。
-
運行
fdisk -l
命令查看實例是否有數據盤。如果執行命令後,沒有發現 /dev/vdb如果您的數據盤顯示的是 dev/xvd?,表示您使用的是非 I/O 優化實例。
其中 ? 是 a?z 的任一個字母。 -
創建一個單分區數據盤,依次執行以下命令:
-
運行
fdisk /dev/vdb
:對數據盤進行分區。 -
輸入
n
並按回車鍵:創建一個新分區。 -
輸入
p
並按回車鍵:選擇主分區。因為創建的是一個單分區數據盤,所以只需要創建主分區。如果要創建 4 個以上的分區,您應該創建至少一個擴展分區,即選擇
e
。 -
輸入分區編號並按回車鍵。因為這裏僅創建一個分區,可以輸入 1。
-
輸入第一個可用的扇區編號:按回車鍵采用默認值 1。
-
輸入最後一個扇區編號:因為這裏僅創建一個分區,所以按回車鍵采用默認值。
-
輸入
wq
並按回車鍵,開始分區。[[email protected] ~]# fdisk /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x5f46a8a2.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won‘t be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
switch off the mode (command ‘c‘) and change display units to
sectors (command ‘u‘).
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-41610, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-41610, default 41610):
Using default value 41610
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
-
-
查看新的分區:運行命令
fdisk -l
。如果出現以下信息,說明已經成功創建了新分區 /dev/vdb1。[[email protected] ~]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00053156
Device Boot Start End Blocks Id System
/dev/vda1 * 1 5222 41942016 83 Linux
Disk /dev/vdb: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5f46a8a2
Device Boot Start End Blocks Id System
/dev/vdb1 1 41610 20971408+ 83 Linux
-
在新分區上創建一個文件系統:運行命令
mkfs.ext3 /dev/vdb1
。本示例要創建一個 ext3 文件系統。您也可以根據自己的需要,選擇創建其他文件系統,例如,如果需要在 Linux、Windows 和 Mac 系統之間共享文件,您可以使用
mkfs.vfat
創建 VFAT 文件系統。創建文件系統所需時間取決於數據盤大小。
[[email protected] ~]# mkfs.ext3 /dev/vdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242852 blocks
262142 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
-
(建議)備份 etc/fstab:運行命令
cp /etc/fstab /etc/fstab.bak
。 -
向 /etc/fstab 寫入新分區信息:運行命令
echo /dev/vdb1 /mnt ext3 defaults 0 0 >> /etc/fstab
。註意:Ubuntu 12.04 不支持 barrier,所以對該系統正確的命令是:
echo ‘/dev/vdb1 /mnt ext3 barrier=0 0 0‘ >> /etc/fstab
。如果需要把數據盤單獨掛載到某個文件夾,比如單獨用來存放網頁,請將以上命令 /mnt 替換成所需的掛載點路徑。
-
查看 /etc/fstab 中的新分區信息:運行命令
cat /etc/fstab
。[[email protected] ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Feb 23 07:28:22 2017
#
# 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=3d083579-f5d9-4df5-9347-8d27925805d4 / ext4 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/vdb1 /mnt ext3 defaults 0 0
-
掛載文件系統:運行命令
mount /dev/vdb1 /mnt
。 -
查看目前磁盤空間和使用情況:運行命令
df -h
。如果出現新建文件系統的信息,說明掛載成功,可以使用新的文件系統了。掛載操作完成後,不需要重啟實例即可開始使用新的文件系統。
[[email protected] ~]# mount /dev/vdb1 /mnt
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 6.6G 31G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/vdb1 20G 173M 19G 1% /mnt
Linux 格式化和掛載數據盤