随着业务发展,当我们服务器磁盘资源不足时,我们会选择挂在一块数据盘到Linux上,挂载步骤如下:

本示例以阿里云服务,挂载一块新的20 GiB数据盘(设备名为/dev/vdb)创建一个单分区,分区格式使用MBR,挂载的是ext4文件系统。

本文操作仅适用小于等于2 TiB的数据盘。

1. 运行fdisk -l命令查看实例上的数据盘。

[scode type=”yellow”]说明: 执行命令后,如果不存在/dev/vdb,表示您的实例没有数据盘。确认数据盘是否已挂载。[/scode]

2. 依次运行以下命令,创建一个单分区数据盘。

  1. 1. 运行`fdisk -u /dev/vdb`命令:分区数据盘。
  2. 2. 输入p:查看数据盘的分区情况。本示例中,数据盘没有分区。
  3. 3. 输入n:创建一个新分区。
  4. 4. 输入p:选择分区类型为主分区。
  5. 说明: 本示例中创建一个单分区数据盘,所以只需要创建主分区。如果要创建四个以上分区,您应该创建至少一个扩展分区,即选择eextended)。
  6. 5. 输入分区编号并按回车键。本示例中,仅创建一个分区,输入1
  7. 6. 输入第一个可用的扇区编号:按回车键采用默认值2048
  8. 7. 输入最后一个扇区编号。本示例中,仅创建一个分区,按回车键采用默认值。
  9. 8. 输入p:查看该数据盘的规划分区情况。
  10. 9. 输入w:开始分区,并在完成分区后退出。

3. 运行fdisk -lu /dev/vdb命令查看新分区。 如果出现以下信息,表示新分区已创建完成。

  1. [root@ecshost~ ]# fdisk -lu /dev/vdb
  2. Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
  3. Units = sectors of 1 * 512 = 512 bytes
  4. Sector size (logical/physical): 512 bytes / 512 bytes
  5. I/O size (minimum/optimal): 512 bytes / 512 bytes
  6. Disk label type: dos
  7. Disk identifier: 0x3e60020e
  8. Device Boot Start End Blocks Id System
  9. /dev/vdb1 2048 41943039 20970496 83 Linux

4. 运行mkfs.ext4 /dev/vdb1命令在新分区上创建一个文件系统。

本示例中,创建一个ext4文件系统。您也可以根据自己的需要,选择创建其他文件系统。例如:如果您需要在 Linux、Windows和Mac系统之间共享文件,可以运行mkfs.vfat命令创建VFAT文件系统。

创建文件系统所需时间取决于数据盘大小。

  1. [root@ecshost~ ]# mkfs.ext4 /dev/vdb1
  2. mke2fs 1.42.9 (28-Dec-2013)
  3. Filesystem label=
  4. OS type: Linux
  5. Block size=4096 (log=2)
  6. Fragment size=4096 (log=2)
  7. Stride=0 blocks, Stripe width=0 blocks
  8. 1310720 inodes, 5242624 blocks
  9. 262131 blocks (5.00%) reserved for the super user
  10. First data block=0
  11. Maximum filesystem blocks=2153775104
  12. 160 block groups
  13. 32768 blocks per group, 32768 fragments per group
  14. 8192 inodes per group
  15. Superblock backups stored on blocks:
  16. 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
  17. 4096000
  18. Allocating group tables: done
  19. Writing inode tables: done
  20. Creating journal (32768 blocks): done
  21. Writing superblocks and filesystem accounting information: done

5. 运行cp /etc/fstab /etc/fstab.bak命令备份etc/fstab文件。

6. 运行echo /dev/vdb1 /mnt ext4 defaults 0 0 >> /etc/fstab命令向/etc/fstab写入新分区信息。

[scode type=”yellow”]如要把数据盘单独挂载到某个文件夹,例如单独用来存放网页,则将命令中/mnt替换成所需的挂载点路径。[/scode]

[scode type=”yellow”]Ubuntu 12.04系统不支持barrier,您需要运行echo '/dev/vdb1 /mnt ext4 barrier=0 0 0' >> /etc/fstab命令。[/scode]

7. 运行cat /etc/fstab命令查看/etc/fstab中的新分区信息。

  1. ```
  2. [root@ecshost~ ]# cat /etc/fstab
  3. #
  4. # /etc/fstab
  5. # Created by anaconda on Wed Dec 12 07:53:08 2018
  6. #
  7. # Accessible filesystems, by reference, are maintained under '/dev/disk'
  8. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
  9. #
  10. UUID=d67c3b17-255b-4687-be04-f29190d37396 / ext4 defaults 1 1
  11. /dev/vdb1 /mnt ext4 defaults 0 0
  1. <a name="4c904d89"></a>
  2. ### 8. 运行`mount /dev/vdb1 /mnt`命令挂载文件系统。
  3. <a name="8eabf3ac"></a>
  4. ### 9. 运行`df -h`命令查看目前磁盘空间和使用情况。
  5. 如果出现新建文件系统的信息,表示挂载成功,您不需要重启实例即可以使用新的文件系统。
[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

```