操作场景
本文以物理机的操作系统为“CentOS 7.6 64位”为例,采用fdisk分区工具为数据盘设置分区。
说明物理机的不同操作系统的格式化操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。
前提条件
- 已登录物理机。
- 挂载至物理机的云盘数据盘或者物理机的本地数据盘还没有被初始化。
划分分区并挂载磁盘
本操作以该场景为例,当物理机挂载了一块新的数据盘时,使用fdisk分区工具将该数据盘设为主分区,分区形式默认设置为MBR,文件系统设为ext4格式,挂载在“/mnt/sdc”下,并设置开机启动自动挂载。
操作步骤
- 执行以下命令,查看新增数据盘。
fdisk -l
回显类似如下信息:
[root@test-sharedDisk ~]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 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: gpt
Disk identifier: 942EF8CC-BD4F-4346-9713-78E8EB355090
# Start End Size Type Name
1 2097152 4194303 1G BIOS boot primary
2 4194304 10485759 3G Linux filesyste primary
3 10485760 20971519 5G Linux filesyste primary
4 20971520 188743679 80G Linux filesyste primary
5 188743680 209713151 10G Linux filesyste primary
Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 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
表示当前的服务器有两块磁盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘。
- 执行以下命令,进入fdisk分区工具,开始对新增数据盘执行分区操作。
fdisk 新增数据盘
以新挂载的数据盘“/dev/vdb”为例:
fdisk /dev/vdb
回显类似如下信息:
[root@test-sharedDisk ~]# fdisk /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 0x59ac6ad9.
Command (m for help):
- 输入“n”,按“Enter”,开始新建分区。
回显类似如下信息:
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
表示磁盘有两种分区类型:
- “p”表示主要分区。
- “e”表示延伸分区。
- 以创建一个主要分区为例,输入“p”,按“Enter”,开始创建一个主分区。
回显类似如下信息:
Select (default p): p
Partition number (1-4, default 1): 1
“Partition number”表示主分区编号,可以选择1-4。
- 以分区编号选择“1”为例,输入主分区编号“1”,按“Enter”。
回显类似如下信息:
Partition number (1-4, default 1): 1
First sector (2048-62914559, default 2048):
“First sector”表示初始磁柱区域,可以选择2048-62914559,默认为2048。
- 以选择默认初始磁柱编号2048为例,按“Enter”。
回显类似如下信息:
First sector (2048-62914559, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559):
“Last sector”表示截止磁柱区域,可以选择2048-62914559,默认为62914559。
- 以选择默认截止磁柱编号62914559为例,按“Enter”。
回显类似如下信息:
Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559):
Using default value 62914559
Partition 1 of type Linux and of size 30 GiB is set
Command (m for help): p
表示分区完成,即为10GB的数据盘新建了1个分区。
- 输入“p”,按“Enter”,查看新建分区的详细信息。
回显类似如下信息:
Command (m for help): p
Disk /dev/vdb: 32.2 GB, 32212254720 bytes, 62914560 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: 0x2c6e939c
Device Boot Start End Blocks Id System
/dev/vdb1 2048 62914559 31456256 83 Linux
Command (m for help): w
表示新建分区“/dev/vdb1”的详细信息。
- 输入“w”,按“Enter”,将分区结果写入分区表中。
回显类似如下信息:。
Command (m for help): w
The partition table has been altered!
Calling ioctl() [ 2244.854718] vdb: vdb1
to re-read partition table.
Syncing disks.
[ 2244.860481] vdb: vdb1
表示分区创建完成。
说明如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。
- 执行以下命令,将新的分区表变更同步至操作系统。
Partprobe
- 执行以下命令,将新建分区文件系统设为系统所需格式。
mkfs -t 文件系统格式 /dev/vdb1
以设置文件系统为“ext4”为例:
mkfs -t ext4 /dev/vdb1
回显类似如下信息:
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 blocks
1966080 inodes, 7864064 blocks
393203 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2155872256
240 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
格式化需要等待一段时间,请观察系统运行状态,不要退出。
说明不同文件系统支持的分区大小不同,请根据您的业务需求选择合适的文件系统。
- 执行以下命令,新建挂载点。
mkdir 挂载点
以新建挂载点“/mnt/sdc”为例:
mkdir /mnt/sdc
- 执行以下命令,将新建分区挂载到12中新建的挂载点下。
mount /dev/vdb1 挂载点
以挂载新建分区至“/mnt/sdc”为例:
mount /dev/vdb1 /mnt/sdc
[root@test-sharedDisk ~]# mount /dev/vdb1 /mnt/sdc
[ 3118.784219] EXT4-fs (vdb1): mounted filesystem with ordered data mode. Opts: (null)
- 执行以下命令,查看挂载结果。
df -TH
回显类似如下信息:
表示新建分区“/dev/vdb1”已挂载至“/mnt/sdc”。
设置开机自动挂载磁盘
操作场景
如果您需要在服务器系统启动时自动挂载磁盘,不能采用在/etc/fstab直接指定 /dev/vdb1的方法,因为云中设备的顺序编码在关闭或者开启服务器过程中可能发生改变,例如/dev/vdb可能会变成/dev/vdc。推荐使用UUID来配置自动挂载数据盘。
说明磁盘的UUID(Universally Unique Identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。
操作步骤
- 执行如下命令,查询磁盘分区的UUID。
blkid 磁盘分区
以查询磁盘分区“/dev/vdb1”的UUID为例:
blkid /dev/vdb1
回显类似如下信息:
[root@test-sharedDisk ~]# blkid /dev/vdb1
/dev/vdb1: UUID="8f42fd24-1731-4016-8058-19795c3153c8" TYPE="ext4"
- 执行以下命令,使用vi编辑器打开“fstab”文件。
vi /etc/fstab
- 按“i”,进入编辑模式。
- 将光标移至文件末尾,按“Enter”,添加如下内容:UUID=8f42fd24-1731-4016-8058-19795c3153c8 /mnt/sdc ext4 defaults 0 2
UUID=3C27-7C31 /boot/efi vfat defaults 0 0
UUID=d257ff0f-c5e1-4d90-af3a-de94720d90fe /boot ext2 defaults 0 0
UUID=9136110f-0c77-4174-9870-e8243dbe2662 / xfs defaults 0 1
UUID=8f42fd24-1731-4016-8058-19795c3153c8 /mnt/sdc ext4 defaults 0 2
5.按“ESC”后,输入:wq,按“Enter”保存设置并退出编辑器。