本篇文章非常適用於各類私有云、虛擬化、阿里雲ECS服務器、騰訊雲等服務器上的操作。(這裏主要以 阿里雲ECS服務器 平臺來作講解)
隨Linux實例創建的數據盤或者單獨購買的數據盤,需要格式化後才能正常使用。本文描述如何用一塊新的數據盤創建一個單分區數據盤並掛載文件系統。您也可以根據業務需要,爲數據盤配置多分區。
警告:
- 分區和格式化磁盤是高風險行爲,請慎重操作。本文以新購數據盤爲例,如果您的數據盤上有數據,請對數據盤進行快照,避免數據丟失。
- 僅支持分區數據盤,不支持分區系統盤。如果您使用第三方工具分區系統盤,可能引發未知風險,如系統崩潰和數據丟失等。
一、準備工作
- 單獨 購買的數據盤 必須先 掛載數據盤 才能格式化。隨示例一起購買的數據盤,無需掛載。
- 獲取數據盤的設備名。
數據盤的設備名默認由系統分配,從 /dev/vdb 遞增排列,包括 /dev/vdb-/dev/vdz。您可以在 ECS 控制檯的雲盤頁面中,選擇 更多>修改屬性 查看。
二、操作步驟
本示例採用一塊新的 100GiB 數據盤,設備名爲 /dev/vdb,創建一個但分區收盤並格式化爲 ext4 文件系統。使用 I/O 優化實例,操作系統爲 CentOS 6.9。
1、遠程連接實例
創建ECS實例後,您可以通過多種方式連接並登陸ECS實例。
方法1:
在ECS管理控制檯使用管理終端快速連接並登陸ECS實例,以便進行管理。
方法2:
在ECS實例系統上開啓SSH端口,並在ECS安全組中開放SSH的入口訪問。
2、查看數據盤
運行 fdisk -l 命令查看實例上的數據盤。
在沒有分區和格式化數據盤之前,使用“df -h”命令,是無法看到數據盤的,可以使用“fdisk -l”命令查看。 若您執行 fdisk -l 命令,發現沒有 /dev/vdb,表示您的雲服務器無數據盤,那麼您無需進行掛載。 |
[root@AliYunOS ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 1.2G 37G 3% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
[root@AliYunOS ~]# fdisk -lu /dev/vdb
Disk /dev/vdb: 107.4 GB, 107374182400 bytes
16 heads, 63 sectors/track, 208050 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: 0x00000000
3、對數據盤進行分區
3.1. 運行 fdisk -u /dev/vdb :分區數據盤。
3.2. 輸入 p :查看數據盤的分區情況。本示例中,數據盤沒有分區。
3.3. 輸入 n :創建一個新分區。
3.4. 輸入 p :選擇分區類型爲主分區。
3.5. 輸入分區編號並按回車鍵。本示例中,僅創建一個分區,輸入數字 1 。
3.6. 輸入第一個可用的扇區編號:按回車鍵採用默認值 2048。
3.7. 輸入最後一個扇區編號:本示例僅創建一個分區,按回車鍵採用默認值。
3.8. 輸入 p :查看該數據盤的規劃分區情況。
3.9. 輸入 w :開始分區,並在分區後退出。
[root@AliYunOS ~]# fdisk -u /dev/vdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x14d3dad0.
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-208050, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-208050, default 208050):
Using default value 208050
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@AliYunOS ~]#
4、查看新分區
運行命令 fdisk -lu /dev/vdb 查看新分區。
如果出現以下信息,表示新分區 /dev/vdb1 創建成功。
[root@AliYunOS ~]# fdisk -l
Disk /dev/vdb: 107.4 GB, 107374182400 bytes
16 heads, 63 sectors/track, 208050 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: 0x14d3dad0
Device Boot Start End Blocks Id System
/dev/vdb1 1 208050 104857168+ 83 Linux
5、在新分區上創建一個文件系統
運行命令 mkfs.ext4 /dev/vdb1 在新分區上創建一個文件系統。
在創建文件系統之前,先使用 df -Th查看當前系統盤所使用的文件系統格式。
在本示例中,創建一個 ext4 文件系統。您也可以根據自己的需要,選擇創建其他文件系統,例如,如果您需要在 Linux、Windows和Mac系統之間共享文件,可以使用 mkfs.vfat 創建 VFAT 文件系統。
[root@AliYunOS ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 1.2G 37G 3% /
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
[root@AliYunOS ~]# mkfs.ext4 /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
6553600 inodes, 26214292 blocks
1310714 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@AliYunOS ~]#
6、備份 fstab 文件
建議:運行命令 cp /etc/fstab /etc/fstab.bak 備份 fstab文件。
7、寫入新分區信息
運行命令 echo ‘/dev/vdb1 /data ext4 defaults 0 0’ >> /etc/fstab 向 /etc/fstab 寫入新分區信息
注意:如要把數據盤單獨掛在到某個文件夾,例如單獨用來存放網頁,則將命令中 /data 替換成所需的掛載點路徑。此處,自己創建了一個 /data 目錄作爲掛載點路徑。
[root@AliYunOS ~]# mkdir /data
[root@AliYunOS ~]# echo '/dev/vdb1 /data ext4 defaults 0 0' >> /etc/fstab
[root@AliYunOS ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Mar 27 04:51:55 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=b7aae0d4-268c-4b60-914a-f3b48e22819c / 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 /data ext4 defaults 0 0
8、掛載文件系統
運行命令 mount /dev/vdb1 /data 掛載文件系統。
[root@AliYunOS ~]# mount /dev/vdb1 /data
由於配置了fstab文件,也可以直接執行 mount -a
9、查看目前磁盤空間和使用情況
運行 df -h 命令查看目前磁盤空間和使用情況。
出現新建文件系統的信息,表示掛載成功,您不需要重啓示例即可使用新的文件系統。
[root@AliYunOS ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 1.2G 37G 3% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/vdb1 99G 60M 94G 1% /data